From d8971b43082e4b43dcc9618de83a8871b07bde97 Mon Sep 17 00:00:00 2001 From: PLWpl Date: Sun, 2 May 2021 16:23:44 +0200 Subject: [PATCH 1/8] fix #91, #92 --- src/modules/removePostedViaApp.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/modules/removePostedViaApp.js b/src/modules/removePostedViaApp.js index 56a0003..8150650 100644 --- a/src/modules/removePostedViaApp.js +++ b/src/modules/removePostedViaApp.js @@ -20,7 +20,10 @@ export const removePostedViaApp = () => { const handleRemoval = () => { $$(`.${DOM.BADGE.CLASSNAME.NICK_ELEMENT}`).forEach(el => { // tests show that using style.display = 'none' is significantly (around 3 times) faster than remove(). - el.querySelector('a + small').style.display = 'none'; + const postedViaAppElement = el.querySelector('a + small'); + if (postedViaAppElement) { + postedViaAppElement.style.display = 'none'; + } }); } From 1f6cd0b365675b39a65eeb0eda5adb92ec8f7508 Mon Sep 17 00:00:00 2001 From: PLWpl Date: Sun, 2 May 2021 20:30:55 +0200 Subject: [PATCH 2/8] fix for #93 --- dist/whhelper-dev.user.js | 126 +++++++++++++++++++-------------- dist/whhelper.user.js | 4 +- package.json | 2 +- src/model/utils/update.js | 14 ++-- src/modules/badges.js | 3 + src/modules/handleBlacklist.js | 35 +++++++-- 6 files changed, 113 insertions(+), 71 deletions(-) diff --git a/dist/whhelper-dev.user.js b/dist/whhelper-dev.user.js index 3d6e1d6..6d87e20 100644 --- a/dist/whhelper-dev.user.js +++ b/dist/whhelper-dev.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name WykopHelper - DEV -// @version 0.70 +// @version 0.71 // @updateURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper-dev.user.js // @downloadURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper-dev.user.js // @description Zestaw narzędzi pomocnych na wykopie. @@ -632,6 +632,69 @@ document.body.insertAdjacentHTML('afterbegin', styleMarkup); }; + /** + * Handles removal of comments of users that are blacklisted. + */ + const handleRemovalOfBlacklisted = () => { + const blacklist = getLocalStorage('blacklist'); + const isBlacklisted = nick => blacklist.includes(nick); + $$(DOM.BADGE.SELECTOR.NICK).forEach(el => { + if (isBlacklisted(el.innerText)) { + if (el.closest(DOM.COMMON.SELECTOR.COMMENT)) { + el.closest(DOM.COMMON.SELECTOR.COMMENT).remove(); + } else if (el.closest(DOM.COMMON.SELECTOR.THREAD)) { + el.closest(DOM.COMMON.SELECTOR.THREAD).remove(); + } + } + }); + }; + + /** + * Function removes provided nick from the blacklist. + * @param {String} nick - nick to remove from blacklist + */ + const removeFromBlackList = nickToRemove => { + const blacklist = getLocalStorage('blacklist'); + const isBlacklisted = nick => blacklist.includes(nick); + + if (isBlacklisted(nickToRemove)) { + const newBlacklist = blacklist.filter(el => el !== nickToRemove); + + localStorage.setItem( + STORAGE_KEY_NAMES.BLACKLIST, + JSON.stringify(newBlacklist) + ); + } + }; + + /** + * Decides how user profile is handled (wykop.pl/ludzie/*) + */ + const handleBlacklistedProfile = () => { + /** nick from location.path */ + const nick = location.pathname.split('/')[2]; + const blacklist = getLocalStorage('blacklist'); + const isBlacklisted = nick => blacklist.includes(nick); + + /** + * if nick is blacklisted, make it greyed out, and add a padlock emoji + */ + if (isBlacklisted(nick)) { + $(`${DOM.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter = 'grayscale(65%)'; + // eslint-disable-next-line max-len + $(DOM.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML('beforeend', `🔐`); + } + + /** + * If user clicks on the padlock, remove user from blacklist + */ + document.addEventListener('click', event => { + if (event.target.id === DOM.BADGE.ID.PROFILE_BLACKLISTED) { + removeFromBlackList(nick); + } + }); + }; + const { BADGE: EL } = DOM; const handleBadges = () => { @@ -845,6 +908,8 @@ JSON.stringify(unique) ); + removeFromBlackList(nick); + setTimeout(() => { updateView(); }, 780); @@ -1033,46 +1098,6 @@ } }; - /** - * Handles removal of comments of users that are blacklisted. - */ - const handleRemovalOfBlacklisted = () => { - const blacklist = getLocalStorage('blacklist'); - const isBlacklisted = nick => blacklist.includes(nick); - $$(DOM.BADGE.SELECTOR.NICK).forEach(el => { - if (isBlacklisted(el.innerText)) { - if (el.closest(DOM.COMMON.SELECTOR.COMMENT)) { - el.closest(DOM.COMMON.SELECTOR.COMMENT).remove(); - } else if (el.closest(DOM.COMMON.SELECTOR.THREAD)) { - el.closest(DOM.COMMON.SELECTOR.THREAD).remove(); - } - } - }); - }; - - const handleBlacklistedProfile = () => { - const nick = location.pathname.split('/')[2]; - const blacklist = getLocalStorage('blacklist'); - const isBlacklisted = nick => blacklist.includes(nick); - - if (isBlacklisted(nick)) { - $(`${DOM.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter = 'grayscale(65%)'; - // eslint-disable-next-line max-len - $(DOM.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML('beforeend', `🔐`); - } - - document.addEventListener('click', event => { - if (event.target.id === DOM.BADGE.ID.PROFILE_BLACKLISTED) { - const newBlacklist = blacklist.filter(el => el !== nick); - localStorage.setItem( - STORAGE_KEY_NAMES.BLACKLIST, - JSON.stringify(newBlacklist) - ); - location.reload(); - } - }); - }; - const { BADGE: EL$1 } = DOM; let uniqueNicksSet = getLocalStorage("unique"); @@ -1741,20 +1766,14 @@ /* eslint max-len: 0 */ const changesArray = [ - 'W ustawieniach mo\u017Cna wybra\u0107 domy\u015Blny kolor odznaki, kt\xF3ry b\u0119dzie nadawany ka\u017Cdemu nowemu oznaczonemu.', - '...Ale kolor ten mo\u017Cna zmieni\u0107 dla ka\u017Cdego z osobna - w popupie aktywowanym klikni\u0119ciem w odznak\u0119 przy danym userze.', - 'Dodatkowo, w popupie usera mo\u017Cna zadecydowa\u0107 o wrzuceniu usera na super czarn\u0105 list\u0119. Ale ostro\u017Cnie - po zczarnolistowaniu, posty danego u\u017Cytkownika b\u0119d\u0105 ca\u0142kowicie usuwane, a nie tylko chowane jak w wykopowej czarnej li\u015Bcie. P\xF3\u017Aniej - aby u\u017Cytkownikowi wybaczy\u0107, i z czarnej listy go zdj\u0105\u0107 - nale\u017Cy uda\u0107 si\u0119 do jego profilu (wykop.pl/ludzie/NICK) i klikn\u0105\u0107 na ikon\u0119 k\u0142\xF3dki przy jego nicku. O tym, \u017Ce dany user jest zczarnolistowany, \u015Bwiadczy w jego profilu ta k\u0142\xF3dka, oraz lekko przytumiony nick.', - 'Dodano funkcj\u0119, aktywowan\u0105 w ustawieniach, umo\u017Cliwiaj\u0105c\u0105 usuwanie tekstu "via [nazwa aplikacji]" w komentarzach u\u017Cytkownik\xF3w. Przy d\u0142u\u017Cszych nickach, albo przy stosowaniu innych dodatk\xF3w (np. pokazuj\u0105cych czy dany user wykopa\u0142 czy zakopa\u0142 znalezisko) ta ma\u0142o u\u017Cyteczna informacja o aplikacji jakiej kto\u015B u\u017Cywa potrafi spowodowa\u0107 nachodzenie na siebie r\xF3\u017Cnych tekst\xF3w.', - 'W ustawieniach mo\u017Cna r\xF3wnie\u017C od teraz eksportowa\u0107 i importowa\u0107 swoje ustawienia i listy oznaczonych i czarnolistowanych u\u017Cytkownik\xF3w. Na razie jest to proces raczej r\u0119czny (wymaga kopiowania i przeklejania ci\u0105g\xF3w znak\xF3w mi\u0119dzy przegl\u0105darkami); mo\u017Cliwe, \u017Ce w przysz\u0142o\u015Bci co\u015B tutaj zostanie udoskonalone, chocia\u017C nie ukrywam, \u017Ce wynika to z mojej niech\u0119ci do u\u017Cywania zewn\u0119trznych us\u0142ug - bo wtedy wchodzi\u0142yby w gr\u0119 kwestie prywatno\u015Bci, dost\u0119p\xF3w, \u015Bledzenia i tak dalej i tak dalej... a tego chc\u0119 za wszelk\u0105 cen\u0119 unikn\u0105\u0107.', - 'Od teraz odznaka b\u0119dzie si\u0119 wy\u015Bwietla\u0107 dok\u0142adnie tak, jak to ustawisz w ustawieniach b\u0105d\u017A konkretnemu userowi. Do tej pory wymuszana by\u0142a konwencja rozpoczynania tekstu wielk\u0105 liter\u0105, a reszta ma\u0142ymi - ale ju\u017C nie jest. Je\u015Bli chcesz, mo\u017Cesz nawet pisa\u0107 po pOkEmOnOwEmU :)', - 'Par\u0119 wizualnych zmian (ikony itp.; nic prze\u0142omowego). Redesign ca\u0142o\u015Bci, a zw\u0142aszcza popupu odznaki, wkr\xF3tce - bo powoli robi si\u0119 ma\u0142o estetyczny ba\u0142agan.', - 'Znikn\u0119\u0142o sporo pomniejszych bug\xF3w.', - 'Z pewno\u015Bci\u0105 pojawi\u0142o si\u0119 sporo nowych bug\xF3w :)' + 'Poprawki w funkcjonalno\u015Bci usuwania informacji o postowaniu przez aplikacj\u0119;', + 'Usuni\u0119ty b\u0142\u0105d uniemo\u017Cliwiaj\u0105cy korzystanie z funkcjonalno\u015Bci oznaczania autora w\u0105tku na mikroblogu;', + 'Usuni\u0119ty b\u0142\u0105d kt\xF3ry powodowa\u0142, \u017Ce je\u015Bli X zosta\u0142 dodany na czarn\u0105 list\u0119, a potem zosta\u0142o usuni\u0119te odznaczenie, to zostawa\u0142 na czarnej li\u015Bcie na zawsze.' ]; const listItem = text => `
  • ${text}
  • `; - const version = `0.70`; + const version = `0.71`; const welcomeText = { title: "WykopHelper zainstalowany!", @@ -1989,7 +2008,10 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version const handleRemoval = () => { $$(`.${DOM.BADGE.CLASSNAME.NICK_ELEMENT}`).forEach(el => { // tests show that using style.display = 'none' is significantly (around 3 times) faster than remove(). - el.querySelector('a + small').style.display = 'none'; + const postedViaAppElement = el.querySelector('a + small'); + if (postedViaAppElement) { + postedViaAppElement.style.display = 'none'; + } }); }; diff --git a/dist/whhelper.user.js b/dist/whhelper.user.js index 9a6ba30..80e440e 100644 --- a/dist/whhelper.user.js +++ b/dist/whhelper.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name WykopHelper -// @version 0.70 +// @version 0.71 // @updateURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper.user.js // @downloadURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper.user.js // @description Zestaw narzędzi pomocnych na wykopie. Pełna, niezminifikowana wersja kodu dostępna na githubie - PLWpl/WykopHelper @@ -9,4 +9,4 @@ // @require https://cdn.jsdelivr.net/npm/sweetalert2@10 // @grant none // ==/UserScript== -!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),i=()=>!!(e.indexOf("wykop.pl/link/")>-1),l=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>"[data-whusername='"+e}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1}},N=[],p=[],O=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},u=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(p)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(O)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},I=u("settings").BADGE.DEFAULT_COLOR,M=`Oznacz`,w=``,g=(e,t="debil",n=!0,o=I)=>`${t}`,C=u("settings"),y=(d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`),D=`\n

    Wybierz, jaki typ danych importujesz:

    \n \n
    \n \n
    \n \n
    \n \n`,k=`\n

    Wybierz, co chcesz wyeksportować:

    \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,R=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},{BADGE:h}=d,b=()=>{let e=u("unique"),t=u("marked"),n=u("settings");const o=t=>(e=u("unique"),!!e.includes(t)),a=(a,i,l="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,i,l)=>{t=u("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:i,color:l}];localStorage.setItem(c,JSON.stringify(r))})(a,i,s,l,r,E))},i=()=>E(h.SELECTOR.NICK_ELEMENTS),l=e=>{if(!(s(h.SELECTOR.NICK,e)&&null!==s(h.SELECTOR.NICK,e)||s(h.SELECTOR.NICK_DELETED,e)&&null!==s(h.SELECTOR.NICK_DELETED,e)))throw new Error("getNick didn't work for "+e);return null!==s(h.SELECTOR.NICK,e)?s(h.SELECTOR.NICK,e).innerText:null!==s(h.SELECTOR.NICK_DELETED,e)?s(h.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s("."+h.CLASSNAME.BADGE,e),_=()=>{try{i().forEach(e=>{const t=l(e);if(o(t)&&T(e)){const o=O(t)?O(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,i=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,i))}else(e=>!!s("."+h.CLASSNAME.MARK_BUTTON,e))(e)||e.insertAdjacentHTML("beforeend",M)})}catch(e){}},N=e=>{_();i().forEach(t=>{const n=l(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s("."+h.CLASSNAME.BADGE,t).remove();const e=O(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s("."+h.CLASSNAME.MARK_BUTTON,t)&&!s("."+h.CLASSNAME.MARK_BUTTON_CLICKED,t)&&s("."+h.CLASSNAME.MARK_BUTTON,t).remove(),o(n)||T(t)||s("."+h.CLASSNAME.BADGE,t).remove()}),r()&&setTimeout(()=>{location.reload()},200)},p=(e,t,n)=>{const o=u("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}N(!0)},O=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=u("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=O(o),i=u("blacklist"),l=((e,t)=>{return{title:""+e.nick,content:`\n

    Przyczyna oznaczenia:

    \n

    ${e.content}

    \n ${e.media?(n=e.media,`

    Link do osadzonej treści multimedialnej (obrazek lub film)

    `):""}
    \n

    Link do komentarza lub znaleziska

    \n
    \n \n \n \n
    \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,i.includes(o));Swal.fire({title:l.title,html:l.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:l.button,denyButtonText:l.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then(n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(n))}const o=e.filter(e=>e!==n);localStorage.setItem(A,JSON.stringify(o)),setTimeout(()=>{N()},780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then(()=>{r()&&location.reload()});else if(n.isDenied){const e=s("#"+d.MODAL.ID.BADGE_TEXT).dataset.label,t=s("#"+d.MODAL.ID.BADGE_TEXT).value,n=s("#"+d.MODAL.ID.BADGE_COLOR).dataset.color,a=s("#"+d.MODAL.ID.BADGE_COLOR).value,l=s("#"+d.MODAL.ID.BLACKLIST).dataset.blocked,r=s("#"+d.MODAL.ID.BLACKLIST).checked;if(t!==e&&p(o,"label",t),a!==n&&p(o,"color",a),l!==r){let e;r?(i.push(o),localStorage.setItem(S,JSON.stringify(i))):r||(e=i.filter(e=>e!==o),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}})};R(L.badge),R(L.modal),_(),(()=>{if(document.getElementById(h.ID.VOTES_CONTAINER)){const e=document.getElementById(h.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",w)}})(),document.getElementById("itemsStream").addEventListener("click",e=>{const t=e.target;if(t.classList.contains(h.CLASSNAME.MARK_BUTTON)&&(e=>{const t=l(e.target.closest("."+h.CLASSNAME.NICK_ELEMENT)),n=e.target.closest("."+h.CLASSNAME.NICK_ELEMENT).querySelector(".verified")?e.target.closest("."+h.CLASSNAME.NICK_ELEMENT).querySelector(`.${h.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest("."+h.CLASSNAME.NICK_ELEMENT).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,i=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(h.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,i),setTimeout(()=>{e.target.remove()},700),setTimeout(()=>{N()},780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout(()=>{_()},500),t.classList.contains(h.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(h.DYNAMIC.DATASET.USERNAME(e))}}),r()&&s("."+h.CLASSNAME.USER_PROFILE).addEventListener("click",e=>{const t=e.target;if(t.classList.contains(h.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(h.DYNAMIC.DATASET.USERNAME(e))}}),document.getElementById(h.ID.VOTES_CONTAINER)&&document.getElementById(h.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",e=>{const t=e.target;t.classList.contains(h.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${h.ID.VOTES_CONTAINER} .${h.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach(t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))}),setTimeout(()=>{N()},780)})(),s("."+h.CLASSNAME.MARK_ALL_BUTTON).innerText="Zrobione :)",setTimeout(()=>{s("."+h.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="none",s("."+h.CLASSNAME.MARK_ALL_BUTTON).innerText="Oznacz wszystkich poniżej"},500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s("."+h.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="block")})},z=()=>{const e=u("blacklist");E(d.BADGE.SELECTOR.NICK).forEach(t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())})},{BADGE:B}=d;let f=u("unique");let v=u("settings");const G=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=u("marked");for(let n=0;n{const e=s(U.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(U.SELECTOR.USER_PROFILE_NICK).textContent,n=G(t)?G(t):null,o=n?n.label:v.BADGE.DEFAULT_NAME,a=n?n.color:v.BADGE.DEFAULT_COLOR;var i;(e=>(f=u("unique"),!!f.includes(e)))(t)&&(i=e,!s("."+B.CLASSNAME.BADGE,i))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},x=u("settings"),P=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(x.GENERAL.SUSPECT_DOMAINS||[]).map(e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e]).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
    \n\t\t

    ${e}

    \n\t
    \n`)(x.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s("."+d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO).insertAdjacentHTML("beforebegin",a)};x.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},K=()=>{u("settings").BADGE.HIDE_MARKED_USERS&&E("."+d.BADGE.CLASSNAME.BADGE).forEach(e=>{e.closest(".wblock").innerHTML='

    Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

    '})},{SETTINGS:{CLASSNAME:W,ID:$}}=d,j={settingsMarkup:`\n
    \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

    WykopHelper - Ustawienia

    \n\x3c!-- GENERAL --\x3e\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\x3c!-- BADGE --\x3e\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\x3c!-- Export and import --\x3e\n
    \n
    \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
    \n
    \n\x3c!-- SPECIAL --\x3e\n
    \n
    \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n`,settingsUserTable:`\n
    \n

    WykopHelper - Lista oznaczonych użytkowników

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    no.NickNazwaKolorLinkUsuń
    \n
    \n`,settingsNav:`
  • WykopHelper
  • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,X=()=>{let e=u("settings");const t=u(),n=u("unique"),o=u("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),i=()=>{Swal.fire({html:D,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then(e=>{if(e.isConfirmed){const e=s("#"+V.ID.IMPORT_TEXTAREA).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map(e=>e.nick);return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}})},l=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s("."+V.CLASSNAME.WH_NAV_SETTINGS_LINK).classList.add("active"),a.innerHTML="",a.innerHTML=j.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",j.settingsUserTable),(()=>{const n=s("."+V.CLASSNAME.WH_USER_TABLE_BODY);t.forEach(t=>{n.insertAdjacentHTML("beforeend",j.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))})})(),E("input").forEach(t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])})},r=()=>{a.addEventListener("change",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0}),a.addEventListener("click",t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s("."+V.CLASSNAME.WH_USER_TABLE_CONTAINER).classList.toggle(V.CLASSNAME.WH_USER_TABLE_CONTAINER+"--hidden"),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=j.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=j.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then(t=>{if(t.isConfirmed){let t=s("#"+V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}}),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:j.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

    Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),i()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:k,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then(e=>{e.isConfirmed&&(s("#"+V.ID.EXPORT_TEXTAREA).select(),document.execCommand("copy"))}))},{passive:!1}),document.addEventListener("click",n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(o))},{passive:!0}),a.addEventListener("keyup",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0})};R(L.settings),R(L.modal),l(),r(),s("."+d.SETTINGS.CLASSNAME.WH_USER_TABLE).addEventListener("click",e=>{const o=e.target;o.classList.contains(""+d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}const o=n.filter(t=>t!==e);localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())})},F="WykopHelper zainstalowany!",J='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',q="Super!",Y={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.70. Wprowadzone zmiany to:
    \n

      \n ${["W ustawieniach można wybrać domyślny kolor odznaki, który będzie nadawany każdemu nowemu oznaczonemu.","...Ale kolor ten można zmienić dla każdego z osobna - w popupie aktywowanym kliknięciem w odznakę przy danym userze.","Dodatkowo, w popupie usera można zadecydować o wrzuceniu usera na super czarną listę. Ale ostrożnie - po zczarnolistowaniu, posty danego użytkownika będą całkowicie usuwane, a nie tylko chowane jak w wykopowej czarnej liście. Później - aby użytkownikowi wybaczyć, i z czarnej listy go zdjąć - należy udać się do jego profilu (wykop.pl/ludzie/NICK) i kliknąć na ikonę kłódki przy jego nicku. O tym, że dany user jest zczarnolistowany, świadczy w jego profilu ta kłódka, oraz lekko przytumiony nick.",'Dodano funkcję, aktywowaną w ustawieniach, umożliwiającą usuwanie tekstu "via [nazwa aplikacji]" w komentarzach użytkowników. Przy dłuższych nickach, albo przy stosowaniu innych dodatków (np. pokazujących czy dany user wykopał czy zakopał znalezisko) ta mało użyteczna informacja o aplikacji jakiej ktoś używa potrafi spowodować nachodzenie na siebie różnych tekstów.',"W ustawieniach można również od teraz eksportować i importować swoje ustawienia i listy oznaczonych i czarnolistowanych użytkowników. Na razie jest to proces raczej ręczny (wymaga kopiowania i przeklejania ciągów znaków między przeglądarkami); możliwe, że w przyszłości coś tutaj zostanie udoskonalone, chociaż nie ukrywam, że wynika to z mojej niechęci do używania zewnętrznych usług - bo wtedy wchodziłyby w grę kwestie prywatności, dostępów, śledzenia i tak dalej i tak dalej... a tego chcę za wszelką cenę uniknąć.","Od teraz odznaka będzie się wyświetlać dokładnie tak, jak to ustawisz w ustawieniach bądź konkretnemu userowi. Do tej pory wymuszana była konwencja rozpoczynania tekstu wielką literą, a reszta małymi - ale już nie jest. Jeśli chcesz, możesz nawet pisać po pOkEmOnOwEmU :)","Parę wizualnych zmian (ikony itp.; nic przełomowego). Redesign całości, a zwłaszcza popupu odznaki, wkrótce - bo powoli robi się mało estetyczny bałagan.","Zniknęło sporo pomniejszych bugów.","Z pewnością pojawiło się sporo nowych bugów :)"].map(e=>{return t=e,`
    • ${t}
    • `;var t}).join("")}\n
    \n`,button:"Okej!"},Z=`Pokaż OPa`,{BADGE:Q}=d,ee=()=>{u("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",e=>{(()=>{const e=s(Q.SELECTOR.REPLY_FORM),t=s(Q.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")})},te=()=>{u("settings").GENERAL.REMOVE_WOODLE&&(s("."+d.COMMON.CLASSNAME.WOODLE).style.display="none")},ne=()=>{const e=u("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach(e=>{n.push(e.textContent.replace("#",""))}));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()};t.length>0&&a()},oe=()=>{u("settings").GENERAL.REMOVE_ALL_COMMENTS&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()},ae=()=>{u("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E("."+d.BADGE.CLASSNAME.NICK_ELEMENT).forEach(e=>{e.querySelector("a + small").style.display="none"})};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},R(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")<"0.70"?(Swal.fire({title:Y.title,html:Y.content,showCloseButton:!0,icon:"info",iconHtml:'',width:"80%",confirmButtonText:Y.button}),localStorage.setItem("WHupdate","0.70"),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:F,html:J,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:q}),localStorage.setItem("WHupdate","0.70")),m(),t()&&te(),n()&&(b(),z(),ee(),document.addEventListener("paste",e=>{if(s("."+d.EMBED.CLASSNAME.EMBED_FILE)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}},{passive:!0}),K(),ae()),r()&&(H(),(()=>{const e=location.pathname.split("/")[2],t=u("blacklist");(e=>t.includes(e))(e)&&(s(d.BADGE.SELECTOR.USER_PROFILE_NICK+":not(:first-child)").style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",n=>{if(n.target.id===d.BADGE.ID.PROFILE_BLACKLISTED){const n=t.filter(t=>t!==e);localStorage.setItem(S,JSON.stringify(n)),location.reload()}})})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",j.settingsNav),a()&&X(),i()&&(P(),ne(),oe()),l()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",Z),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).addEventListener("click",()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E("."+d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS).forEach(t=>{t.style.backgroundColor=e}),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).remove()}))}(); +!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>"[data-whusername='"+e}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings"),R=(d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`),w=`\n

    Wybierz, jaki typ danych importujesz:

    \n \n
    \n \n
    \n \n
    \n \n`,y=`\n

    Wybierz, co chcesz wyeksportować:

    \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach(t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())})},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter(t=>t!==e);localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error("getNick didn't work for "+e);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s("."+B.CLASSNAME.BADGE,e),_=()=>{try{l().forEach(e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s("."+B.CLASSNAME.MARK_BUTTON,e))(e)||e.insertAdjacentHTML("beforeend",u)})}catch(e){}},N=e=>{_();l().forEach(t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s("."+B.CLASSNAME.BADGE,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s("."+B.CLASSNAME.MARK_BUTTON,t)&&!s("."+B.CLASSNAME.MARK_BUTTON_CLICKED,t)&&s("."+B.CLASSNAME.MARK_BUTTON,t).remove(),o(n)||T(t)||s("."+B.CLASSNAME.BADGE,t).remove()}),r()&&setTimeout(()=>{location.reload()},200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:""+e.nick,content:`\n

    Przyczyna oznaczenia:

    \n

    ${e.content}

    \n ${e.media?(n=e.media,`

    Link do osadzonej treści multimedialnej (obrazek lub film)

    `):""}
    \n

    Link do komentarza lub znaleziska

    \n
    \n \n \n \n
    \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then(n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(n))}const o=e.filter(e=>e!==n);localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout(()=>{N()},780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then(()=>{r()&&location.reload()});else if(n.isDenied){const e=s("#"+d.MODAL.ID.BADGE_TEXT).dataset.label,t=s("#"+d.MODAL.ID.BADGE_TEXT).value,n=s("#"+d.MODAL.ID.BADGE_COLOR).dataset.color,a=s("#"+d.MODAL.ID.BADGE_COLOR).value,i=s("#"+d.MODAL.ID.BLACKLIST).dataset.blocked,r=s("#"+d.MODAL.ID.BLACKLIST).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter(e=>e!==o),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}})};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest("."+B.CLASSNAME.NICK_ELEMENT)),n=e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(".verified")?e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout(()=>{e.target.remove()},700),setTimeout(()=>{N()},780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout(()=>{_()},500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),r()&&s("."+B.CLASSNAME.USER_PROFILE).addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach(t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))}),setTimeout(()=>{N()},780)})(),s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Zrobione :)",setTimeout(()=>{s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="none",s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Oznacz wszystkich poniżej"},500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="block")})},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s("."+z.CLASSNAME.BADGE,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},P=I("settings"),K=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(P.GENERAL.SUSPECT_DOMAINS||[]).map(e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e]).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
    \n\t\t

    ${e}

    \n\t
    \n`)(P.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s("."+d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO).insertAdjacentHTML("beforebegin",a)};P.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},W=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E("."+d.BADGE.CLASSNAME.BADGE).forEach(e=>{e.closest(".wblock").innerHTML='

    Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

    '})},{SETTINGS:{CLASSNAME:$,ID:j}}=d,X={settingsMarkup:`\n
    \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

    WykopHelper - Ustawienia

    \n\x3c!-- GENERAL --\x3e\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\x3c!-- BADGE --\x3e\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\x3c!-- Export and import --\x3e\n
    \n
    \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
    \n
    \n\x3c!-- SPECIAL --\x3e\n
    \n
    \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n`,settingsUserTable:`\n
    \n

    WykopHelper - Lista oznaczonych użytkowników

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    no.NickNazwaKolorLinkUsuń
    \n
    \n`,settingsNav:`
  • WykopHelper
  • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then(e=>{if(e.isConfirmed){const e=s("#"+V.ID.IMPORT_TEXTAREA).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map(e=>e.nick);return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}})},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s("."+V.CLASSNAME.WH_NAV_SETTINGS_LINK).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s("."+V.CLASSNAME.WH_USER_TABLE_BODY);t.forEach(t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))})})(),E("input").forEach(t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])})},r=()=>{a.addEventListener("change",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0}),a.addEventListener("click",t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s("."+V.CLASSNAME.WH_USER_TABLE_CONTAINER).classList.toggle(V.CLASSNAME.WH_USER_TABLE_CONTAINER+"--hidden"),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then(t=>{if(t.isConfirmed){let t=s("#"+V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}}),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

    Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then(e=>{e.isConfirmed&&(s("#"+V.ID.EXPORT_TEXTAREA).select(),document.execCommand("copy"))}))},{passive:!1}),document.addEventListener("click",n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(o))},{passive:!0}),a.addEventListener("keyup",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0})};h(L.settings),h(L.modal),i(),r(),s("."+d.SETTINGS.CLASSNAME.WH_USER_TABLE).addEventListener("click",e=>{const o=e.target;o.classList.contains(""+d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}const o=n.filter(t=>t!==e);localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())})},J="WykopHelper zainstalowany!",q='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',Y="Super!",Z={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.71. Wprowadzone zmiany to:
    \n

      \n ${["Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map(e=>{return t=e,`
    • ${t}
    • `;var t}).join("")}\n
    \n`,button:"Okej!"},Q=`Pokaż OPa`,{BADGE:ee}=d,te=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",e=>{(()=>{const e=s(ee.SELECTOR.REPLY_FORM),t=s(ee.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")})},ne=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s("."+d.COMMON.CLASSNAME.WOODLE).style.display="none")},oe=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach(e=>{n.push(e.textContent.replace("#",""))}));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()};t.length>0&&a()},ae=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()},le=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E("."+d.BADGE.CLASSNAME.NICK_ELEMENT).forEach(e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")})};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")<"0.71"?(Swal.fire({title:Z.title,html:Z.content,showCloseButton:!0,icon:"info",iconHtml:'',width:"80%",confirmButtonText:Z.button}),localStorage.setItem("WHupdate","0.71"),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:J,html:q,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:Y}),localStorage.setItem("WHupdate","0.71")),m(),t()&&ne(),n()&&(f(),b(),te(),document.addEventListener("paste",e=>{if(s("."+d.EMBED.CLASSNAME.EMBED_FILE)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}},{passive:!0}),W(),le()),r()&&(x(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(d.BADGE.SELECTOR.USER_PROFILE_NICK+":not(:first-child)").style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)})})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(K(),oe(),ae()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",Q),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).addEventListener("click",()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E("."+d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS).forEach(t=>{t.style.backgroundColor=e}),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).remove()}))}(); diff --git a/package.json b/package.json index fb879e1..d7c40f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wykop-helper", - "version": "0.70", + "version": "0.71", "description": "", "main": "index.js", "scripts": { diff --git a/src/model/utils/update.js b/src/model/utils/update.js index 89c0558..03d3f2c 100644 --- a/src/model/utils/update.js +++ b/src/model/utils/update.js @@ -2,20 +2,14 @@ import DOM from "../../constants/domSelectors"; /* eslint max-len: 0 */ const changesArray = [ - 'W ustawieniach można wybrać domyślny kolor odznaki, który będzie nadawany każdemu nowemu oznaczonemu.', - '...Ale kolor ten można zmienić dla każdego z osobna - w popupie aktywowanym kliknięciem w odznakę przy danym userze.', - 'Dodatkowo, w popupie usera można zadecydować o wrzuceniu usera na super czarną listę. Ale ostrożnie - po zczarnolistowaniu, posty danego użytkownika będą całkowicie usuwane, a nie tylko chowane jak w wykopowej czarnej liście. Później - aby użytkownikowi wybaczyć, i z czarnej listy go zdjąć - należy udać się do jego profilu (wykop.pl/ludzie/NICK) i kliknąć na ikonę kłódki przy jego nicku. O tym, że dany user jest zczarnolistowany, świadczy w jego profilu ta kłódka, oraz lekko przytumiony nick.', - 'Dodano funkcję, aktywowaną w ustawieniach, umożliwiającą usuwanie tekstu "via [nazwa aplikacji]" w komentarzach użytkowników. Przy dłuższych nickach, albo przy stosowaniu innych dodatków (np. pokazujących czy dany user wykopał czy zakopał znalezisko) ta mało użyteczna informacja o aplikacji jakiej ktoś używa potrafi spowodować nachodzenie na siebie różnych tekstów.', - 'W ustawieniach można również od teraz eksportować i importować swoje ustawienia i listy oznaczonych i czarnolistowanych użytkowników. Na razie jest to proces raczej ręczny (wymaga kopiowania i przeklejania ciągów znaków między przeglądarkami); możliwe, że w przyszłości coś tutaj zostanie udoskonalone, chociaż nie ukrywam, że wynika to z mojej niechęci do używania zewnętrznych usług - bo wtedy wchodziłyby w grę kwestie prywatności, dostępów, śledzenia i tak dalej i tak dalej... a tego chcę za wszelką cenę uniknąć.', - 'Od teraz odznaka będzie się wyświetlać dokładnie tak, jak to ustawisz w ustawieniach bądź konkretnemu userowi. Do tej pory wymuszana była konwencja rozpoczynania tekstu wielką literą, a reszta małymi - ale już nie jest. Jeśli chcesz, możesz nawet pisać po pOkEmOnOwEmU :)', - 'Parę wizualnych zmian (ikony itp.; nic przełomowego). Redesign całości, a zwłaszcza popupu odznaki, wkrótce - bo powoli robi się mało estetyczny bałagan.', - 'Zniknęło sporo pomniejszych bugów.', - 'Z pewnością pojawiło się sporo nowych bugów :)' + 'Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;', + 'Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;', + 'Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze.' ]; const listItem = text => `
  • ${text}
  • `; -export const version = `0.70`; +export const version = `0.71`; export const welcomeText = { title: "WykopHelper zainstalowany!", diff --git a/src/modules/badges.js b/src/modules/badges.js index 8df8b21..daa80a0 100644 --- a/src/modules/badges.js +++ b/src/modules/badges.js @@ -8,6 +8,7 @@ import { buttonMarkup, badge, markedInBulk, buttonBulkMarkup } from "../model/mo import { badgeUserModal } from "../model/utils/modals"; import { injectStyles } from "../utils/inject"; import { getLocalStorage } from "../utils/handleLocalStorage"; +import { removeFromBlackList } from "./handleBlacklist"; const { BADGE: EL } = DOM; @@ -222,6 +223,8 @@ export const handleBadges = () => { JSON.stringify(unique) ); + removeFromBlackList(nick); + setTimeout(() => { updateView(); }, 780); diff --git a/src/modules/handleBlacklist.js b/src/modules/handleBlacklist.js index 3e49503..a100ee8 100644 --- a/src/modules/handleBlacklist.js +++ b/src/modules/handleBlacklist.js @@ -20,25 +20,48 @@ export const handleRemovalOfBlacklisted = () => { }) } +/** + * Function removes provided nick from the blacklist. + * @param {String} nick - nick to remove from blacklist + */ +export const removeFromBlackList = nickToRemove => { + const blacklist = getLocalStorage('blacklist'); + const isBlacklisted = nick => blacklist.includes(nick); + + if (isBlacklisted(nickToRemove)) { + const newBlacklist = blacklist.filter(el => el !== nickToRemove); + + localStorage.setItem( + STORAGE_KEY_NAMES.BLACKLIST, + JSON.stringify(newBlacklist) + ); + } +} + +/** + * Decides how user profile is handled (wykop.pl/ludzie/*) + */ export const handleBlacklistedProfile = () => { + /** nick from location.path */ const nick = location.pathname.split('/')[2]; const blacklist = getLocalStorage('blacklist'); const isBlacklisted = nick => blacklist.includes(nick); + /** + * if nick is blacklisted, make it greyed out, and add a padlock emoji + */ if (isBlacklisted(nick)) { $(`${DOM.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter = 'grayscale(65%)'; // eslint-disable-next-line max-len $(DOM.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML('beforeend', `🔐`); } + /** + * If user clicks on the padlock, remove user from blacklist + */ document.addEventListener('click', event => { if (event.target.id === DOM.BADGE.ID.PROFILE_BLACKLISTED) { - const newBlacklist = blacklist.filter(el => el !== nick); - localStorage.setItem( - STORAGE_KEY_NAMES.BLACKLIST, - JSON.stringify(newBlacklist) - ); - location.reload(); + removeFromBlackList(nick); } }); } \ No newline at end of file From e117d5403f8d26615d03af90e555d05a1d2422f0 Mon Sep 17 00:00:00 2001 From: PLWpl Date: Tue, 4 May 2021 21:57:29 +0200 Subject: [PATCH 3/8] Module for fixing YT --- dist/whhelper-dev.user.js | 250 +++++++++++++++++----------- dist/whhelper.user.js | 2 +- src/constants/domSelectors.js | 1 + src/index.js | 2 + src/model/modules/settings.model.js | 10 ++ src/modules/fixYoutubeLinks.js | 45 +++++ src/modules/settings.js | 1 + src/utils/handleLocalStorage.js | 1 + 8 files changed, 214 insertions(+), 98 deletions(-) create mode 100644 src/modules/fixYoutubeLinks.js diff --git a/dist/whhelper-dev.user.js b/dist/whhelper-dev.user.js index 6d87e20..01fb5fb 100644 --- a/dist/whhelper-dev.user.js +++ b/dist/whhelper-dev.user.js @@ -64,6 +64,7 @@ CLASSNAME: { // wykop.pl elements WOODLE: 'woodle', + YT_EMBED: 'embed-youtube', // custom WH elements BUTTON: 'buttonWH', }, @@ -208,7 +209,7 @@ }, }; - const badge = ` + const badge$1 = ` .${DOM.BADGE.CLASSNAME.MARK_BUTTON} { display: inline-block; padding: .2rem .2rem; @@ -294,7 +295,7 @@ } `; - const settings = ` + const settings$4 = ` .${DOM.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} { padding: 1rem; } @@ -396,8 +397,8 @@ } `; const styles = { - badge, - settings, + badge: badge$1, + settings: settings$4, modal }; @@ -461,6 +462,7 @@ REMOVE_COMMENTS: '', REMOVE_ALL_COMMENTS: false, REMOVE_POSTED_VIA_APP: false, + FIX_YOUTUBE: false, }, }; const initialUnique = []; @@ -521,9 +523,9 @@ } }; - const settings$1 = getLocalStorage('settings'); + const settings$3 = getLocalStorage('settings'); - const defaultColor = settings$1.BADGE.DEFAULT_COLOR; + const defaultColor = settings$3.BADGE.DEFAULT_COLOR; const buttonMarkup = `Oznacz`; const buttonBulkMarkup = ``; @@ -534,7 +536,7 @@ * @param {string} [label=debil] - what will be displayed as a badge * @param {boolean} [clickable=true] - if badge should be styled with cursor:pointer */ - const badge$1 = (nick, label = 'debil', clickable = true, color = defaultColor) => `${label}`; + const badge = (nick, label = 'debil', clickable = true, color = defaultColor) => `${label}`; /** * @@ -547,7 +549,7 @@ const settings$2 = getLocalStorage('settings'); /* eslint max-len: 0 */ - const russianPropagandaModal = ` +`

    Strony oznaczone jako potencjalnie szerzące rosyjską propagandę na wykopie zostały wyznaczone na podstawie następujących źródeł:

    • Raport "The Weaponization of Culture: Kremlin's traditional agenda and the export of values to Central Europe" [PDF]
    • @@ -695,7 +697,7 @@ }); }; - const { BADGE: EL } = DOM; + const { BADGE: EL$4 } = DOM; const handleBadges = () => { /** @@ -746,19 +748,19 @@ }; // function returns a nodeList with all
      elements containing line with nick, time since comment made, [+][-] - const getAllNickElements = () => $$(EL.SELECTOR.NICK_ELEMENTS); + const getAllNickElements = () => $$(EL$4.SELECTOR.NICK_ELEMENTS); //used on element - preferably one returned from getAllNickElements() - returns string with nick name. const getNick = el => { if ( - (!$(EL.SELECTOR.NICK, el) || $(EL.SELECTOR.NICK, el) === null) && - (!$(EL.SELECTOR.NICK_DELETED, el) || $(EL.SELECTOR.NICK_DELETED, el) === null)) { + (!$(EL$4.SELECTOR.NICK, el) || $(EL$4.SELECTOR.NICK, el) === null) && + (!$(EL$4.SELECTOR.NICK_DELETED, el) || $(EL$4.SELECTOR.NICK_DELETED, el) === null)) { throw new Error(`getNick didn't work for ${el}`); } - if ($(EL.SELECTOR.NICK, el) !== null) { - return $(EL.SELECTOR.NICK, el).innerText; - } else if ($(EL.SELECTOR.NICK_DELETED, el) !== null) { - return $(EL.SELECTOR.NICK_DELETED, el).innerText; + if ($(EL$4.SELECTOR.NICK, el) !== null) { + return $(EL$4.SELECTOR.NICK, el).innerText; + } else if ($(EL$4.SELECTOR.NICK_DELETED, el) !== null) { + return $(EL$4.SELECTOR.NICK_DELETED, el).innerText; } // @TODO: add something to handle nicks on the right panel, apparently there is different DOM structure there which causes this above to throw error as nullish }; @@ -766,11 +768,11 @@ // const getAllElementsWithNick = nick => $$(`.${EL.CLASSNAME.NICK}[class*="color"][href*="ludzie/${nick}"]`); // used on author element, returned from getAllNickElements(), checks if person has already been marked with a badge - const isNotAwarded = element => !$(`.${EL.CLASSNAME.BADGE}`, element); + const isNotAwarded = element => !$(`.${EL$4.CLASSNAME.BADGE}`, element); // used on author element, returned from getAllNickElements(), checks if person has already been given a button const hasButtonAppended = element => - !!$(`.${EL.CLASSNAME.MARK_BUTTON}`, element); + !!$(`.${EL$4.CLASSNAME.MARK_BUTTON}`, element); const getDefaultBadgeLabelFromSettings = () => settings.BADGE.DEFAULT_NAME; const getDefaultBadgeColorFromSettings = () => settings.BADGE.DEFAULT_COLOR; @@ -786,7 +788,7 @@ const userData = getNickData(nick) ? getNickData(nick) : null; const label = userData ? userData.label : getDefaultBadgeLabelFromSettings(); const color = userData && userData.color ? userData.color : getDefaultBadgeColorFromSettings(); - element.insertAdjacentHTML("afterbegin", badge$1(nick, label, true, color)); + element.insertAdjacentHTML("afterbegin", badge(nick, label, true, color)); } else if (!hasButtonAppended(element)) { element.insertAdjacentHTML("beforeend", buttonMarkup); } @@ -797,8 +799,8 @@ }; const addMarkAllButton = () => { - if (document.getElementById(EL.ID.VOTES_CONTAINER)) { - const nav = document.getElementById(EL.ID.VOTES_CONTAINER).closest('.rbl-block').querySelector('.nav ul + ul'); + if (document.getElementById(EL$4.ID.VOTES_CONTAINER)) { + const nav = document.getElementById(EL$4.ID.VOTES_CONTAINER).closest('.rbl-block').querySelector('.nav ul + ul'); nav ? nav.insertAdjacentHTML("beforeend", buttonBulkMarkup) : ''; } }; @@ -817,25 +819,25 @@ // if user is marked, and there isn't a badge next to his nick, inject it. if (isMarked(nick) && isNotAwarded(element)) { - element.insertAdjacentHTML("afterbegin", badge$1(nick)); + element.insertAdjacentHTML("afterbegin", badge(nick)); } // if user is marked and there already is a badge next to him - update text on the badge if (dataChange && isMarked(nick) && !isNotAwarded(element)) { - $(`.${EL.CLASSNAME.BADGE}`, element).remove(); + $(`.${EL$4.CLASSNAME.BADGE}`, element).remove(); const nickData = getNickData(nick); - element.insertAdjacentHTML("afterbegin", badge$1(nick, nickData.label, true, nickData.color)); + element.insertAdjacentHTML("afterbegin", badge(nick, nickData.label, true, nickData.color)); } // if user is marked - remove button to mark him as it's not needed anymore if ( isMarked(nick) && - $(`.${EL.CLASSNAME.MARK_BUTTON}`, element) && - !$(`.${EL.CLASSNAME.MARK_BUTTON_CLICKED}`, element) + $(`.${EL$4.CLASSNAME.MARK_BUTTON}`, element) && + !$(`.${EL$4.CLASSNAME.MARK_BUTTON_CLICKED}`, element) ) { - $(`.${EL.CLASSNAME.MARK_BUTTON}`, element).remove(); + $(`.${EL$4.CLASSNAME.MARK_BUTTON}`, element).remove(); } // if user isn't marked and there is badge next to him (double negation here, might think on renaming it later on) - remove it if (!isMarked(nick) && !isNotAwarded(element)) { - $(`.${EL.CLASSNAME.BADGE}`, element).remove(); + $(`.${EL$4.CLASSNAME.BADGE}`, element).remove(); } }); @@ -850,19 +852,19 @@ // First, get nick of the author. Then, get link of the offending comment. const addNewMarked = event => { const nick = getNick( - event.target.closest(`.${EL.CLASSNAME.NICK_ELEMENT}`) + event.target.closest(`.${EL$4.CLASSNAME.NICK_ELEMENT}`) ); // verified accounts need be handled slightly differently // event.target = .buttonWH const link = event.target - .closest(`.${EL.CLASSNAME.NICK_ELEMENT}`) + .closest(`.${EL$4.CLASSNAME.NICK_ELEMENT}`) .querySelector(`.verified`) ? event.target - .closest(`.${EL.CLASSNAME.NICK_ELEMENT}`) - .querySelector(`.${EL.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href + .closest(`.${EL$4.CLASSNAME.NICK_ELEMENT}`) + .querySelector(`.${EL$4.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href : event.target - .closest(`.${EL.CLASSNAME.NICK_ELEMENT}`) + .closest(`.${EL$4.CLASSNAME.NICK_ELEMENT}`) .querySelector("a + a").href; const content = event.target @@ -876,7 +878,7 @@ .closest('.wblock') .querySelector('.text .media-content a').href : null; - event.target.classList.add(EL.CLASSNAME.MARK_BUTTON_CLICKED); + event.target.classList.add(EL$4.CLASSNAME.MARK_BUTTON_CLICKED); event.target.innerText = "\u2714"; addNickToArrays(nick, link, content, media); @@ -1017,14 +1019,14 @@ } } updateView(true); - } + } else ; }); }; //Add all users that up/down-voted a thread const markAllWhoVoted = () => { const link = window.location.href; - const userCards = $$(`#${EL.ID.VOTES_CONTAINER} .${EL.CLASSNAME.VOTES_USERCARD}`); + const userCards = $$(`#${EL$4.ID.VOTES_CONTAINER} .${EL$4.CLASSNAME.VOTES_USERCARD}`); let action; if ($('#voters').closest('li').classList.contains('active')) { @@ -1055,7 +1057,7 @@ // on button click, add new marked user document.getElementById("itemsStream").addEventListener("click", event => { const target = event.target; - if (target.classList.contains(EL.CLASSNAME.MARK_BUTTON)) { + if (target.classList.contains(EL$4.CLASSNAME.MARK_BUTTON)) { addNewMarked(event); } if (target.classList.contains("affect") && target.closest(".more")) { @@ -1063,42 +1065,42 @@ markUsers(); }, 500); } - if (target.classList.contains(EL.CLASSNAME.BADGE)) { + if (target.classList.contains(EL$4.CLASSNAME.BADGE)) { const nick = target.dataset.whusername; - showUserModal(EL.DYNAMIC.DATASET.USERNAME(nick)); + showUserModal(EL$4.DYNAMIC.DATASET.USERNAME(nick)); } }); if (isPath.userProfile()) { - $(`.${EL.CLASSNAME.USER_PROFILE}`).addEventListener("click", event => { + $(`.${EL$4.CLASSNAME.USER_PROFILE}`).addEventListener("click", event => { const target = event.target; - if (target.classList.contains(EL.CLASSNAME.BADGE)) { + if (target.classList.contains(EL$4.CLASSNAME.BADGE)) { const nick = target.dataset.whusername; - showUserModal(EL.DYNAMIC.DATASET.USERNAME(nick)); + showUserModal(EL$4.DYNAMIC.DATASET.USERNAME(nick)); } }); } - if (document.getElementById(EL.ID.VOTES_CONTAINER)) { - document.getElementById(EL.ID.VOTES_CONTAINER) + if (document.getElementById(EL$4.ID.VOTES_CONTAINER)) { + document.getElementById(EL$4.ID.VOTES_CONTAINER) .closest('.rbl-block').querySelector('.nav').addEventListener("click", event => { const target = event.target; - if (target.classList.contains(EL.CLASSNAME.MARK_ALL_BUTTON)) { + if (target.classList.contains(EL$4.CLASSNAME.MARK_ALL_BUTTON)) { markAllWhoVoted(); - $(`.${EL.CLASSNAME.MARK_ALL_BUTTON}`).innerText = 'Zrobione :)'; + $(`.${EL$4.CLASSNAME.MARK_ALL_BUTTON}`).innerText = 'Zrobione :)'; setTimeout(() => { - $(`.${EL.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display = 'none'; - $(`.${EL.CLASSNAME.MARK_ALL_BUTTON}`).innerText = 'Oznacz wszystkich poni\u017Cej'; + $(`.${EL$4.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display = 'none'; + $(`.${EL$4.CLASSNAME.MARK_ALL_BUTTON}`).innerText = 'Oznacz wszystkich poni\u017Cej'; }, 500); } if (target.closest('#voters') || target.closest('#votersBury')) { - $(`.${EL.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display = 'block'; + $(`.${EL$4.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display = 'block'; } }); } }; - const { BADGE: EL$1 } = DOM; + const { BADGE: EL$3 } = DOM; let uniqueNicksSet = getLocalStorage("unique"); @@ -1115,9 +1117,9 @@ * used on author element, returned from getAllNickElements(), checks if person has already been marked with a badge * @param {HTMLElement} element - element to check */ - const isNotAwarded = element => !$(`.${EL$1.CLASSNAME.BADGE}`, element); + const isNotAwarded = element => !$(`.${EL$3.CLASSNAME.BADGE}`, element); - let settings$3 = getLocalStorage("settings"); + let settings$1 = getLocalStorage("settings"); /** * gets user data from objects inside marked users array. @@ -1149,8 +1151,8 @@ /** * @returns {String} default name for badge set in settings by user. */ - const getDefaultBadgeLabelFromSettings = () => settings$3.BADGE.DEFAULT_NAME; - const getDefaultBadgeColorFromSettings = () => settings$3.BADGE.DEFAULT_COLOR; + const getDefaultBadgeLabelFromSettings = () => settings$1.BADGE.DEFAULT_NAME; + const getDefaultBadgeColorFromSettings = () => settings$1.BADGE.DEFAULT_COLOR; const { BADGE: EL$2 } = DOM; @@ -1165,7 +1167,7 @@ const color = userData ? userData.color : getDefaultBadgeColorFromSettings(); if (isMarked(nick) && isNotAwarded(nickElement)) { - nickElement.insertAdjacentHTML("afterbegin", badge$1(nick, label, true, color)); + nickElement.insertAdjacentHTML("afterbegin", badge(nick, label, true, color)); } }; @@ -1180,7 +1182,7 @@
      `; - const settings$4 = getLocalStorage('settings'); + const settings = getLocalStorage('settings'); const handleDomainCheck = () => { /** @@ -1188,7 +1190,7 @@ * @return {boolean} True if yes, false otherwise */ const isSettingActive = () => { - if (settings$4.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA) { + if (settings.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA) { return true; } @@ -1196,7 +1198,7 @@ }; const processDomains = () => { - const domains = settings$4.GENERAL.SUSPECT_DOMAINS || []; + const domains = settings.GENERAL.SUSPECT_DOMAINS || []; const processedDomains = domains.map(domain => { const https = 'https://' + domain; @@ -1222,7 +1224,7 @@ const threadLink = $(DOM.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href; const url = new URL(threadLink); const threadLinkHostname = url.protocol + '//' + url.hostname; - const annotationMarkup = annotation(settings$4.GENERAL.SUSPECT_DOMAINS_LABEL); + const annotationMarkup = annotation(settings.GENERAL.SUSPECT_DOMAINS_LABEL); if (suspectDomains.includes(threadLinkHostname)) { $(`.${DOM.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO}`).insertAdjacentHTML('beforebegin', annotationMarkup); @@ -1315,6 +1317,16 @@ /> +
      + + +
      { - $(EL$3.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML('beforeend', settingsModel.settingsNav); + $(EL$1.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML('beforeend', settingsModel.settingsNav); }; const handleSettings = () => { @@ -1466,7 +1479,7 @@ const uniqueNicksSet = getLocalStorage('unique'); const blacklist = getLocalStorage('blacklist'); - const settingsFormElement = $(EL$3.SELECTOR.SETTINGS_FORM_ELEMENT); + const settingsFormElement = $(EL$1.SELECTOR.SETTINGS_FORM_ELEMENT); /** * clears localstorage. Doesn't remove items, but sets them to empty array @@ -1481,7 +1494,7 @@ * Creates table with marked users. */ const generateUserTables = () => { - const tableBody = $(`.${EL$3.CLASSNAME.WH_USER_TABLE_BODY}`); + const tableBody = $(`.${EL$1.CLASSNAME.WH_USER_TABLE_BODY}`); markedUsers.forEach(el => { tableBody.insertAdjacentHTML( @@ -1494,13 +1507,13 @@ }; const toggleUserTableVisibility = () => { - $(`.${EL$3.CLASSNAME.WH_USER_TABLE_CONTAINER}`) - .classList.toggle(`${EL$3.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`); + $(`.${EL$1.CLASSNAME.WH_USER_TABLE_CONTAINER}`) + .classList.toggle(`${EL$1.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`); - if ($(`.${EL$3.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)) { - document.getElementById(EL$3.ID.SHOW_MARKED_TABLE).textContent = settingsModel.textContent.SHOW_ALL_MARKED; + if ($(`.${EL$1.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)) { + document.getElementById(EL$1.ID.SHOW_MARKED_TABLE).textContent = settingsModel.textContent.SHOW_ALL_MARKED; } else { - document.getElementById(EL$3.ID.SHOW_MARKED_TABLE).textContent = settingsModel.textContent.HIDE_TABLE; + document.getElementById(EL$1.ID.SHOW_MARKED_TABLE).textContent = settingsModel.textContent.HIDE_TABLE; } }; @@ -1530,7 +1543,7 @@ } }).then(result => { if (result.isConfirmed) { - let list = $(`#${EL$3.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA}`).value; + let list = $(`#${EL$1.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA}`).value; list.replace('https://', '').replace('http://', '').replace('www.', '').replace(' ', ''); const arrayList = list.split('\n'); settings.GENERAL.SUSPECT_DOMAINS = arrayList; @@ -1573,8 +1586,8 @@ width: "80%", }).then(result => { if (result.isConfirmed) { - const imported = $(`#${EL$3.ID.IMPORT_TEXTAREA}`).value; - const checkboxValue = $(`input[type="radio"][name="${EL$3.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value; + const imported = $(`#${EL$1.ID.IMPORT_TEXTAREA}`).value; + const checkboxValue = $(`input[type="radio"][name="${EL$1.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value; if (checkboxValue && checkboxValue === 'settings') { localStorage.setItem(STORAGE_KEY_NAMES.WH_SETTINGS, imported); @@ -1605,7 +1618,7 @@ width: "80%", }).then(result => { if (result.isConfirmed) { - const exportedData = $(`#${EL$3.ID.EXPORT_TEXTAREA}`); + const exportedData = $(`#${EL$1.ID.EXPORT_TEXTAREA}`); exportedData.select(); document.execCommand('copy'); } @@ -1620,7 +1633,7 @@ inputs.forEach(el => { const category = el.getAttribute('category'); - if (el.id !== EL$3.ID.ALLOW_WIPE_MARKED_LIST && el.type === 'checkbox') { + if (el.id !== EL$1.ID.ALLOW_WIPE_MARKED_LIST && el.type === 'checkbox') { el.checked = settings[category][el.name]; } else if (el.type === 'text' && el.name !== 'nsQ') { el.value = settings[category][el.name] || ''; @@ -1631,8 +1644,8 @@ }; const renderSettings = () => { - $(EL$3.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove('active'); - $(`.${EL$3.CLASSNAME.WH_NAV_SETTINGS_LINK}`).classList.add('active'); + $(EL$1.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove('active'); + $(`.${EL$1.CLASSNAME.WH_NAV_SETTINGS_LINK}`).classList.add('active'); settingsFormElement.innerHTML = ''; settingsFormElement.innerHTML = settingsModel.settingsMarkup; @@ -1653,7 +1666,7 @@ const category = event.target.getAttribute('category'); const name = event.target.name; - if (event.target.type === 'checkbox' && event.target.id !== EL$3.ID.ALLOW_WIPE_MARKED_LIST) { + if (event.target.type === 'checkbox' && event.target.id !== EL$1.ID.ALLOW_WIPE_MARKED_LIST) { settings[category][name] = !settings[category][name]; localStorage.setItem(STORAGE_KEY_NAMES.WH_SETTINGS, JSON.stringify(settings)); } @@ -1664,47 +1677,47 @@ }, {passive: true}); settingsFormElement.addEventListener('click', event => { - if (event.target.id === EL$3.ID.SHOW_MARKED_TABLE) { + if (event.target.id === EL$1.ID.SHOW_MARKED_TABLE) { event.preventDefault(); toggleUserTableVisibility(); } - if (event.target.id === EL$3.ID.ALLOW_WIPE_MARKED_LIST) { + if (event.target.id === EL$1.ID.ALLOW_WIPE_MARKED_LIST) { event.target.disabled = true; - document.getElementById(EL$3.ID.REMOVE_ALL_MARKED).disabled = false; - document.getElementById(EL$3.ID.REMOVE_ALL_MARKED).style.opacity = 1; + document.getElementById(EL$1.ID.REMOVE_ALL_MARKED).disabled = false; + document.getElementById(EL$1.ID.REMOVE_ALL_MARKED).style.opacity = 1; } - if (event.target.id === EL$3.ID.REMOVE_ALL_MARKED) { + if (event.target.id === EL$1.ID.REMOVE_ALL_MARKED) { event.preventDefault(); wipeAllMarkedUsers(); } - if (event.target.id === EL$3.ID.SUSPECT_DOMAINS_SETTINGS_LINK) { + if (event.target.id === EL$1.ID.SUSPECT_DOMAINS_SETTINGS_LINK) { showModalWithPropagandaExplanation(); } - if (event.target.id === EL$3.ID.WARN_ON_RELOAD_INFO_LINK) { + if (event.target.id === EL$1.ID.WARN_ON_RELOAD_INFO_LINK) { showModalWithWarnOnReloadExplanation(); } - if (event.target.id === EL$3.ID.IMPORT_BUTTON) { + if (event.target.id === EL$1.ID.IMPORT_BUTTON) { event.preventDefault(); showModalWithImport(); } - if (event.target.id === EL$3.ID.EXPORT_BUTTON) { + if (event.target.id === EL$1.ID.EXPORT_BUTTON) { event.preventDefault(); showModalWithExport(); } }, {passive: false}); document.addEventListener('click', event => { - if (event.target.id === EL$3.ID.EXPORT_SETTINGS_BUTTON) { - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = ''; - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(settings); + if (event.target.id === EL$1.ID.EXPORT_SETTINGS_BUTTON) { + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = ''; + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(settings); } - if (event.target.id === EL$3.ID.EXPORT_MARKED_BUTTON) { - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = ''; - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(markedUsers); + if (event.target.id === EL$1.ID.EXPORT_MARKED_BUTTON) { + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = ''; + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(markedUsers); } - if (event.target.id === EL$3.ID.EXPORT_BLACKLIST_BUTTON) { - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = ''; - $(`#${EL$3.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(blacklist); + if (event.target.id === EL$1.ID.EXPORT_BLACKLIST_BUTTON) { + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = ''; + $(`#${EL$1.ID.EXPORT_TEXTAREA}`).innerText = JSON.stringify(blacklist); } }, {passive: true}); @@ -1842,11 +1855,11 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version }); }; - const { BADGE: EL$4 } = DOM; + const { BADGE: EL } = DOM; const isTextareaEmpty = () => { - const replyForm = $(EL$4.SELECTOR.REPLY_FORM); - const commentForm = $(EL$4.SELECTOR.COMMENT_FORM); + const replyForm = $(EL.SELECTOR.REPLY_FORM); + const commentForm = $(EL.SELECTOR.COMMENT_FORM); // for whatever reason, chrome just can't handle belows checks the way they should work (so simply assigning the check to const); instead of simple boolean false if it encounters something like undef or null, it throws all sorts of different errors. Hence, it's done like that. Took about an hour experimenting. let isCommentNotEmpty = false; @@ -2020,6 +2033,48 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version } }; + const fixYoutubeLinks = () => { + /** + * Check if user settings allow for marking domains. + * @return {boolean} True if yes, false otherwise + */ + const isSettingActive = () => { + const settings = getLocalStorage('settings'); + + if (settings.GENERAL.FIX_YOUTUBE) { + return true; + } + + return false; + }; + + /** + * Parses any and all `href`s of embeded youtube elements, removing useless "consent" part and further accompanying parameters, leaving only clean youtube address. + */ + const fixYoutube = () => { + if (isSettingActive()) { + const ytPosts = $$(`.${DOM.COMMON.CLASSNAME.YT_EMBED} a.ajax`); + + ytPosts?.forEach(el => { + let ytUrl = el.href; + + if (ytUrl.startsWith('https://consent.youtube.com/m?continue=')) { + const decodedYtUrl = decodeURIComponent(ytUrl); + const replacedUrl = decodedYtUrl.replace('https://consent.youtube.com/m?continue=', ''); + const newYtUrl = replacedUrl.split('&gl=')[0]; + + el.href = newYtUrl; + el.innerText = '[zobacz film z youtube.com]'; + } + }); + } + }; + + if (isSettingActive()) { + fixYoutube(); + } + }; + /** * Capitalize first letter */ @@ -2043,6 +2098,7 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version embedOnPaste(); hideMarkedUsers(); removePostedViaApp(); + fixYoutubeLinks(); } if (isPath.userProfile()) { displayBadgeInUserProfile(); diff --git a/dist/whhelper.user.js b/dist/whhelper.user.js index 80e440e..2b59550 100644 --- a/dist/whhelper.user.js +++ b/dist/whhelper.user.js @@ -9,4 +9,4 @@ // @require https://cdn.jsdelivr.net/npm/sweetalert2@10 // @grant none // ==/UserScript== -!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>"[data-whusername='"+e}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings"),R=(d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`),w=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach(t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())})},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter(t=>t!==e);localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error("getNick didn't work for "+e);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s("."+B.CLASSNAME.BADGE,e),_=()=>{try{l().forEach(e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s("."+B.CLASSNAME.MARK_BUTTON,e))(e)||e.insertAdjacentHTML("beforeend",u)})}catch(e){}},N=e=>{_();l().forEach(t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s("."+B.CLASSNAME.BADGE,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s("."+B.CLASSNAME.MARK_BUTTON,t)&&!s("."+B.CLASSNAME.MARK_BUTTON_CLICKED,t)&&s("."+B.CLASSNAME.MARK_BUTTON,t).remove(),o(n)||T(t)||s("."+B.CLASSNAME.BADGE,t).remove()}),r()&&setTimeout(()=>{location.reload()},200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:""+e.nick,content:`\n

      Przyczyna oznaczenia:

      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then(n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(n))}const o=e.filter(e=>e!==n);localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout(()=>{N()},780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then(()=>{r()&&location.reload()});else if(n.isDenied){const e=s("#"+d.MODAL.ID.BADGE_TEXT).dataset.label,t=s("#"+d.MODAL.ID.BADGE_TEXT).value,n=s("#"+d.MODAL.ID.BADGE_COLOR).dataset.color,a=s("#"+d.MODAL.ID.BADGE_COLOR).value,i=s("#"+d.MODAL.ID.BLACKLIST).dataset.blocked,r=s("#"+d.MODAL.ID.BLACKLIST).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter(e=>e!==o),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}})};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest("."+B.CLASSNAME.NICK_ELEMENT)),n=e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(".verified")?e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout(()=>{e.target.remove()},700),setTimeout(()=>{N()},780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout(()=>{_()},500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),r()&&s("."+B.CLASSNAME.USER_PROFILE).addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach(t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))}),setTimeout(()=>{N()},780)})(),s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Zrobione :)",setTimeout(()=>{s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="none",s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Oznacz wszystkich poniżej"},500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="block")})},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s("."+z.CLASSNAME.BADGE,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},P=I("settings"),K=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(P.GENERAL.SUSPECT_DOMAINS||[]).map(e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e]).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(P.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s("."+d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO).insertAdjacentHTML("beforebegin",a)};P.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},W=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E("."+d.BADGE.CLASSNAME.BADGE).forEach(e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '})},{SETTINGS:{CLASSNAME:$,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then(e=>{if(e.isConfirmed){const e=s("#"+V.ID.IMPORT_TEXTAREA).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map(e=>e.nick);return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}})},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s("."+V.CLASSNAME.WH_NAV_SETTINGS_LINK).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s("."+V.CLASSNAME.WH_USER_TABLE_BODY);t.forEach(t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))})})(),E("input").forEach(t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])})},r=()=>{a.addEventListener("change",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0}),a.addEventListener("click",t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s("."+V.CLASSNAME.WH_USER_TABLE_CONTAINER).classList.toggle(V.CLASSNAME.WH_USER_TABLE_CONTAINER+"--hidden"),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then(t=>{if(t.isConfirmed){let t=s("#"+V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}}),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then(e=>{e.isConfirmed&&(s("#"+V.ID.EXPORT_TEXTAREA).select(),document.execCommand("copy"))}))},{passive:!1}),document.addEventListener("click",n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(o))},{passive:!0}),a.addEventListener("keyup",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0})};h(L.settings),h(L.modal),i(),r(),s("."+d.SETTINGS.CLASSNAME.WH_USER_TABLE).addEventListener("click",e=>{const o=e.target;o.classList.contains(""+d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}const o=n.filter(t=>t!==e);localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())})},J="WykopHelper zainstalowany!",q='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',Y="Super!",Z={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.71. Wprowadzone zmiany to:
      \n

        \n ${["Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map(e=>{return t=e,`
      • ${t}
      • `;var t}).join("")}\n
      \n`,button:"Okej!"},Q=`Pokaż OPa`,{BADGE:ee}=d,te=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",e=>{(()=>{const e=s(ee.SELECTOR.REPLY_FORM),t=s(ee.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")})},ne=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s("."+d.COMMON.CLASSNAME.WOODLE).style.display="none")},oe=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach(e=>{n.push(e.textContent.replace("#",""))}));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()};t.length>0&&a()},ae=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()},le=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E("."+d.BADGE.CLASSNAME.NICK_ELEMENT).forEach(e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")})};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")<"0.71"?(Swal.fire({title:Z.title,html:Z.content,showCloseButton:!0,icon:"info",iconHtml:'',width:"80%",confirmButtonText:Z.button}),localStorage.setItem("WHupdate","0.71"),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:J,html:q,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:Y}),localStorage.setItem("WHupdate","0.71")),m(),t()&&ne(),n()&&(f(),b(),te(),document.addEventListener("paste",e=>{if(s("."+d.EMBED.CLASSNAME.EMBED_FILE)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}},{passive:!0}),W(),le()),r()&&(x(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(d.BADGE.SELECTOR.USER_PROFILE_NICK+":not(:first-child)").style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)})})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(K(),oe(),ae()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",Q),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).addEventListener("click",()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E("."+d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS).forEach(t=>{t.style.backgroundColor=e}),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).remove()}))}(); +!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",YT_EMBED:"embed-youtube",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>"[data-whusername='"+e}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1,FIX_YOUTUBE:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings");d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK;const R=`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`,w=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach(t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())})},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter(t=>t!==e);localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error("getNick didn't work for "+e);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s("."+B.CLASSNAME.BADGE,e),_=()=>{try{l().forEach(e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s("."+B.CLASSNAME.MARK_BUTTON,e))(e)||e.insertAdjacentHTML("beforeend",u)})}catch(e){}},N=e=>{_();l().forEach(t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s("."+B.CLASSNAME.BADGE,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s("."+B.CLASSNAME.MARK_BUTTON,t)&&!s("."+B.CLASSNAME.MARK_BUTTON_CLICKED,t)&&s("."+B.CLASSNAME.MARK_BUTTON,t).remove(),o(n)||T(t)||s("."+B.CLASSNAME.BADGE,t).remove()}),r()&&setTimeout(()=>{location.reload()},200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:""+e.nick,content:`\n

      Przyczyna oznaczenia:

      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then(n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(n))}const o=e.filter(e=>e!==n);localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout(()=>{N()},780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then(()=>{r()&&location.reload()});else if(n.isDenied){const e=s("#"+d.MODAL.ID.BADGE_TEXT).dataset.label,t=s("#"+d.MODAL.ID.BADGE_TEXT).value,n=s("#"+d.MODAL.ID.BADGE_COLOR).dataset.color,a=s("#"+d.MODAL.ID.BADGE_COLOR).value,i=s("#"+d.MODAL.ID.BLACKLIST).dataset.blocked,r=s("#"+d.MODAL.ID.BLACKLIST).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter(e=>e!==o),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}})};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest("."+B.CLASSNAME.NICK_ELEMENT)),n=e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(".verified")?e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout(()=>{e.target.remove()},700),setTimeout(()=>{N()},780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout(()=>{_()},500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),r()&&s("."+B.CLASSNAME.USER_PROFILE).addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach(t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))}),setTimeout(()=>{N()},780)})(),s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Zrobione :)",setTimeout(()=>{s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="none",s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Oznacz wszystkich poniżej"},500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="block")})},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s("."+z.CLASSNAME.BADGE,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},P=I("settings"),K=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(P.GENERAL.SUSPECT_DOMAINS||[]).map(e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e]).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(P.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s("."+d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO).insertAdjacentHTML("beforebegin",a)};P.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},W=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E("."+d.BADGE.CLASSNAME.BADGE).forEach(e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '})},{SETTINGS:{CLASSNAME:$,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then(e=>{if(e.isConfirmed){const e=s("#"+V.ID.IMPORT_TEXTAREA).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map(e=>e.nick);return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}})},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s("."+V.CLASSNAME.WH_NAV_SETTINGS_LINK).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s("."+V.CLASSNAME.WH_USER_TABLE_BODY);t.forEach(t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))})})(),E("input").forEach(t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])})},r=()=>{a.addEventListener("change",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0}),a.addEventListener("click",t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s("."+V.CLASSNAME.WH_USER_TABLE_CONTAINER).classList.toggle(V.CLASSNAME.WH_USER_TABLE_CONTAINER+"--hidden"),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then(t=>{if(t.isConfirmed){let t=s("#"+V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}}),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then(e=>{e.isConfirmed&&(s("#"+V.ID.EXPORT_TEXTAREA).select(),document.execCommand("copy"))}))},{passive:!1}),document.addEventListener("click",n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(o))},{passive:!0}),a.addEventListener("keyup",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0})};h(L.settings),h(L.modal),i(),r(),s("."+d.SETTINGS.CLASSNAME.WH_USER_TABLE).addEventListener("click",e=>{const o=e.target;o.classList.contains(""+d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}const o=n.filter(t=>t!==e);localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())})},J="WykopHelper zainstalowany!",Y='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',q="Super!",Z={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.71. Wprowadzone zmiany to:
      \n

        \n ${["Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map(e=>{return t=e,`
      • ${t}
      • `;var t}).join("")}\n
      \n`,button:"Okej!"},Q=`Pokaż OPa`,{BADGE:ee}=d,te=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",e=>{(()=>{const e=s(ee.SELECTOR.REPLY_FORM),t=s(ee.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")})},ne=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s("."+d.COMMON.CLASSNAME.WOODLE).style.display="none")},oe=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach(e=>{n.push(e.textContent.replace("#",""))}));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()};t.length>0&&a()},ae=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()},le=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E("."+d.BADGE.CLASSNAME.NICK_ELEMENT).forEach(e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")})},ie=()=>{const e=()=>!!I("settings").GENERAL.FIX_YOUTUBE;e()&&(()=>{if(e()){E(`.${d.COMMON.CLASSNAME.YT_EMBED} a.ajax`)?.forEach(e=>{let t=e.href;if(t.startsWith("https://consent.youtube.com/m?continue=")){const n=decodeURIComponent(t).replace("https://consent.youtube.com/m?continue=","").split("&gl=")[0];e.href=n,e.innerText="[zobacz film z youtube.com]"}})}})()};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")<"0.71"?(Swal.fire({title:Z.title,html:Z.content,showCloseButton:!0,icon:"info",iconHtml:'',width:"80%",confirmButtonText:Z.button}),localStorage.setItem("WHupdate","0.71"),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:J,html:Y,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:q}),localStorage.setItem("WHupdate","0.71")),m(),t()&&ne(),n()&&(f(),b(),te(),document.addEventListener("paste",e=>{if(s("."+d.EMBED.CLASSNAME.EMBED_FILE)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}},{passive:!0}),W(),le(),ie()),r()&&(x(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(d.BADGE.SELECTOR.USER_PROFILE_NICK+":not(:first-child)").style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)})})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(K(),oe(),ae()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",Q),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).addEventListener("click",()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E("."+d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS).forEach(t=>{t.style.backgroundColor=e}),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).remove()}))}(); diff --git a/src/constants/domSelectors.js b/src/constants/domSelectors.js index 58bea98..5be59c7 100644 --- a/src/constants/domSelectors.js +++ b/src/constants/domSelectors.js @@ -3,6 +3,7 @@ export const DOM = { CLASSNAME: { // wykop.pl elements WOODLE: 'woodle', + YT_EMBED: 'embed-youtube', // custom WH elements BUTTON: 'buttonWH', }, diff --git a/src/index.js b/src/index.js index 2512679..231166d 100644 --- a/src/index.js +++ b/src/index.js @@ -14,6 +14,7 @@ import { removeWoodle } from './modules/removeWoodle'; import { removeCommentsByTag } from './modules/removeCommentsByTag'; import { removeAllComments } from './modules/removeAllComments'; import { removePostedViaApp } from './modules/removePostedViaApp'; +import { fixYoutubeLinks } from './modules/fixYoutubeLinks'; /** * Capitalize first letter @@ -38,6 +39,7 @@ if (isPath.main()) { embedOnPaste(); hideMarkedUsers(); removePostedViaApp(); + fixYoutubeLinks(); } if (isPath.userProfile()) { displayBadgeInUserProfile(); diff --git a/src/model/modules/settings.model.js b/src/model/modules/settings.model.js index 3c7e1fd..2a24521 100644 --- a/src/model/modules/settings.model.js +++ b/src/model/modules/settings.model.js @@ -50,6 +50,16 @@ export const settingsMarkup = ` />
      +
      + + +
      { + /** + * Check if user settings allow for marking domains. + * @return {boolean} True if yes, false otherwise + */ + const isSettingActive = () => { + const settings = getLocalStorage('settings'); + + if (settings.GENERAL.FIX_YOUTUBE) { + return true; + } + + return false; + } + + /** + * Parses any and all `href`s of embeded youtube elements, removing useless "consent" part and further accompanying parameters, leaving only clean youtube address. + */ + const fixYoutube = () => { + if (isSettingActive()) { + const ytPosts = $$(`.${DOM.COMMON.CLASSNAME.YT_EMBED} a.ajax`); + + ytPosts?.forEach(el => { + let ytUrl = el.href; + + if (ytUrl.startsWith('https://consent.youtube.com/m?continue=')) { + const decodedYtUrl = decodeURIComponent(ytUrl); + const replacedUrl = decodedYtUrl.replace('https://consent.youtube.com/m?continue=', ''); + const newYtUrl = replacedUrl.split('&gl=')[0]; + + el.href = newYtUrl; + el.innerText = '[zobacz film z youtube.com]'; + } + }); + } + } + + if (isSettingActive()) { + fixYoutube(); + } +} \ No newline at end of file diff --git a/src/modules/settings.js b/src/modules/settings.js index 0ad6068..07b7033 100644 --- a/src/modules/settings.js +++ b/src/modules/settings.js @@ -3,6 +3,7 @@ * - add it as a default in /utils/handleLocalStorage * - add HTML for it in /model/modules/settings.model * - add check in appropriate module. If you want it to be ON by default, you will need to make it so using /utils/runOnceOnUpdate + * - add module to index.js */ import { $, $$ } from '../utils/dom'; diff --git a/src/utils/handleLocalStorage.js b/src/utils/handleLocalStorage.js index d3730fa..35c6740 100644 --- a/src/utils/handleLocalStorage.js +++ b/src/utils/handleLocalStorage.js @@ -19,6 +19,7 @@ const initialSettings = { REMOVE_COMMENTS: '', REMOVE_ALL_COMMENTS: false, REMOVE_POSTED_VIA_APP: false, + FIX_YOUTUBE: false, }, }; const initialUnique = []; From 44c92a088a91554563d7da9fbe32277e96a09f6b Mon Sep 17 00:00:00 2001 From: PLWpl Date: Tue, 4 May 2021 22:00:20 +0200 Subject: [PATCH 4/8] update no --- package.json | 2 +- src/model/utils/update.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d7c40f1..c93059c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wykop-helper", - "version": "0.71", + "version": "0.72", "description": "", "main": "index.js", "scripts": { diff --git a/src/model/utils/update.js b/src/model/utils/update.js index 03d3f2c..2e91e75 100644 --- a/src/model/utils/update.js +++ b/src/model/utils/update.js @@ -2,6 +2,7 @@ import DOM from "../../constants/domSelectors"; /* eslint max-len: 0 */ const changesArray = [ + 'Dodana opcja "naprawiania" linków do YT; po jej włączeniu w ustawieniach, osadzone filmy z YT nie będą już linkować do jakiejś francuskiej strony z wyrażaniem zgody na kto-wie-co, tylko bezpośrednio do filmu.', 'Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;', 'Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;', 'Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze.' @@ -9,7 +10,7 @@ const changesArray = [ const listItem = text => `
    • ${text}
    • `; -export const version = `0.71`; +export const version = `0.72`; export const welcomeText = { title: "WykopHelper zainstalowany!", From 079e10b9605eac005304686ee863362b3fe7b753 Mon Sep 17 00:00:00 2001 From: PLWpl Date: Tue, 4 May 2021 23:01:12 +0200 Subject: [PATCH 5/8] bump rollup --- dist/whhelper-dev.user.js | 5 +- dist/whhelper.user.js | 4 +- package-lock.json | 1193 +++++++++++++++++++++++++++++++++++++ package.json | 7 +- rollup.config.js | 8 +- 5 files changed, 1206 insertions(+), 11 deletions(-) create mode 100644 package-lock.json diff --git a/dist/whhelper-dev.user.js b/dist/whhelper-dev.user.js index 01fb5fb..9805517 100644 --- a/dist/whhelper-dev.user.js +++ b/dist/whhelper-dev.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name WykopHelper - DEV -// @version 0.71 +// @version 0.72 // @updateURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper-dev.user.js // @downloadURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper-dev.user.js // @description Zestaw narzędzi pomocnych na wykopie. @@ -1779,6 +1779,7 @@ /* eslint max-len: 0 */ const changesArray = [ + 'Dodana opcja "naprawiania" link\xF3w do YT; po jej w\u0142\u0105czeniu w ustawieniach, osadzone filmy z YT nie b\u0119d\u0105 ju\u017C linkowa\u0107 do jakiej\u015B francuskiej strony z wyra\u017Caniem zgody na kto-wie-co, tylko bezpo\u015Brednio do filmu.', 'Poprawki w funkcjonalno\u015Bci usuwania informacji o postowaniu przez aplikacj\u0119;', 'Usuni\u0119ty b\u0142\u0105d uniemo\u017Cliwiaj\u0105cy korzystanie z funkcjonalno\u015Bci oznaczania autora w\u0105tku na mikroblogu;', 'Usuni\u0119ty b\u0142\u0105d kt\xF3ry powodowa\u0142, \u017Ce je\u015Bli X zosta\u0142 dodany na czarn\u0105 list\u0119, a potem zosta\u0142o usuni\u0119te odznaczenie, to zostawa\u0142 na czarnej li\u015Bcie na zawsze.' @@ -1786,7 +1787,7 @@ const listItem = text => `
    • ${text}
    • `; - const version = `0.71`; + const version = `0.72`; const welcomeText = { title: "WykopHelper zainstalowany!", diff --git a/dist/whhelper.user.js b/dist/whhelper.user.js index 2b59550..f684524 100644 --- a/dist/whhelper.user.js +++ b/dist/whhelper.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name WykopHelper -// @version 0.71 +// @version 0.72 // @updateURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper.user.js // @downloadURL https://cdn.jsdelivr.net/gh/plwpl/WykopHelper/dist/whhelper.user.js // @description Zestaw narzędzi pomocnych na wykopie. Pełna, niezminifikowana wersja kodu dostępna na githubie - PLWpl/WykopHelper @@ -9,4 +9,4 @@ // @require https://cdn.jsdelivr.net/npm/sweetalert2@10 // @grant none // ==/UserScript== -!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",YT_EMBED:"embed-youtube",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>"[data-whusername='"+e}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1,FIX_YOUTUBE:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings");d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK;const R=`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`,w=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach(t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())})},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter(t=>t!==e);localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error("getNick didn't work for "+e);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s("."+B.CLASSNAME.BADGE,e),_=()=>{try{l().forEach(e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s("."+B.CLASSNAME.MARK_BUTTON,e))(e)||e.insertAdjacentHTML("beforeend",u)})}catch(e){}},N=e=>{_();l().forEach(t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s("."+B.CLASSNAME.BADGE,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s("."+B.CLASSNAME.MARK_BUTTON,t)&&!s("."+B.CLASSNAME.MARK_BUTTON_CLICKED,t)&&s("."+B.CLASSNAME.MARK_BUTTON,t).remove(),o(n)||T(t)||s("."+B.CLASSNAME.BADGE,t).remove()}),r()&&setTimeout(()=>{location.reload()},200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:""+e.nick,content:`\n

      Przyczyna oznaczenia:

      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then(n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(n))}const o=e.filter(e=>e!==n);localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout(()=>{N()},780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then(()=>{r()&&location.reload()});else if(n.isDenied){const e=s("#"+d.MODAL.ID.BADGE_TEXT).dataset.label,t=s("#"+d.MODAL.ID.BADGE_TEXT).value,n=s("#"+d.MODAL.ID.BADGE_COLOR).dataset.color,a=s("#"+d.MODAL.ID.BADGE_COLOR).value,i=s("#"+d.MODAL.ID.BLACKLIST).dataset.blocked,r=s("#"+d.MODAL.ID.BLACKLIST).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter(e=>e!==o),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}})};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest("."+B.CLASSNAME.NICK_ELEMENT)),n=e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(".verified")?e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest("."+B.CLASSNAME.NICK_ELEMENT).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout(()=>{e.target.remove()},700),setTimeout(()=>{N()},780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout(()=>{_()},500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),r()&&s("."+B.CLASSNAME.USER_PROFILE).addEventListener("click",e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}}),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach(t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))}),setTimeout(()=>{N()},780)})(),s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Zrobione :)",setTimeout(()=>{s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="none",s("."+B.CLASSNAME.MARK_ALL_BUTTON).innerText="Oznacz wszystkich poniżej"},500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s("."+B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT).style.display="block")})},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s("."+z.CLASSNAME.BADGE,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},P=I("settings"),K=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(P.GENERAL.SUSPECT_DOMAINS||[]).map(e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e]).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(P.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s("."+d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO).insertAdjacentHTML("beforebegin",a)};P.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},W=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E("."+d.BADGE.CLASSNAME.BADGE).forEach(e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '})},{SETTINGS:{CLASSNAME:$,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then(e=>{if(e.isConfirmed){const e=s("#"+V.ID.IMPORT_TEXTAREA).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map(e=>e.nick);return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}})},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s("."+V.CLASSNAME.WH_NAV_SETTINGS_LINK).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s("."+V.CLASSNAME.WH_USER_TABLE_BODY);t.forEach(t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))})})(),E("input").forEach(t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])})},r=()=>{a.addEventListener("change",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0}),a.addEventListener("click",t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s("."+V.CLASSNAME.WH_USER_TABLE_CONTAINER).classList.toggle(V.CLASSNAME.WH_USER_TABLE_CONTAINER+"--hidden"),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then(t=>{if(t.isConfirmed){let t=s("#"+V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}}),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then(e=>{e.isConfirmed&&(s("#"+V.ID.EXPORT_TEXTAREA).select(),document.execCommand("copy"))}))},{passive:!1}),document.addEventListener("click",n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s("#"+V.ID.EXPORT_TEXTAREA).innerText="",s("#"+V.ID.EXPORT_TEXTAREA).innerText=JSON.stringify(o))},{passive:!0}),a.addEventListener("keyup",t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))},{passive:!0})};h(L.settings),h(L.modal),i(),r(),s("."+d.SETTINGS.CLASSNAME.WH_USER_TABLE).addEventListener("click",e=>{const o=e.target;o.classList.contains(""+d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter(e=>null!=e);localStorage.setItem(c,JSON.stringify(e))}const o=n.filter(t=>t!==e);localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())})},J="WykopHelper zainstalowany!",Y='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',q="Super!",Z={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.71. Wprowadzone zmiany to:
      \n

        \n ${["Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map(e=>{return t=e,`
      • ${t}
      • `;var t}).join("")}\n
      \n`,button:"Okej!"},Q=`Pokaż OPa`,{BADGE:ee}=d,te=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",e=>{(()=>{const e=s(ee.SELECTOR.REPLY_FORM),t=s(ee.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")})},ne=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s("."+d.COMMON.CLASSNAME.WOODLE).style.display="none")},oe=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach(e=>{n.push(e.textContent.replace("#",""))}));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()};t.length>0&&a()},ae=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s("#"+d.COMMON.ID.COMMENTS_STREAM)&&s("#"+d.COMMON.ID.COMMENTS_STREAM).remove()},le=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E("."+d.BADGE.CLASSNAME.NICK_ELEMENT).forEach(e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")})},ie=()=>{const e=()=>!!I("settings").GENERAL.FIX_YOUTUBE;e()&&(()=>{if(e()){E(`.${d.COMMON.CLASSNAME.YT_EMBED} a.ajax`)?.forEach(e=>{let t=e.href;if(t.startsWith("https://consent.youtube.com/m?continue=")){const n=decodeURIComponent(t).replace("https://consent.youtube.com/m?continue=","").split("&gl=")[0];e.href=n,e.innerText="[zobacz film z youtube.com]"}})}})()};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")<"0.71"?(Swal.fire({title:Z.title,html:Z.content,showCloseButton:!0,icon:"info",iconHtml:'',width:"80%",confirmButtonText:Z.button}),localStorage.setItem("WHupdate","0.71"),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:J,html:Y,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:q}),localStorage.setItem("WHupdate","0.71")),m(),t()&&ne(),n()&&(f(),b(),te(),document.addEventListener("paste",e=>{if(s("."+d.EMBED.CLASSNAME.EMBED_FILE)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}},{passive:!0}),W(),le(),ie()),r()&&(x(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(d.BADGE.SELECTOR.USER_PROFILE_NICK+":not(:first-child)").style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)})})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(K(),oe(),ae()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",Q),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).addEventListener("click",()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E("."+d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS).forEach(t=>{t.style.backgroundColor=e}),s("."+d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON).remove()}))}(); +!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",YT_EMBED:"embed-youtube",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>`[data-whusername='${e}`}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1,FIX_YOUTUBE:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings");d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK;const w=`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`,R=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach((t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())}))},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter((t=>t!==e));localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error(`getNick didn't work for ${e}`);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s(`.${B.CLASSNAME.BADGE}`,e),_=()=>{try{l().forEach((e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s(`.${B.CLASSNAME.MARK_BUTTON}`,e))(e)||e.insertAdjacentHTML("beforeend",u)}))}catch(e){}},N=e=>{_();l().forEach((t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s(`.${B.CLASSNAME.BADGE}`,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t)&&!s(`.${B.CLASSNAME.MARK_BUTTON_CLICKED}`,t)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t).remove(),o(n)||T(t)||s(`.${B.CLASSNAME.BADGE}`,t).remove()})),r()&&setTimeout((()=>{location.reload()}),200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:`${e.nick}`,content:`\n

      Przyczyna oznaczenia:

      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then((n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(n))}const o=e.filter((e=>e!==n));localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout((()=>{N()}),780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then((()=>{r()&&location.reload()}));else if(n.isDenied){const e=s(`#${d.MODAL.ID.BADGE_TEXT}`).dataset.label,t=s(`#${d.MODAL.ID.BADGE_TEXT}`).value,n=s(`#${d.MODAL.ID.BADGE_COLOR}`).dataset.color,a=s(`#${d.MODAL.ID.BADGE_COLOR}`).value,i=s(`#${d.MODAL.ID.BLACKLIST}`).dataset.blocked,r=s(`#${d.MODAL.ID.BLACKLIST}`).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter((e=>e!==o)),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}}))};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`)),n=e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(".verified")?e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout((()=>{e.target.remove()}),700),setTimeout((()=>{N()}),780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout((()=>{_()}),500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),r()&&s(`.${B.CLASSNAME.USER_PROFILE}`).addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",(e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach((t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))})),setTimeout((()=>{N()}),780)})(),s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Zrobione :)",setTimeout((()=>{s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="none",s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Oznacz wszystkich poniżej"}),500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="block")}))},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s(`.${z.CLASSNAME.BADGE}`,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},x=I("settings"),P=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(x.GENERAL.SUSPECT_DOMAINS||[]).map((e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e])).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(x.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s(`.${d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO}`).insertAdjacentHTML("beforebegin",a)};x.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},K=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E(`.${d.BADGE.CLASSNAME.BADGE}`).forEach((e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '}))},{SETTINGS:{CLASSNAME:W,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then((e=>{if(e.isConfirmed){const e=s(`#${V.ID.IMPORT_TEXTAREA}`).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map((e=>e.nick));return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}}))},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s(`.${V.CLASSNAME.WH_NAV_SETTINGS_LINK}`).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s(`.${V.CLASSNAME.WH_USER_TABLE_BODY}`);t.forEach((t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))}))})(),E("input").forEach((t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])}))},r=()=>{a.addEventListener("change",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0}),a.addEventListener("click",(t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}`).classList.toggle(`${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then((t=>{if(t.isConfirmed){let t=s(`#${V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA}`).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}})),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then((e=>{e.isConfirmed&&(s(`#${V.ID.EXPORT_TEXTAREA}`).select(),document.execCommand("copy"))})))}),{passive:!1}),document.addEventListener("click",(n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(o))}),{passive:!0}),a.addEventListener("keyup",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0})};h(L.settings),h(L.modal),i(),r(),s(`.${d.SETTINGS.CLASSNAME.WH_USER_TABLE}`).addEventListener("click",(e=>{const o=e.target;o.classList.contains(`${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON}`)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}const o=n.filter((t=>t!==e));localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())}))},J="0.72",Y="WykopHelper zainstalowany!",q='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',Z="Super!",Q={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.72. Wprowadzone zmiany to:
      \n

        \n ${['Dodana opcja "naprawiania" linków do YT; po jej włączeniu w ustawieniach, osadzone filmy z YT nie będą już linkować do jakiejś francuskiej strony z wyrażaniem zgody na kto-wie-co, tylko bezpośrednio do filmu.',"Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map((e=>{return t=e,`
      • ${t}
      • `;var t})).join("")}\n
      \n`,button:"Okej!"},ee=`Pokaż OPa`,{BADGE:te}=d,ne=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",(e=>{(()=>{const e=s(te.SELECTOR.REPLY_FORM),t=s(te.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")}))},oe=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s(`.${d.COMMON.CLASSNAME.WOODLE}`).style.display="none")},ae=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach((e=>{n.push(e.textContent.replace("#",""))})));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()};t.length>0&&a()},le=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()},ie=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E(`.${d.BADGE.CLASSNAME.NICK_ELEMENT}`).forEach((e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")}))},re=()=>{const e=()=>!!I("settings").GENERAL.FIX_YOUTUBE;e()&&e()&&E(`.${d.COMMON.CLASSNAME.YT_EMBED} a.ajax`)?.forEach((e=>{let t=e.href;if(t.startsWith("https://consent.youtube.com/m?continue=")){const n=decodeURIComponent(t).replace("https://consent.youtube.com/m?continue=","").split("&gl=")[0];e.href=n,e.innerText="[zobacz film z youtube.com]"}}))};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")',width:"80%",confirmButtonText:Q.button}),localStorage.setItem("WHupdate",J),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:Y,html:q,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:Z}),localStorage.setItem("WHupdate",J)),m(),t()&&oe(),n()&&(f(),b(),ne(),document.addEventListener("paste",(e=>{if(s(`.${d.EMBED.CLASSNAME.EMBED_FILE}`)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}}),{passive:!0}),K(),ie(),re()),r()&&($(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(`${d.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",(t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)}))})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(P(),ae(),le()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",ee),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).addEventListener("click",(()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E(`.${d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS}`).forEach((t=>{t.style.backgroundColor=e})),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).remove()})))}(); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..bc7e29e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1193 @@ +{ + "name": "wykop-helper", + "version": "0.72", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/eslint-parser": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz", + "integrity": "sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA==", + "requires": { + "eslint-scope": "^5.1.0", + "eslint-visitor-keys": "^1.3.0", + "semver": "^6.3.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" + }, + "@babel/highlight": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@types/node": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", + "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + }, + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "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==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "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==" + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "magic-string": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz", + "integrity": "sha1-BoHXOIdBu8Ot2qZQYJkmJMbAnpw=", + "requires": { + "vlq": "^0.2.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup-plugin-ascii": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-ascii/-/rollup-plugin-ascii-0.0.3.tgz", + "integrity": "sha1-IFem1lwAVz0cpbJknOTlMbBCzec=", + "requires": { + "acorn": "^7.1.1", + "estree-walker": "^0.2.1", + "jsesc": "^2.2.0", + "magic-string": "^0.15.1", + "rollup-pluginutils": "^1.5.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "rollup-plugin-banner": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-banner/-/rollup-plugin-banner-0.2.1.tgz", + "integrity": "sha512-Bs1uIPCsGpKIkNOwmBsCqn+dJ/xaojWk9PNlvd+1MEScddr1yUQlO6McAXi72wJyNWYL+9u9EI2JAZMpLRH92w==", + "requires": { + "lodash.template": "^4.4.0" + } + }, + "rollup-plugin-eslint": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-eslint/-/rollup-plugin-eslint-7.0.0.tgz", + "integrity": "sha512-u35kXiY11ULeNQGTlRkYx7uGJ/hS/Dx3wj8f9YVC3oMLTGU9fOqQJsAKYtBFZU3gJ8Vt3gu8ppB1vnKl+7gatQ==", + "requires": { + "eslint": "^6.0.0", + "rollup-pluginutils": "^2.7.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + } + } + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "requires": { + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "terser": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + } + } +} diff --git a/package.json b/package.json index c93059c..76da2ee 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,12 @@ }, "author": "PLW", "license": "ISC", - "devDependencies": { - "babel-eslint": "^10.1.0", + "devDependencies": {}, + "dependencies": { + "@babel/eslint-parser": "^7.13.14", "rollup-plugin-ascii": "0.0.3", "rollup-plugin-banner": "^0.2.1", "rollup-plugin-eslint": "^7.0.0", - "rollup-plugin-terser": "^6.1.0" + "rollup-plugin-terser": "^7.0.2" } } diff --git a/rollup.config.js b/rollup.config.js index 81fd245..3119c0b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,14 +1,14 @@ import {terser} from 'rollup-plugin-terser'; -import { eslint } from "rollup-plugin-eslint"; +// import { eslint } from "rollup-plugin-eslint"; import banner from 'rollup-plugin-banner'; import ascii from 'rollup-plugin-ascii'; export default { input: 'src/index.js', plugins: [ - eslint({ - fix: true, - }), + // eslint({ + // fix: true, + // }), ascii() ], output: [ From cc3264a41b14ff9855688f80d687ac85dbf3d086 Mon Sep 17 00:00:00 2001 From: PLWpl <35236340+PLWpl@users.noreply.github.com> Date: Thu, 20 May 2021 23:30:32 +0200 Subject: [PATCH 6/8] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 833abf8..78d6c51 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -20,3 +20,5 @@ Jakie były Twoje oczekiwania, co powinno było się stać? **Dodatkowe info** :) + +_nie ustawiaj żadnych dodatkowych informacji w panelu po prawej, wypełnij tylko tę formatkę i tytuł i zapisz raport._ From 750d0c39453b85689154c66a1d770fe74b71a036 Mon Sep 17 00:00:00 2001 From: PLWpl Date: Mon, 3 Jan 2022 18:45:51 +0100 Subject: [PATCH 7/8] removed yt module --- .github/ISSUE_TEMPLATE/bug_report.md | 3 + package-lock.json | 1190 +------------------------- src/index.js | 2 - src/model/modules/settings.model.js | 10 - src/modules/fixYoutubeLinks.js | 45 - src/utils/handleLocalStorage.js | 1 - 6 files changed, 4 insertions(+), 1247 deletions(-) delete mode 100644 src/modules/fixYoutubeLinks.js diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 78d6c51..10a66d5 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -7,6 +7,9 @@ assignees: '' --- +**Wersja dodatku?** +Do odnalezienia w ustawieniach, lub w menu menadżera skryptów (np. Tampermonkey) + **Co się stało się?** W skrócie, screenshoty / logi z konsoli mile widziane. diff --git a/package-lock.json b/package-lock.json index bc7e29e..1663ca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1193 +1,5 @@ { "name": "wykop-helper", "version": "0.72", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/eslint-parser": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz", - "integrity": "sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA==", - "requires": { - "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^1.3.0", - "semver": "^6.3.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" - }, - "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@types/node": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", - "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" - }, - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "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==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "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==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "estree-walker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "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==" - }, - "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==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "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==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "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==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "magic-string": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz", - "integrity": "sha1-BoHXOIdBu8Ot2qZQYJkmJMbAnpw=", - "requires": { - "vlq": "^0.2.1" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rollup-plugin-ascii": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-ascii/-/rollup-plugin-ascii-0.0.3.tgz", - "integrity": "sha1-IFem1lwAVz0cpbJknOTlMbBCzec=", - "requires": { - "acorn": "^7.1.1", - "estree-walker": "^0.2.1", - "jsesc": "^2.2.0", - "magic-string": "^0.15.1", - "rollup-pluginutils": "^1.5.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "rollup-plugin-banner": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-banner/-/rollup-plugin-banner-0.2.1.tgz", - "integrity": "sha512-Bs1uIPCsGpKIkNOwmBsCqn+dJ/xaojWk9PNlvd+1MEScddr1yUQlO6McAXi72wJyNWYL+9u9EI2JAZMpLRH92w==", - "requires": { - "lodash.template": "^4.4.0" - } - }, - "rollup-plugin-eslint": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-eslint/-/rollup-plugin-eslint-7.0.0.tgz", - "integrity": "sha512-u35kXiY11ULeNQGTlRkYx7uGJ/hS/Dx3wj8f9YVC3oMLTGU9fOqQJsAKYtBFZU3gJ8Vt3gu8ppB1vnKl+7gatQ==", - "requires": { - "eslint": "^6.0.0", - "rollup-pluginutils": "^2.7.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "requires": { - "estree-walker": "^0.6.1" - } - } - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "rollup-pluginutils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", - "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", - "requires": { - "estree-walker": "^0.2.1", - "minimatch": "^3.0.2" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "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==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - } - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - } - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "requires": { - "mkdirp": "^0.5.1" - } - } - } + "lockfileVersion": 1 } diff --git a/src/index.js b/src/index.js index 231166d..2512679 100644 --- a/src/index.js +++ b/src/index.js @@ -14,7 +14,6 @@ import { removeWoodle } from './modules/removeWoodle'; import { removeCommentsByTag } from './modules/removeCommentsByTag'; import { removeAllComments } from './modules/removeAllComments'; import { removePostedViaApp } from './modules/removePostedViaApp'; -import { fixYoutubeLinks } from './modules/fixYoutubeLinks'; /** * Capitalize first letter @@ -39,7 +38,6 @@ if (isPath.main()) { embedOnPaste(); hideMarkedUsers(); removePostedViaApp(); - fixYoutubeLinks(); } if (isPath.userProfile()) { displayBadgeInUserProfile(); diff --git a/src/model/modules/settings.model.js b/src/model/modules/settings.model.js index 2a24521..3c7e1fd 100644 --- a/src/model/modules/settings.model.js +++ b/src/model/modules/settings.model.js @@ -50,16 +50,6 @@ export const settingsMarkup = ` />
      -
      - - -
      { - /** - * Check if user settings allow for marking domains. - * @return {boolean} True if yes, false otherwise - */ - const isSettingActive = () => { - const settings = getLocalStorage('settings'); - - if (settings.GENERAL.FIX_YOUTUBE) { - return true; - } - - return false; - } - - /** - * Parses any and all `href`s of embeded youtube elements, removing useless "consent" part and further accompanying parameters, leaving only clean youtube address. - */ - const fixYoutube = () => { - if (isSettingActive()) { - const ytPosts = $$(`.${DOM.COMMON.CLASSNAME.YT_EMBED} a.ajax`); - - ytPosts?.forEach(el => { - let ytUrl = el.href; - - if (ytUrl.startsWith('https://consent.youtube.com/m?continue=')) { - const decodedYtUrl = decodeURIComponent(ytUrl); - const replacedUrl = decodedYtUrl.replace('https://consent.youtube.com/m?continue=', ''); - const newYtUrl = replacedUrl.split('&gl=')[0]; - - el.href = newYtUrl; - el.innerText = '[zobacz film z youtube.com]'; - } - }); - } - } - - if (isSettingActive()) { - fixYoutube(); - } -} \ No newline at end of file diff --git a/src/utils/handleLocalStorage.js b/src/utils/handleLocalStorage.js index 35c6740..d3730fa 100644 --- a/src/utils/handleLocalStorage.js +++ b/src/utils/handleLocalStorage.js @@ -19,7 +19,6 @@ const initialSettings = { REMOVE_COMMENTS: '', REMOVE_ALL_COMMENTS: false, REMOVE_POSTED_VIA_APP: false, - FIX_YOUTUBE: false, }, }; const initialUnique = []; From 2c52942df7fa9d168e58c644ccdf8d839976cdec Mon Sep 17 00:00:00 2001 From: PLWpl Date: Mon, 3 Jan 2022 19:02:06 +0100 Subject: [PATCH 8/8] node up --- dist/whhelper-dev.user.js | 56 +- dist/whhelper.user.js | 2 +- package-lock.json | 4430 ++++++++++++++++++++++++++++++++++++- 3 files changed, 4431 insertions(+), 57 deletions(-) diff --git a/dist/whhelper-dev.user.js b/dist/whhelper-dev.user.js index 9805517..e72908a 100644 --- a/dist/whhelper-dev.user.js +++ b/dist/whhelper-dev.user.js @@ -462,7 +462,6 @@ REMOVE_COMMENTS: '', REMOVE_ALL_COMMENTS: false, REMOVE_POSTED_VIA_APP: false, - FIX_YOUTUBE: false, }, }; const initialUnique = []; @@ -1317,16 +1316,6 @@ />
      -
      - - -
      ${version } }; - const fixYoutubeLinks = () => { - /** - * Check if user settings allow for marking domains. - * @return {boolean} True if yes, false otherwise - */ - const isSettingActive = () => { - const settings = getLocalStorage('settings'); - - if (settings.GENERAL.FIX_YOUTUBE) { - return true; - } - - return false; - }; - - /** - * Parses any and all `href`s of embeded youtube elements, removing useless "consent" part and further accompanying parameters, leaving only clean youtube address. - */ - const fixYoutube = () => { - if (isSettingActive()) { - const ytPosts = $$(`.${DOM.COMMON.CLASSNAME.YT_EMBED} a.ajax`); - - ytPosts?.forEach(el => { - let ytUrl = el.href; - - if (ytUrl.startsWith('https://consent.youtube.com/m?continue=')) { - const decodedYtUrl = decodeURIComponent(ytUrl); - const replacedUrl = decodedYtUrl.replace('https://consent.youtube.com/m?continue=', ''); - const newYtUrl = replacedUrl.split('&gl=')[0]; - - el.href = newYtUrl; - el.innerText = '[zobacz film z youtube.com]'; - } - }); - } - }; - - if (isSettingActive()) { - fixYoutube(); - } - }; - /** * Capitalize first letter */ @@ -2099,7 +2046,6 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version embedOnPaste(); hideMarkedUsers(); removePostedViaApp(); - fixYoutubeLinks(); } if (isPath.userProfile()) { displayBadgeInUserProfile(); @@ -2120,4 +2066,4 @@ Dodatek WykopHelper został właśnie zaktualizowany do wersji ${version highlightOp(); } -}()); +})(); diff --git a/dist/whhelper.user.js b/dist/whhelper.user.js index f684524..c5f92a5 100644 --- a/dist/whhelper.user.js +++ b/dist/whhelper.user.js @@ -9,4 +9,4 @@ // @require https://cdn.jsdelivr.net/npm/sweetalert2@10 // @grant none // ==/UserScript== -!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",YT_EMBED:"embed-youtube",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>`[data-whusername='${e}`}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1,FIX_YOUTUBE:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings");d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK;const w=`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`,R=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach((t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())}))},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter((t=>t!==e));localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error(`getNick didn't work for ${e}`);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s(`.${B.CLASSNAME.BADGE}`,e),_=()=>{try{l().forEach((e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s(`.${B.CLASSNAME.MARK_BUTTON}`,e))(e)||e.insertAdjacentHTML("beforeend",u)}))}catch(e){}},N=e=>{_();l().forEach((t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s(`.${B.CLASSNAME.BADGE}`,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t)&&!s(`.${B.CLASSNAME.MARK_BUTTON_CLICKED}`,t)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t).remove(),o(n)||T(t)||s(`.${B.CLASSNAME.BADGE}`,t).remove()})),r()&&setTimeout((()=>{location.reload()}),200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:`${e.nick}`,content:`\n

      Przyczyna oznaczenia:

      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then((n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(n))}const o=e.filter((e=>e!==n));localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout((()=>{N()}),780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then((()=>{r()&&location.reload()}));else if(n.isDenied){const e=s(`#${d.MODAL.ID.BADGE_TEXT}`).dataset.label,t=s(`#${d.MODAL.ID.BADGE_TEXT}`).value,n=s(`#${d.MODAL.ID.BADGE_COLOR}`).dataset.color,a=s(`#${d.MODAL.ID.BADGE_COLOR}`).value,i=s(`#${d.MODAL.ID.BLACKLIST}`).dataset.blocked,r=s(`#${d.MODAL.ID.BLACKLIST}`).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter((e=>e!==o)),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}}))};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`)),n=e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(".verified")?e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout((()=>{e.target.remove()}),700),setTimeout((()=>{N()}),780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout((()=>{_()}),500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),r()&&s(`.${B.CLASSNAME.USER_PROFILE}`).addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",(e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach((t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))})),setTimeout((()=>{N()}),780)})(),s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Zrobione :)",setTimeout((()=>{s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="none",s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Oznacz wszystkich poniżej"}),500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="block")}))},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s(`.${z.CLASSNAME.BADGE}`,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},x=I("settings"),P=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(x.GENERAL.SUSPECT_DOMAINS||[]).map((e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e])).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(x.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s(`.${d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO}`).insertAdjacentHTML("beforebegin",a)};x.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},K=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E(`.${d.BADGE.CLASSNAME.BADGE}`).forEach((e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '}))},{SETTINGS:{CLASSNAME:W,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then((e=>{if(e.isConfirmed){const e=s(`#${V.ID.IMPORT_TEXTAREA}`).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map((e=>e.nick));return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}}))},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s(`.${V.CLASSNAME.WH_NAV_SETTINGS_LINK}`).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s(`.${V.CLASSNAME.WH_USER_TABLE_BODY}`);t.forEach((t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))}))})(),E("input").forEach((t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])}))},r=()=>{a.addEventListener("change",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0}),a.addEventListener("click",(t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}`).classList.toggle(`${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then((t=>{if(t.isConfirmed){let t=s(`#${V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA}`).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}})),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then((e=>{e.isConfirmed&&(s(`#${V.ID.EXPORT_TEXTAREA}`).select(),document.execCommand("copy"))})))}),{passive:!1}),document.addEventListener("click",(n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(o))}),{passive:!0}),a.addEventListener("keyup",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0})};h(L.settings),h(L.modal),i(),r(),s(`.${d.SETTINGS.CLASSNAME.WH_USER_TABLE}`).addEventListener("click",(e=>{const o=e.target;o.classList.contains(`${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON}`)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}const o=n.filter((t=>t!==e));localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())}))},J="0.72",Y="WykopHelper zainstalowany!",q='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',Z="Super!",Q={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.72. Wprowadzone zmiany to:
      \n

        \n ${['Dodana opcja "naprawiania" linków do YT; po jej włączeniu w ustawieniach, osadzone filmy z YT nie będą już linkować do jakiejś francuskiej strony z wyrażaniem zgody na kto-wie-co, tylko bezpośrednio do filmu.',"Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map((e=>{return t=e,`
      • ${t}
      • `;var t})).join("")}\n
      \n`,button:"Okej!"},ee=`Pokaż OPa`,{BADGE:te}=d,ne=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",(e=>{(()=>{const e=s(te.SELECTOR.REPLY_FORM),t=s(te.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")}))},oe=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s(`.${d.COMMON.CLASSNAME.WOODLE}`).style.display="none")},ae=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach((e=>{n.push(e.textContent.replace("#",""))})));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()};t.length>0&&a()},le=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()},ie=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E(`.${d.BADGE.CLASSNAME.NICK_ELEMENT}`).forEach((e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")}))},re=()=>{const e=()=>!!I("settings").GENERAL.FIX_YOUTUBE;e()&&e()&&E(`.${d.COMMON.CLASSNAME.YT_EMBED} a.ajax`)?.forEach((e=>{let t=e.href;if(t.startsWith("https://consent.youtube.com/m?continue=")){const n=decodeURIComponent(t).replace("https://consent.youtube.com/m?continue=","").split("&gl=")[0];e.href=n,e.innerText="[zobacz film z youtube.com]"}}))};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")',width:"80%",confirmButtonText:Q.button}),localStorage.setItem("WHupdate",J),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:Y,html:q,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:Z}),localStorage.setItem("WHupdate",J)),m(),t()&&oe(),n()&&(f(),b(),ne(),document.addEventListener("paste",(e=>{if(s(`.${d.EMBED.CLASSNAME.EMBED_FILE}`)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}}),{passive:!0}),K(),ie(),re()),r()&&($(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(`${d.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",(t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)}))})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(P(),ae(),le()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",ee),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).addEventListener("click",(()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E(`.${d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS}`).forEach((t=>{t.style.backgroundColor=e})),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).remove()})))}(); +!function(){"use strict";const e=location.href,t=()=>!!(e.indexOf("wykop.pl")>-1),n=()=>e.indexOf("wykop.pl/link/")>-1||e.indexOf("wykop.pl/mikroblog/")>-1||e.indexOf("wykop.pl/wpis/")>-1||e.indexOf("wykop.pl/moj/")>-1||e.indexOf("wykop.pl/ludzie/")>-1||e.indexOf("wykop.pl/tag/")>-1,o=()=>!!(e.indexOf("wykop.pl/ustawienia/")>-1),a=()=>!!(e.indexOf("wykop.pl/ustawienia/wykophelper")>-1),l=()=>!!(e.indexOf("wykop.pl/link/")>-1),i=()=>!!(e.indexOf("wykop.pl/wpis/")>-1),r=()=>!!(e.indexOf("wykop.pl/ludzie/")>-1),s=(e,t=document)=>t.querySelector(e),E=(e,t=document)=>t.querySelectorAll(e),c="whMarkedUsers",A="whUniqueNicks",T="whSettings",S="whBlacklist",d={COMMON:{CLASSNAME:{WOODLE:"woodle",YT_EMBED:"embed-youtube",BUTTON:"buttonWH"},ID:{COMMENTS_STREAM:"itemsStream"},SELECTOR:{TAGS:".fix-tagline > .tag.affect.create[href]",COMMENT:'[data-type="comment"]',THREAD:'[data-type="entrycomment"]'}},BADGE:{CLASSNAME:{NICK_ELEMENT:"author",NICK_VERIFIED_BADGE:"verified",NICK:"showProfileSummary",VOTES_USERCARD:"usercard",USER_PROFILE:"user-profile",BADGE:"badgeWH",BADGE_UNCLICKABLE:"badgeWH--unclickable",BADGE_CLICKABLE:"badgeWH--clickable",MARK_BUTTON:"buttonWH",MARK_BUTTON_CLICKED:"buttonWH--clicked",MARK_ALL_BUTTON_ELEMENT:"buttonWH--markAllContainer",MARK_ALL_BUTTON:"buttonWH--markAll",MODAL_BUTTON:"modalWH-button",MODAL_BUTTON_REMOVE:"modalWH-button--remove",MODAL_TEXT:"modalWH-text",PROFILE_BLACKLISTED:"whProfile--blacklistedIcon"},ID:{VOTES_CONTAINER:"votesContainer",PROFILE_BLACKLISTED:"whBlacklistedIcon"},SELECTOR:{NICK_ELEMENTS:".grid-main li div.author",NICK:".showProfileSummary > b",NICK_DELETED:".author > .color-1002",REPLY_FORM:".replyForm textarea",COMMENT_FORM:"#commentFormContainer textarea",USER_PROFILE_NICK_ELEMENT:".user-profile h2",USER_PROFILE_NICK:".user-profile h2 span"},DYNAMIC:{DATASET:{USERNAME:e=>`[data-whusername='${e}`}}},SETTINGS:{CLASSNAME:{SETTINGS_NAV:"whSettingsLink",SETTINGS_GENERAL:"settings--general",SETTINGS_BADGE:"settings--badge",SETTINGS_SPECIAL:"settings--special",SETTINGS_BOX:"settings__box",WH_NAV_SETTINGS_LINK:"whSettingsLink",WH_USER_TABLE:"tableWH",WH_USER_TABLE_ROW:"tableWH__row",WH_USER_TABLE_HEAD:"tableWH__head",WH_USER_TABLE_HEADING:"tableWH__heading",WH_USER_TABLE_CONTAINER:"tableWH__container",WH_USER_TABLE_CONTAINER_HIDDEN:"tableWH__container--hidden",WH_USER_TABLE_BODY:"tableWH__body",WH_USER_TABLE_REMOVE_BUTTON:"tableWH__nick-remove",WH_USER_TABLE_BADGE_COLOR:"tableWH__badgeColor",WH_SETTINGS_CROSSED:"settings__crossed"},ID:{SHOW_MARKED_TABLE:"showAllMarked",ALLOW_WIPE_MARKED_LIST:"allowWipeAllMarked",REMOVE_ALL_MARKED:"whsettings__remove-all-marked",SUSPECT_DOMAINS_SETTING:"warnOnSuspectDomain",SUSPECT_DOMAINS_SETTINGS_LINK:"suspectDomainsSettings",SUSPECT_DOMAINS_SETTINGS_TEXTAREA:"suspectDomains",WARN_ON_RELOAD_SETTING:"warnOnReload",WARN_ON_RELOAD_INFO_LINK:"warnOnReloadInfo",IMPORT_BUTTON:"buttonImport",EXPORT_BUTTON:"buttonExport",IMPORT_TEXTAREA:"importArea",EXPORT_TEXTAREA:"exportArea",EXPORT_SETTINGS_BUTTON:"buttonExportSettings",EXPORT_MARKED_BUTTON:"buttonExportMarkedUsers",EXPORT_BLACKLIST_BUTTON:"buttonExportBlacklist",IMPORT_SETTINGS_BUTTON:"buttonImportSettings",IMPORT_MARKED_BUTTON:"buttonImportMarkedUsers",IMPORT_BLACKLIST_BUTTON:"buttonImportBlacklist"},SELECTOR:{LAST_NAV_ELEMENT:"#site .nav > ul > li:last-child",ACTIVE_NAV_ELEMENT:"#site .nav > ul .active",SETTINGS_FORM_ELEMENT:"#site .grid-main .settings",IMPORT_CHECKBOX_NAME:"whImportExportChoice"}},HIGHLIGHT_OP:{CLASSNAME:{HIGHLIGHT_BUTTON:"button--highlightOp",AUTHOR_COMMENTS:"authorComment"},SELECTOR:{OP_THREAD:'[data-type="entry"]'}},EMBED:{CLASSNAME:{EMBED_FILE:"embedFile"}},DOMAIN_CHECKER:{CLASSNAME:{WYKOP_ITEM_INTRO:"bspace",WYKOP_ITEM_ANNOTATION:"annotation"},ID:{},SELECTOR:{THREAD_LINK:".article h2 a"}},MODAL:{CLASSNAME:{LINK:"whModalLink",LIST:"whModal__list",LIST_ITEM:"whModal__list-item",INPUT_LABEL:"whModal__label",INPUT_TEXT:"whModal__inputText",SCROLLABLE_TEXT:"whModal__scrollableText"},ID:{BADGE_TEXT:"whModal_badgeText",BADGE_COLOR:"whModal_badgeColor",BLACKLIST:"whModal_blacklist"}}},L={badge:`\n.${d.BADGE.CLASSNAME.MARK_BUTTON} {\n display: inline-block;\n padding: .2rem .2rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n margin-left: .5rem;\n color: #808080ba;\n border-radius: .3rem;\n font-size: .7rem;\n line-height: .7rem;\n transition: .3s all;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON}:hover {\n border-color: green;\n}\n.${d.BADGE.CLASSNAME.MARK_BUTTON_CLICKED} {\n border-color: green;\n opacity: 0;\n}\n.${d.BADGE.CLASSNAME.BADGE} {\n color: var(--badgeColor);\n font-weight: bold;\n margin-right: .3rem;\n border: 1px solid currentColor;\n padding: .1rem .2rem;\n position: relative;\n top: .1rem;\n}\n.${d.BADGE.CLASSNAME.BADGE_CLICKABLE} {\n cursor: pointer;\n}\n.${d.BADGE.CLASSNAME.BADGE_UNCLICKABLE} {\n cursor: default;\n}\n.${d.BADGE.CLASSNAME.MODAL_BUTTON} {\n display: block;\n padding: .4rem .8rem;\n border: 1px solid #9999996e;\n cursor: pointer;\n color: #808080ba;\n border-radius: .3rem;\n font-size: 1rem;\n line-height: 1rem;\n transition: .3s all;\n}\n.author .${d.BADGE.CLASSNAME.MODAL_TEXT} {\n position: relative;\n margin-bottom: .5rem;\n top: unset;\n right: unset;\n left: unset;\n bottom: unset;\n}\n\n.${d.BADGE.CLASSNAME.MARK_ALL_BUTTON} {\n top: 0.8rem;\n position: relative;\n}\n\n.${d.BADGE.CLASSNAME.PROFILE_BLACKLISTED} {\n cursor: pointer;\n}\n\n.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n position: absolute;\n top: .1rem;\n left: 0;\n}\n\n@media screen and (min-width: 722px) {\n .${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON} {\n top: 6rem;\n left: 1rem;\n }\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST} {\n margin-top:1rem;list-style-type: circle;font-size:1rem;\n}\n\n.${d.DOMAIN_CHECKER.CLASSNAME.MODAL_TEXT_LIST_ITEM} {\n text-align:left;margin-left:2rem;margin-bottom:.7rem\n}\n`,settings:`\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER} {\n padding: 1rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_CONTAINER_HIDDEN} {\n display: none;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} {\n counter-reset: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} {\n counter-increment: row-num;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE} .${d.SETTINGS.CLASSNAME.WH_USER_TABLE_ROW} td:first-child::before {\n content: counter(row-num) ". ";\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_HEAD} {\n font-weight: bold;\n border-bottom: 2px solid currentColor;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_BADGE_COLOR} {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n background: var(--settingsBadgeColor);\n border-radius: .5rem;\n}\n.${d.SETTINGS.CLASSNAME.WH_SETTINGS_CROSSED} {\n opacity: .4;\n text-decoration: line-through;\n cursor: not-allowed;\n}\n.${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON} {\n cursor: pointer;\n color: #c0392b;\n}\n.${d.SETTINGS.CLASSNAME.SETTINGS_BOX} {\n border-bottom: 1px solid #d3d3d329;\n border-left: 1px solid #d3d3d329;\n border-right: 1px solid #d3d3d329;\n}\n.${d.MODAL.CLASSNAME.LINK} {\n color: #862828;\n}\n.${d.MODAL.CLASSNAME.LINK}:hover {\n color: #4a1313 !important;\n}\n`,modal:`\n.swal2-popup.swal2-modal.swal2-show {\n background-color: #1b1b1b !important;\n border: 1px solid #ff5917 !important;\n}\n.swal2-icon.swal2-info {\n border-color: #542621 !important;\n color: #c0392b !important;\n}\n\n.swal2-title {\n color: #a2a2a2 !important;\n}\n\n.swal2-content {\n color: #888;\n text-align: unset;\n}\n\n.swal2-styled.swal2-confirm {\n background-color: #e74c3c6b !important;\n}\n.${d.MODAL.CLASSNAME.LIST} {\n margin-top: 1rem;\n list-style-type: square;\n}\n.${d.MODAL.CLASSNAME.LIST_ITEM} {\n text-align: left;\n margin-left: 2rem;\n margin-bottom: .7rem\n}\n\n.${d.MODAL.CLASSNAME.INPUT_LABEL} {\n text-transform: none;\n align-items: center;\n display: inline-flex;\n margin: .3rem 0;\n}\n\n.${d.MODAL.CLASSNAME.INPUT_TEXT}, .${d.MODAL.CLASSNAME.INPUT_TEXT}:focus {\n color: #464646 !important;\n}\n\n.${d.MODAL.CLASSNAME.SCROLLABLE_TEXT} {\n margin-top:.5rem;\n border:1px solid gray;\n padding: 1rem;\n text-align:left;\n overflow-y: auto;\n max-height: 15rem;\n}\n`},_={BADGE:{HIDE_MARKED_USERS:!1,DEFAULT_NAME:"Debil",DEFAULT_COLOR:"#ff0000"},GENERAL:{WARN_ON_RELOAD:!1,WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA:!0,SUSPECT_DOMAINS_LABEL:"Uważaj! Źródło tego znaleziska jest podejrzewane o szerzenie rosyjskiej propagandy.",SUSPECT_DOMAINS:["alternews.pl","alexjones.pl","dziennik-polityczny.com","koniec-swiata.org","magnapolonia.org","narodowcy.net","nczas.com","mysl.pl","ndie.pl","neon24.pl","newsweb.pl","parezja.pl","prostozmostu24.pl","prawdaobiektywna.pl","reporters.pl","sioe.pl","wmeritum.pl","wolnosc24.pl","wolna-polska.pl","wprawo.pl","wsensie.pl","zmianynaziemi.pl","sputniknews.com","rt.com","ruptly.tv","prawica.net","xportal.pl","kresy.pl","bdp.xportal.pl","geopolityka.org","pravda.ru","voiceofrussia.com","ria.ru","ligakobietpolskich.pl","ronik.org.pl","obserwatorpolityczny.pl","mysl-polska.pl"],REMOVE_WOODLE:!1,REMOVE_COMMENTS:"",REMOVE_ALL_COMMENTS:!1,REMOVE_POSTED_VIA_APP:!1}},N=[],O=[],p=[],m=()=>{localStorage.getItem(T)||localStorage.setItem(T,JSON.stringify(_))},I=(e="marked")=>{switch(e){case"settings":return m(),JSON.parse(localStorage.getItem(T));case"unique":return localStorage.getItem(A)||localStorage.setItem(A,JSON.stringify(N)),JSON.parse(localStorage.getItem(A));case"marked":return localStorage.getItem(c)||localStorage.setItem(c,JSON.stringify(O)),JSON.parse(localStorage.getItem(c));case"blacklist":return localStorage.getItem(S)||localStorage.setItem(S,JSON.stringify(p)),JSON.parse(localStorage.getItem(S));default:throw new Error(`Unknown storage type: ${e}. Pick either "unique", "marked", "blacklist" or "settings"`)}},M=I("settings").BADGE.DEFAULT_COLOR,u=`Oznacz`,C=``,g=(e,t="debil",n=!0,o=M)=>`${t}`,D=I("settings");d.MODAL.CLASSNAME.LIST,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK,d.MODAL.CLASSNAME.LIST_ITEM,d.MODAL.CLASSNAME.LINK;const w=`\n \n \n \n Same domeny, bez "https://" czy "www."; każda domena w osobnej linijce.\n \n`,R=`\n

      Wybierz, jaki typ danych importujesz:

      \n \n
      \n \n
      \n \n
      \n \n`,y=`\n

      Wybierz, co chcesz wyeksportować:

      \n \n \n \n \n Po skopiowaniu edytuj dane TYLKO jeśli wiesz, co robisz - inaczej możesz uszkodzić i stracić wszystkie swoje dane, co wymusi konieczność reinstalacji dodatku "na świeżo".\n`,h=(e,t="")=>{const n=``;document.body.insertAdjacentHTML("afterbegin",n)},b=()=>{const e=I("blacklist");E(d.BADGE.SELECTOR.NICK).forEach((t=>{var n;n=t.innerText,e.includes(n)&&(t.closest(d.COMMON.SELECTOR.COMMENT)?t.closest(d.COMMON.SELECTOR.COMMENT).remove():t.closest(d.COMMON.SELECTOR.THREAD)&&t.closest(d.COMMON.SELECTOR.THREAD).remove())}))},k=e=>{const t=I("blacklist");if(n=e,t.includes(n)){const n=t.filter((t=>t!==e));localStorage.setItem(S,JSON.stringify(n))}var n},{BADGE:B}=d,f=()=>{let e=I("unique"),t=I("marked"),n=I("settings");const o=t=>(e=I("unique"),!!e.includes(t)),a=(a,l,i="",r="",s=n.BADGE.DEFAULT_NAME,E=n.BADGE.DEFAULT_COLOR)=>{o(a)||((t=>{const n=[...e,t];localStorage.setItem(A,JSON.stringify(n))})(a),((e,n,o,a,l,i)=>{t=I("marked");const r=[...t,{nick:e,link:n,label:o,content:a,media:l,color:i}];localStorage.setItem(c,JSON.stringify(r))})(a,l,s,i,r,E))},l=()=>E(B.SELECTOR.NICK_ELEMENTS),i=e=>{if(!(s(B.SELECTOR.NICK,e)&&null!==s(B.SELECTOR.NICK,e)||s(B.SELECTOR.NICK_DELETED,e)&&null!==s(B.SELECTOR.NICK_DELETED,e)))throw new Error(`getNick didn't work for ${e}`);return null!==s(B.SELECTOR.NICK,e)?s(B.SELECTOR.NICK,e).innerText:null!==s(B.SELECTOR.NICK_DELETED,e)?s(B.SELECTOR.NICK_DELETED,e).innerText:void 0},T=e=>!s(`.${B.CLASSNAME.BADGE}`,e),_=()=>{try{l().forEach((e=>{const t=i(e);if(o(t)&&T(e)){const o=p(t)?p(t):null,a=o?o.label:n.BADGE.DEFAULT_NAME,l=o&&o.color?o.color:n.BADGE.DEFAULT_COLOR;e.insertAdjacentHTML("afterbegin",g(t,a,!0,l))}else(e=>!!s(`.${B.CLASSNAME.MARK_BUTTON}`,e))(e)||e.insertAdjacentHTML("beforeend",u)}))}catch(e){}},N=e=>{_();l().forEach((t=>{const n=i(t);if(o(n)&&T(t)&&t.insertAdjacentHTML("afterbegin",g(n)),e&&o(n)&&!T(t)){s(`.${B.CLASSNAME.BADGE}`,t).remove();const e=p(n);t.insertAdjacentHTML("afterbegin",g(n,e.label,!0,e.color))}o(n)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t)&&!s(`.${B.CLASSNAME.MARK_BUTTON_CLICKED}`,t)&&s(`.${B.CLASSNAME.MARK_BUTTON}`,t).remove(),o(n)||T(t)||s(`.${B.CLASSNAME.BADGE}`,t).remove()})),r()&&setTimeout((()=>{location.reload()}),200)},O=(e,t,n)=>{const o=I("marked");for(let a of o.entries())if(a[1].nick===e){a[1][t]=n;const e=o.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}N(!0)},p=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const o=s(n).dataset.whusername,a=p(o),l=I("blacklist"),i=((e,t)=>{return{title:`${e.nick}`,content:`\n
      \n

      ${e.content}

      \n ${e.media?(n=e.media,`

      Link do osadzonej treści multimedialnej (obrazek lub film)

      `):""}
      \n

      Link do komentarza lub znaleziska

      \n
      \n \n \n \n
      \n `,button:"Usuń oznaczenie",buttonClose:"Zapisz"};var n})(a,l.includes(o));Swal.fire({title:i.title,html:i.content,icon:"info",allowEnterKey:!1,showCancelButton:!1,showCloseButton:!0,showDenyButton:!0,confirmButtonText:i.button,denyButtonText:i.buttonClose,denyButtonColor:"#0a8658",width:"80%"}).then((n=>{if(n.isConfirmed)(n=>{for(let[e,o]of t.entries())if(o.nick===n){delete t[e];const n=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(n))}const o=e.filter((e=>e!==n));localStorage.setItem(A,JSON.stringify(o)),k(n),setTimeout((()=>{N()}),780)})(o),Swal.fire("Usunięto!","Użytkownik nie będzie już więcej oznaczany.","info").then((()=>{r()&&location.reload()}));else if(n.isDenied){const e=s(`#${d.MODAL.ID.BADGE_TEXT}`).dataset.label,t=s(`#${d.MODAL.ID.BADGE_TEXT}`).value,n=s(`#${d.MODAL.ID.BADGE_COLOR}`).dataset.color,a=s(`#${d.MODAL.ID.BADGE_COLOR}`).value,i=s(`#${d.MODAL.ID.BLACKLIST}`).dataset.blocked,r=s(`#${d.MODAL.ID.BLACKLIST}`).checked;if(t!==e&&O(o,"label",t),a!==n&&O(o,"color",a),i!==r){let e;r?(l.push(o),localStorage.setItem(S,JSON.stringify(l))):r||(e=l.filter((e=>e!==o)),localStorage.setItem(S,JSON.stringify(e)))}N(!0)}}))};h(L.badge),h(L.modal),_(),(()=>{if(document.getElementById(B.ID.VOTES_CONTAINER)){const e=document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav ul + ul");e&&e.insertAdjacentHTML("beforeend",C)}})(),document.getElementById("itemsStream").addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.MARK_BUTTON)&&(e=>{const t=i(e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`)),n=e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(".verified")?e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector(`.${B.CLASSNAME.NICK_VERIFIED_BADGE} + a`).href:e.target.closest(`.${B.CLASSNAME.NICK_ELEMENT}`).querySelector("a + a").href,o=e.target.closest(".wblock").querySelector(".text p").innerHTML,l=e.target.closest(".wblock").querySelector(".text .media-content a")?e.target.closest(".wblock").querySelector(".text .media-content a").href:null;e.target.classList.add(B.CLASSNAME.MARK_BUTTON_CLICKED),e.target.innerText="✔",a(t,n,o,l),setTimeout((()=>{e.target.remove()}),700),setTimeout((()=>{N()}),780)})(e),t.classList.contains("affect")&&t.closest(".more")&&setTimeout((()=>{_()}),500),t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),r()&&s(`.${B.CLASSNAME.USER_PROFILE}`).addEventListener("click",(e=>{const t=e.target;if(t.classList.contains(B.CLASSNAME.BADGE)){const e=t.dataset.whusername;m(B.DYNAMIC.DATASET.USERNAME(e))}})),document.getElementById(B.ID.VOTES_CONTAINER)&&document.getElementById(B.ID.VOTES_CONTAINER).closest(".rbl-block").querySelector(".nav").addEventListener("click",(e=>{const t=e.target;t.classList.contains(B.CLASSNAME.MARK_ALL_BUTTON)&&((()=>{const e=window.location.href,t=E(`#${B.ID.VOTES_CONTAINER} .${B.CLASSNAME.VOTES_USERCARD}`);let n;s("#voters").closest("li").classList.contains("active")?n="wykop":s("#votersBury").closest("li").classList.contains("active")&&(n="zakop"),t.forEach((t=>{const o=s("a",t).title;a(o,e,(e=>`Użytkownik ${e}ał podlinkowane znalezisko.`)(n))})),setTimeout((()=>{N()}),780)})(),s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Zrobione :)",setTimeout((()=>{s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="none",s(`.${B.CLASSNAME.MARK_ALL_BUTTON}`).innerText="Oznacz wszystkich poniżej"}),500)),(t.closest("#voters")||t.closest("#votersBury"))&&(s(`.${B.CLASSNAME.MARK_ALL_BUTTON_ELEMENT}`).style.display="block")}))},{BADGE:z}=d;let v=I("unique");let G=I("settings");const U=e=>{if(!e)throw new Error("getNickData requires nick to be provided.");const t=I("marked");for(let n=0;n{const e=s(H.SELECTOR.USER_PROFILE_NICK_ELEMENT),t=s(H.SELECTOR.USER_PROFILE_NICK).textContent,n=U(t)?U(t):null,o=n?n.label:G.BADGE.DEFAULT_NAME,a=n?n.color:G.BADGE.DEFAULT_COLOR;var l;(e=>(v=I("unique"),!!v.includes(e)))(t)&&(l=e,!s(`.${z.CLASSNAME.BADGE}`,l))&&e.insertAdjacentHTML("afterbegin",g(t,o,!0,a))},x=I("settings"),P=()=>{const e=()=>{if(!s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href)return;const e=(x.GENERAL.SUSPECT_DOMAINS||[]).map((e=>["https://"+e,"https://www."+e,"http://"+e,"http://www."+e])).flat(),t=s(d.DOMAIN_CHECKER.SELECTOR.THREAD_LINK).href,n=new URL(t),o=n.protocol+"//"+n.hostname,a=((e,t="alert")=>`\n
      \n\t\t

      ${e}

      \n\t
      \n`)(x.GENERAL.SUSPECT_DOMAINS_LABEL);e.includes(o)&&s(`.${d.DOMAIN_CHECKER.CLASSNAME.WYKOP_ITEM_INTRO}`).insertAdjacentHTML("beforebegin",a)};x.GENERAL.WARN_ON_SUSPECTED_RUSSIAN_PROPAGANDA&&e()},K=()=>{I("settings").BADGE.HIDE_MARKED_USERS&&E(`.${d.BADGE.CLASSNAME.BADGE}`).forEach((e=>{e.closest(".wblock").innerHTML='

      Tu był komentarz użytkownika, którego oznaczyłeś z pomocą WykopHelpera. Jeśli chcesz widzieć takie komentarze, edytuj swoje ustawienia w localStorage (bo zapewne tam aktywowałeś to ustawienie, czyż nie? :) ).

      '}))},{SETTINGS:{CLASSNAME:W,ID:j}}=d,X={settingsMarkup:`\n
      \n \n ᴅᴏᴄsᴄʜᴀɴɢᴇʟᴏɢ\n \n

      WykopHelper - Ustawienia

      \n\x3c!-- GENERAL --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- BADGE --\x3e\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n\x3c!-- Export and import --\x3e\n
      \n
      \n Jeśli chcesz, możesz eksportować swoje ustawienia bądź bazę oznaczonych użytkowników, albo też ją zaimportować na innym komputerze. O proces przenosin musisz zadbać sam/a - możesz do tego wykorzystać na przykład plik tekstowy "notatnika".\n \n \n
      \n
      \n\x3c!-- SPECIAL --\x3e\n
      \n
      \n Jeśli chcesz wyczyścić listę oznaczonych wcześniej użytkowników, możesz to zrobić poniżej. W związku z tym, że jest to akcja nieodwracalna, musisz najpierw potwierdzić, że na pewno taki jest Twój cel. Uwaga - po kliknięciu przycisku akcja wykonywana jest natychmiast, bez dodatkowych potwierdzeń!\n
      \n
      \n \n \n
      \n
      \n \n
      \n
      \n \n
      \n
      \n
      \n`,settingsUserTable:`\n
      \n

      WykopHelper - Lista oznaczonych użytkowników

      \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      no.NickNazwaKolorLinkUsuń
      \n
      \n`,settingsNav:`
    • WykopHelper
    • `,settingsUserTableRow:(e,t,n,o)=>`\n\n \n ${e}\n ${t}\n \n 🔗\n ✗\n\n`,textContent:{SHOW_ALL_MARKED:"Pokaż wszystkich oznaczonych użytkowników",HIDE_TABLE:"Schowaj tabelę",RUSSIAN_PROPAGANDA_MODAL_TITLE:"Skąd lista stron z propagandą?",WARN_ON_RELOAD_MODAL_TITLE:"Ostrożnie z tym ficzerem... :("}},{SETTINGS:V}=d,F=()=>{let e=I("settings");const t=I(),n=I("unique"),o=I("blacklist"),a=s(V.SELECTOR.SETTINGS_FORM_ELEMENT),l=()=>{Swal.fire({html:R,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz nowe",showLoaderOnConfirm:!0,cancelButtonText:"Anuluj",width:"80%"}).then((e=>{if(e.isConfirmed){const e=s(`#${V.ID.IMPORT_TEXTAREA}`).value,t=s(`input[type="radio"][name="${V.SELECTOR.IMPORT_CHECKBOX_NAME}"]:checked`).value;t&&"settings"===t?localStorage.setItem(T,e):t&&"markedUsers"===t?(localStorage.setItem(c,e),localStorage.setItem(A,(e=>{const t=JSON.parse(e).map((e=>e.nick));return JSON.stringify(t)})(e))):t&&"blacklist"===t?localStorage.setItem(S,e):alert("Nie wybrano typu danych: czy importujesz ustawienia, czy oznaczonych użytkowników?")}}))},i=()=>{s(V.SELECTOR.ACTIVE_NAV_ELEMENT).classList.remove("active"),s(`.${V.CLASSNAME.WH_NAV_SETTINGS_LINK}`).classList.add("active"),a.innerHTML="",a.innerHTML=X.settingsMarkup,a.removeAttribute("method"),a.removeAttribute("action"),a.insertAdjacentHTML("afterend",X.settingsUserTable),(()=>{const n=s(`.${V.CLASSNAME.WH_USER_TABLE_BODY}`);t.forEach((t=>{n.insertAdjacentHTML("beforeend",X.settingsUserTableRow(t.nick,t.label||e.BADGE.DEFAULT_NAME,t.link,t.color||e.BADGE.DEFAULT_COLOR))}))})(),E("input").forEach((t=>{const n=t.getAttribute("category");t.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&"checkbox"===t.type?t.checked=e[n][t.name]:"text"===t.type&&"nsQ"!==t.name?t.value=e[n][t.name]||"":"color"===t.type&&(t.value=e[n][t.name])}))},r=()=>{a.addEventListener("change",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"checkbox"===t.target.type&&t.target.id!==V.ID.ALLOW_WIPE_MARKED_LIST&&(e[n][o]=!e[n][o],localStorage.setItem(T,JSON.stringify(e))),"color"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0}),a.addEventListener("click",(t=>{t.target.id===V.ID.SHOW_MARKED_TABLE&&(t.preventDefault(),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}`).classList.toggle(`${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`),s(`.${V.CLASSNAME.WH_USER_TABLE_CONTAINER}--hidden`)?document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.SHOW_ALL_MARKED:document.getElementById(V.ID.SHOW_MARKED_TABLE).textContent=X.textContent.HIDE_TABLE),t.target.id===V.ID.ALLOW_WIPE_MARKED_LIST&&(t.target.disabled=!0,document.getElementById(V.ID.REMOVE_ALL_MARKED).disabled=!1,document.getElementById(V.ID.REMOVE_ALL_MARKED).style.opacity=1),t.target.id===V.ID.REMOVE_ALL_MARKED&&(t.preventDefault(),localStorage.setItem(A,"[]"),localStorage.setItem(c,"[]"),location.reload()),t.target.id===V.ID.SUSPECT_DOMAINS_SETTINGS_LINK&&Swal.fire({html:w,icon:"info",iconHtml:'',iconColor:"#fff",showCancelButton:!0,showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"Zapisz",cancelButtonText:"Anuluj",width:"80%",willOpen:t=>{s("#suspectDomainsLabel",t).value=e.GENERAL.SUSPECT_DOMAINS_LABEL,s("#suspectDomains",t).value=e.GENERAL.SUSPECT_DOMAINS.join("\n")}}).then((t=>{if(t.isConfirmed){let t=s(`#${V.ID.SUSPECT_DOMAINS_SETTINGS_TEXTAREA}`).value;t.replace("https://","").replace("http://","").replace("www.","").replace(" ","");const n=t.split("\n");e.GENERAL.SUSPECT_DOMAINS=n;const o=s("#suspectDomainsLabel").value;e.GENERAL.SUSPECT_DOMAINS_LABEL=o,localStorage.setItem(T,JSON.stringify(e))}})),t.target.id===V.ID.WARN_ON_RELOAD_INFO_LINK&&Swal.fire({title:X.textContent.WARN_ON_RELOAD_MODAL_TITLE,html:"\n

      Ten ficzer jest eksperymentalny. Obecnie prawdopodobnie udało mi się wyeliminować błędy, które sprawiały, że w przeszłości (nie)działał jak chciał, ale mimo wszystko - proponuję najpierw przetestować, czy działa jak trzeba również u Ciebie, zanim zaczniesz na nim polegać dla ochrony przed utratą treści :) \n",icon:"info",showCancelButton:!1,confirmButtonColor:"#3085d6",confirmButtonText:"OK",width:"80%"}),t.target.id===V.ID.IMPORT_BUTTON&&(t.preventDefault(),l()),t.target.id===V.ID.EXPORT_BUTTON&&(t.preventDefault(),Swal.fire({html:y,icon:"info",iconHtml:'',iconColor:"#fff",showCloseButton:!0,confirmButtonColor:"#0a8658",confirmButtonText:"SKOPIUJ DO SCHOWKA",width:"80%"}).then((e=>{e.isConfirmed&&(s(`#${V.ID.EXPORT_TEXTAREA}`).select(),document.execCommand("copy"))})))}),{passive:!1}),document.addEventListener("click",(n=>{n.target.id===V.ID.EXPORT_SETTINGS_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(e)),n.target.id===V.ID.EXPORT_MARKED_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(t)),n.target.id===V.ID.EXPORT_BLACKLIST_BUTTON&&(s(`#${V.ID.EXPORT_TEXTAREA}`).innerText="",s(`#${V.ID.EXPORT_TEXTAREA}`).innerText=JSON.stringify(o))}),{passive:!0}),a.addEventListener("keyup",(t=>{const n=t.target.getAttribute("category"),o=t.target.name;"text"===t.target.type&&(e[n][o]=t.target.value,localStorage.setItem(T,JSON.stringify(e)))}),{passive:!0})};h(L.settings),h(L.modal),i(),r(),s(`.${d.SETTINGS.CLASSNAME.WH_USER_TABLE}`).addEventListener("click",(e=>{const o=e.target;o.classList.contains(`${d.SETTINGS.CLASSNAME.WH_USER_TABLE_REMOVE_BUTTON}`)&&((e=>{for(let[n,o]of t.entries())if(o.nick===e){delete t[n];const e=t.filter((e=>null!=e));localStorage.setItem(c,JSON.stringify(e))}const o=n.filter((t=>t!==e));localStorage.setItem(A,JSON.stringify(o))})(o.dataset.whuserremove),o.closest("tr").remove())}))},J="0.72",q="WykopHelper zainstalowany!",Y='Miłego używania dodatku! Jeśli masz jakiekolwiek problemy, pytania lub sugestie, zgłoś je tutaj.',Z="Super!",Q={title:"WykopHelper zaktualizowany!",content:`\nDodatek WykopHelper został właśnie zaktualizowany do wersji 0.72. Wprowadzone zmiany to:
      \n

        \n ${['Dodana opcja "naprawiania" linków do YT; po jej włączeniu w ustawieniach, osadzone filmy z YT nie będą już linkować do jakiejś francuskiej strony z wyrażaniem zgody na kto-wie-co, tylko bezpośrednio do filmu.',"Poprawki w funkcjonalności usuwania informacji o postowaniu przez aplikację;","Usunięty błąd uniemożliwiający korzystanie z funkcjonalności oznaczania autora wątku na mikroblogu;","Usunięty błąd który powodował, że jeśli X został dodany na czarną listę, a potem zostało usunięte odznaczenie, to zostawał na czarnej liście na zawsze."].map((e=>{return t=e,`
      • ${t}
      • `;var t})).join("")}\n
      \n`,button:"Okej!"},ee=`Pokaż OPa`,{BADGE:te}=d,ne=()=>{I("settings").GENERAL.WARN_ON_RELOAD&&window.addEventListener("beforeunload",(e=>{(()=>{const e=s(te.SELECTOR.REPLY_FORM),t=s(te.SELECTOR.COMMENT_FORM);let n=!1,o=!1;return e&&e.value.length>0&&(o=e&&e.value.split(" ").length>5),t&&t.value.length>0&&(n=t&&t.value.split(" ").length>5),!o&&!n})()||(e.preventDefault(),e.returnValue="Wygląda na to, że jesteś w trakcie pisania komentarza. Czy na pewno chcesz opuścić stronę?")}))},oe=()=>{I("settings").GENERAL.REMOVE_WOODLE&&(s(`.${d.COMMON.CLASSNAME.WOODLE}`).style.display="none")},ae=()=>{const e=I("settings").GENERAL.REMOVE_BY_TAG,t=e?e.replace(" ","").replace("#","").split(","):"";let n;window.dataLayer2[1]?(n=Object.assign({},window.dataLayer2[1]),delete n.action,delete n.event,delete n.logged,delete n.method):(n=[],document.querySelectorAll(d.COMMON.SELECTOR.TAGS).forEach((e=>{n.push(e.textContent.replace("#",""))})));const o=e=>t.includes(e),a=()=>{Object.values(n).some(o)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()};t.length>0&&a()},le=()=>{I("settings").GENERAL.REMOVE_ALL_COMMENTS&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`)&&s(`#${d.COMMON.ID.COMMENTS_STREAM}`).remove()},ie=()=>{I("settings").GENERAL.REMOVE_POSTED_VIA_APP&&E(`.${d.BADGE.CLASSNAME.NICK_ELEMENT}`).forEach((e=>{const t=e.querySelector("a + small");t&&(t.style.display="none")}))};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},h(L.modal,"whInitModalStyle"),localStorage.getItem("WHupdate")&&localStorage.getItem("WHupdate")',width:"80%",confirmButtonText:Q.button}),localStorage.setItem("WHupdate",J),(()=>{if(!localStorage.getItem(S)){const e=[];localStorage.setItem(S,JSON.stringify(e))}})()):localStorage.getItem("WHupdate")||(Swal.fire({title:q,html:Y,icon:"warning",iconHtml:'',width:"80%",confirmButtonText:Z}),localStorage.setItem("WHupdate",J)),m(),t()&&oe(),n()&&(f(),b(),ne(),document.addEventListener("paste",(e=>{if(s(`.${d.EMBED.CLASSNAME.EMBED_FILE}`)&&e.clipboardData.files[0]){const t=s(`.${d.EMBED.CLASSNAME.EMBED_FILE} input`);t.files=e.clipboardData.files;const n=new Event("UIEvent");n.initEvent("change",!1,!0),t.dispatchEvent(n)}}),{passive:!0}),K(),ie()),r()&&($(),(()=>{const e=location.pathname.split("/")[2],t=I("blacklist");(e=>t.includes(e))(e)&&(s(`${d.BADGE.SELECTOR.USER_PROFILE_NICK}:not(:first-child)`).style.filter="grayscale(65%)",s(d.BADGE.SELECTOR.USER_PROFILE_NICK_ELEMENT).insertAdjacentHTML("beforeend",`🔐`)),document.addEventListener("click",(t=>{t.target.id===d.BADGE.ID.PROFILE_BLACKLISTED&&k(e)}))})()),o()&&s(V.SELECTOR.LAST_NAV_ELEMENT).insertAdjacentHTML("beforeend",X.settingsNav),a()&&F(),l()&&(P(),ae(),le()),i()&&(s(`${d.HIGHLIGHT_OP.SELECTOR.OP_THREAD} .${d.BADGE.CLASSNAME.NICK_ELEMENT}`).insertAdjacentHTML("afterbegin",ee),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).addEventListener("click",(()=>{const e=s(".night")?"rgb(7, 68, 91)":"#ffeac1";E(`.${d.HIGHLIGHT_OP.CLASSNAME.AUTHOR_COMMENTS}`).forEach((t=>{t.style.backgroundColor=e})),s(`.${d.HIGHLIGHT_OP.CLASSNAME.HIGHLIGHT_BUTTON}`).remove()})))}(); diff --git a/package-lock.json b/package-lock.json index 1663ca6..93fb7c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,4433 @@ { "name": "wykop-helper", "version": "0.72", - "lockfileVersion": 1 + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "wykop-helper", + "version": "0.72", + "license": "ISC", + "dependencies": { + "@babel/eslint-parser": "^7.13.14", + "rollup-plugin-ascii": "0.0.3", + "rollup-plugin-banner": "^0.2.1", + "rollup-plugin-eslint": "^7.0.0", + "rollup-plugin-terser": "^7.0.2" + }, + "devDependencies": {} + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz", + "integrity": "sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==", + "dependencies": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz", + "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "peer": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "peer": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "peer": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz", + "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==", + "peer": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz", + "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz", + "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", + "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", + "peer": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.2.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", + "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "peer": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "peer": true + }, + "node_modules/@types/node": { + "version": "17.0.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", + "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" + }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.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==", + "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/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001295", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001295.tgz", + "integrity": "sha512-lSP16vcyC0FEy0R4ECc9duSPoKoZy+YkpGkue9G4D81OfPnliopaZrU10+qtPdT8PbGXad/PNx43TIQrOmJZSQ==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "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==", + "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.31", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.31.tgz", + "integrity": "sha512-t3XVQtk+Frkv6aTD4RRk0OqosU+VLe1dQFW83MDer78ZD6a52frgXuYOIsLYTQiH2Lm+JB2OKYcn7zrX+YGAiQ==", + "peer": true + }, + "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==" + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "peer": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz", + "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==", + "peer": true, + "dependencies": { + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.3.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.2.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/eslint/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/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==", + "peer": true + }, + "node_modules/eslint/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==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", + "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", + "peer": true, + "dependencies": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.1.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "peer": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "peer": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "peer": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "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" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "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==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/inquirer/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/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==" + }, + "node_modules/inquirer/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "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==", + "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/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/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==", + "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==", + "peer": true, + "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-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==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "peer": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "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==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz", + "integrity": "sha1-BoHXOIdBu8Ot2qZQYJkmJMbAnpw=", + "dependencies": { + "vlq": "^0.2.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "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/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "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/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "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-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "peer": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "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/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "peer": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "peer": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.62.0.tgz", + "integrity": "sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==", + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-ascii": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-ascii/-/rollup-plugin-ascii-0.0.3.tgz", + "integrity": "sha1-IFem1lwAVz0cpbJknOTlMbBCzec=", + "dependencies": { + "acorn": "^3.2.0", + "estree-walker": "^0.2.1", + "jsesc": "^2.2.0", + "magic-string": "^0.15.1", + "rollup-pluginutils": "^1.5.0" + } + }, + "node_modules/rollup-plugin-ascii/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rollup-plugin-banner": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-banner/-/rollup-plugin-banner-0.2.1.tgz", + "integrity": "sha512-Bs1uIPCsGpKIkNOwmBsCqn+dJ/xaojWk9PNlvd+1MEScddr1yUQlO6McAXi72wJyNWYL+9u9EI2JAZMpLRH92w==", + "dependencies": { + "lodash.template": "^4.4.0" + } + }, + "node_modules/rollup-plugin-eslint": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-eslint/-/rollup-plugin-eslint-7.0.0.tgz", + "integrity": "sha512-u35kXiY11ULeNQGTlRkYx7uGJ/hS/Dx3wj8f9YVC3oMLTGU9fOqQJsAKYtBFZU3gJ8Vt3gu8ppB1vnKl+7gatQ==", + "dependencies": { + "eslint": "^6.0.0", + "rollup-pluginutils": "^2.7.1" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/rollup-plugin-eslint/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/rollup-plugin-eslint/node_modules/cross-spawn/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/rollup-plugin-eslint/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/rollup-plugin-eslint/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==" + }, + "node_modules/rollup-plugin-eslint/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "node_modules/rollup-plugin-eslint/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/rollup-plugin-eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/rollup-plugin-eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-eslint/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/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dependencies": { + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "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==", + "peer": 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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "peer": true, + "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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "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==", + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "acorn": "^8.5.0" + }, + "peerDependenciesMeta": { + "acorn": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "peer": true + }, + "@babel/core": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/eslint-parser": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz", + "integrity": "sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==", + "requires": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.7.tgz", + "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "peer": true, + "requires": { + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "peer": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", + "peer": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "peer": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "peer": true + }, + "@babel/helpers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", + "peer": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/highlight": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz", + "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==", + "peer": true + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.7.tgz", + "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.7.tgz", + "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "peer": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@eslint/eslintrc": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", + "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", + "peer": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.2.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "peer": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", + "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "peer": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "peer": true + }, + "@types/node": { + "version": "17.0.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.7.tgz", + "integrity": "sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ==" + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "peer": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "peer": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "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==" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "caniuse-lite": { + "version": "1.0.30001295", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001295.tgz", + "integrity": "sha512-lSP16vcyC0FEy0R4ECc9duSPoKoZy+YkpGkue9G4D81OfPnliopaZrU10+qtPdT8PbGXad/PNx43TIQrOmJZSQ==", + "peer": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "peer": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "peer": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.31", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.31.tgz", + "integrity": "sha512-t3XVQtk+Frkv6aTD4RRk0OqosU+VLe1dQFW83MDer78ZD6a52frgXuYOIsLYTQiH2Lm+JB2OKYcn7zrX+YGAiQ==", + "peer": true + }, + "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==" + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "peer": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.6.0.tgz", + "integrity": "sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==", + "peer": true, + "requires": { + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.3.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.2.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "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==", + "peer": true + }, + "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==", + "peer": true + }, + "eslint-scope": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "peer": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "peer": true + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "peer": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "peer": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "espree": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", + "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", + "peer": true, + "requires": { + "acorn": "^8.7.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^3.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==", + "peer": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "estree-walker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "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==" + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "peer": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "peer": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "peer": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true, + "peer": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "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==", + "peer": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "peer": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "peer": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "peer": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "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==", + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz", + "integrity": "sha1-BoHXOIdBu8Ot2qZQYJkmJMbAnpw=", + "requires": { + "vlq": "^0.2.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "peer": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "peer": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "peer": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "peer": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "peer": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "peer": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.62.0.tgz", + "integrity": "sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw==", + "peer": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-ascii": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-ascii/-/rollup-plugin-ascii-0.0.3.tgz", + "integrity": "sha1-IFem1lwAVz0cpbJknOTlMbBCzec=", + "requires": { + "acorn": "^3.2.0", + "estree-walker": "^0.2.1", + "jsesc": "^2.2.0", + "magic-string": "^0.15.1", + "rollup-pluginutils": "^1.5.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + } + } + }, + "rollup-plugin-banner": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-banner/-/rollup-plugin-banner-0.2.1.tgz", + "integrity": "sha512-Bs1uIPCsGpKIkNOwmBsCqn+dJ/xaojWk9PNlvd+1MEScddr1yUQlO6McAXi72wJyNWYL+9u9EI2JAZMpLRH92w==", + "requires": { + "lodash.template": "^4.4.0" + } + }, + "rollup-plugin-eslint": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-eslint/-/rollup-plugin-eslint-7.0.0.tgz", + "integrity": "sha512-u35kXiY11ULeNQGTlRkYx7uGJ/hS/Dx3wj8f9YVC3oMLTGU9fOqQJsAKYtBFZU3gJ8Vt3gu8ppB1vnKl+7gatQ==", + "requires": { + "eslint": "^6.0.0", + "rollup-pluginutils": "^2.7.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-pluginutils": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", + "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "requires": { + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "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==", + "peer": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "peer": true + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "peer": true + }, + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "peer": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "peer": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "peer": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + } + } }

      Przyczyna oznaczenia: