From 186fb146c3aafc67b13431fafd93fe149269d00a Mon Sep 17 00:00:00 2001 From: "Sipsuru (Dragon Patches)" Date: Mon, 11 Nov 2024 09:01:42 +0530 Subject: [PATCH] Clean Upload Without Electron Vite --- .editorconfig | 9 + .eslintignore | 4 + .eslintrc.cjs | 3 + .npmrc | 2 + .prettierignore | 6 + .prettierrc.yaml | 4 + .yarnrc.yaml | 1 + build/entitlements.mac.plist | Bin 0 -> 786432 bytes build/icon.icns | Bin 0 -> 786432 bytes build/icon.ico | Bin 0 -> 171050 bytes build/icon.png | Bin 0 -> 22826 bytes electron-builder.yml | 50 + index.js | 67 + lang/de.json | 57 + lang/en.json | 59 + package-lock.json | 3918 +++++++++++++++++ package.json | 40 + routes/api.js | 63 + routes/frontend.js | 46 + server.js | 23 + services/generator.js | 89 + services/translation.js | 46 + services/wp.js | 128 + static/banner.svg | 1 + ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.113.woff2 | Bin 0 -> 11188 bytes ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.117.woff2 | Bin 0 -> 8884 bytes ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2 | Bin 0 -> 13368 bytes ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 | Bin 0 -> 18600 bytes ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2 | Bin 0 -> 13032 bytes ...sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 | Bin 0 -> 17792 bytes static/font/font.css | 48 + static/icons/android-chrome-192x192.png | Bin 0 -> 3003 bytes static/icons/android-chrome-512x512.png | Bin 0 -> 7205 bytes static/icons/apple-touch-icon.png | Bin 0 -> 2772 bytes static/icons/base-icon.svg | 1 + static/icons/favicon-16x16.png | Bin 0 -> 930 bytes static/icons/favicon-32x32.png | Bin 0 -> 1366 bytes static/icons/favicon.ico | Bin 0 -> 15086 bytes static/icons/mstile-150x150.png | Bin 0 -> 3243 bytes static/icons/safari-pinned-tab.svg | 54 + static/index.js | 71 + static/robots.txt | 2 + static/style.css | 347 ++ static/sw.js | 1 + templates/epub/META-INF/container.xml | 6 + templates/epub/META-INF/metadata.xml.pug | 18 + templates/epub/OPS/chapter.xhtml.pug | 13 + templates/epub/OPS/content.opf.pug | 50 + templates/epub/OPS/cover.xhtml | 12 + templates/epub/OPS/css/main.css | 166 + templates/epub/OPS/css/title.css | 43 + templates/epub/OPS/title.xhtml.pug | 15 + templates/epub/OPS/toc.ncx.pug | 28 + templates/epub/mimetype | 1 + templates/htmlv2.pug | 321 ++ views/_layout.pug | 8 + views/book.pug | 38 + views/error.pug | 14 + views/help.pug | 7 + views/home.pug | 12 + views/partials/head.pug | 36 + views/partials/titlebar.pug | 8 + yarn.lock | 3779 ++++++++++++++++ 63 files changed, 9715 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.yaml create mode 100644 .yarnrc.yaml create mode 100644 build/entitlements.mac.plist create mode 100644 build/icon.icns create mode 100644 build/icon.ico create mode 100644 build/icon.png create mode 100644 electron-builder.yml create mode 100644 index.js create mode 100644 lang/de.json create mode 100644 lang/en.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 routes/api.js create mode 100644 routes/frontend.js create mode 100644 server.js create mode 100644 services/generator.js create mode 100644 services/translation.js create mode 100644 services/wp.js create mode 100644 static/banner.svg create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.113.woff2 create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.117.woff2 create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2 create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2 create mode 100644 static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 create mode 100644 static/font/font.css create mode 100644 static/icons/android-chrome-192x192.png create mode 100644 static/icons/android-chrome-512x512.png create mode 100644 static/icons/apple-touch-icon.png create mode 100644 static/icons/base-icon.svg create mode 100644 static/icons/favicon-16x16.png create mode 100644 static/icons/favicon-32x32.png create mode 100644 static/icons/favicon.ico create mode 100644 static/icons/mstile-150x150.png create mode 100644 static/icons/safari-pinned-tab.svg create mode 100644 static/index.js create mode 100644 static/robots.txt create mode 100644 static/style.css create mode 100644 static/sw.js create mode 100644 templates/epub/META-INF/container.xml create mode 100644 templates/epub/META-INF/metadata.xml.pug create mode 100644 templates/epub/OPS/chapter.xhtml.pug create mode 100644 templates/epub/OPS/content.opf.pug create mode 100644 templates/epub/OPS/cover.xhtml create mode 100644 templates/epub/OPS/css/main.css create mode 100644 templates/epub/OPS/css/title.css create mode 100644 templates/epub/OPS/title.xhtml.pug create mode 100644 templates/epub/OPS/toc.ncx.pug create mode 100644 templates/epub/mimetype create mode 100644 templates/htmlv2.pug create mode 100644 views/_layout.pug create mode 100644 views/book.pug create mode 100644 views/error.pug create mode 100644 views/help.pug create mode 100644 views/home.pug create mode 100644 views/partials/head.pug create mode 100644 views/partials/titlebar.pug create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3dce414 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..a6f34fe --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +node_modules +dist +out +.gitignore diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..d1e1ab6 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,3 @@ +module.exports = { + extends: ['eslint:recommended', '@electron-toolkit', '@electron-toolkit/eslint-config-prettier'] +} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..34862ff --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +electron_mirror=https://npmmirror.com/mirrors/electron/ +electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/ diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..9c6b791 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +out +dist +pnpm-lock.yaml +LICENSE.md +tsconfig.json +tsconfig.*.json diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 0000000..35893b3 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,4 @@ +singleQuote: true +semi: false +printWidth: 100 +trailingComma: none diff --git a/.yarnrc.yaml b/.yarnrc.yaml new file mode 100644 index 0000000..f31d7a2 --- /dev/null +++ b/.yarnrc.yaml @@ -0,0 +1 @@ +nodeLinker: "node-modules" \ No newline at end of file diff --git a/build/entitlements.mac.plist b/build/entitlements.mac.plist new file mode 100644 index 0000000000000000000000000000000000000000..ab5d68cd4f7b57ebaa02364ba5c7be0aca237526 GIT binary patch literal 786432 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 literal 0 HcmV?d00001 diff --git a/build/icon.icns b/build/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..ab5d68cd4f7b57ebaa02364ba5c7be0aca237526 GIT binary patch literal 786432 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 literal 0 HcmV?d00001 diff --git a/build/icon.ico b/build/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ed4e7413f66b7b5c150b68065a4ccfb38321b251 GIT binary patch literal 171050 zcmeHQ2VBix6n_n6ls&Q|BUzb6l9`cR#-B8dlvQM;Xc!erW=6=4qRd346xlmMRD{fy zme%iozwhVAujjq??%mJl^y~fRz29^0x#ymH@3|a~2&V?8Ze0#J%5n_FIUHvWha)3H z|F*Be;bfC@vaIh<~-Ih;X*=-=`~IGh*5IGm9qe?PB9p10+2 z^z?q;zmq&4&f!>F|GvMv2&bEg2nPw@50&F^rkIIx%hvVbxt z6ibLIAmN!D&nnEPsIChsN^!AZ>b5AycXE7p_I8RocZZ^UA5qj*KIHqDqC9R;l-eqa z>P)`HcZ>cJa|y7P*r+b<~!#Qc8rmZCm=H6lHasqP*`@)Rl)6wZw%!jj>}2 zGvLRRjTB{lf})NEP?XzsiWxFps{5GXBj!{XAQKc3vdq-A_?V2`xWJA5Do&fNb0- z>J^cn2?Q%P{}?&c-%3%QAv9J#B;ULQTuucO`6YZ{$?u;!z^y-|9(E^nL=bf&^^5r) zIpWz>zmM$m`T3vwEU!K&=x^v5qUtzAopJRK_j#i8coWHE8$zcDr4q_d{_=AV-i3GK z-6xCjy}aMXyZ^~I_|=Kj9q_Usgy(qj`p>)ZJ`Gaewh(=Wx|3fz9!Tm9(Niq>;{6td z??VTLMN`zz6pD)cLQxT)$uSqg^><$>ZgM9woY(vJUZ$w{B#N59`*+<%{mq3?zfoR% z=k(3o-;ZzOp3iXQ{LiN0tLZi{ zKln562d0oG=tI;6d<(qa=R;Aw$^Xz-X!CKsAow%ySNZ*Zw2L5DKZ?rErs<$BMQw1W z+Y5YG;QQxi<){O|pLsv907huHq5JVp=y=E>zJ<2$b1X#}Ia8FfsUZ2G+flZxG4EF* z&%pM8ZNQaPqWd6QXK&Lw9&P%2a&3hx;g7)g=hPSM{Now3!xZ&~@EY|CJecW7xA|!Q z-VmDxb_d#Zlr_Kd&*Wd3JOeujc8i?{MfEbFsGi0Y<>*CGU*joi`vsaWkOAa3M zI(UQx8v|uxK9)c0SiK z@jO$Id(pl#HpD;WD8hU3F7CT|?V;lS4LeMh&>%wS2XYfSfINxRH4e$s7(%xRr4uR$ zPKCJ_-@v!VbT#6BTZ8=nz7)R8n^$}j-@a1@-)8cXE9R(Es4vAq0?H_m->9F^m1yVe ziJsr=SvYba&!O*xc0xcN{yC3tYml}*;3-9=XK+fudjo{IK5SFeOW1)X zE_7cSvV|0vMEj<^Zc)^W_e9qb`yBN+&+pIA{73h4>pxHVaSnP2HaPrQu<_CNgns&w zNcWH6Ut4pGqJ9y5jlL}MoA>u~_QQZ7zwZOjV*wPEmQLH(kU{tkA>Sx3>{iGdzK6cr z!?$!_vpD#Vci?;IhoJATvVxX@9^`wdm$$;`bLda4BK>_l-xz&R^ywJ+N1Fz}?rv|I7r-7izs{C?@}KA1g7AmTqyG;5XL+3dKJ+_$sE~^< z@f7uueAm^NqNWkq!F!O$;wV4f0ZhAnSBpdO~BX%%r*8Ad4-Rup!yGGKz&0ULIS?fYbOE;5j!m3MDB+k zf_^H9{l(xs(uy8)N+mj{sOdY&1AHcoY_jU$`fMpjiV}|M}*2EUxoQ5 z@`^ko?tgG$jCkBbfF$2-)tExuK&?LEAITG4l(&h-*dh*oqzD4D1DEA zo+bTO%typLxZ=bgGRWi~?}Z;`|5b`R#}M8*!2&q{^H%xaj@m`(wS@>%l==`b9iTo=ubZR7nBF)JZvt^q1kbPo(F@u zviY&Y%0vEq# zlw9i}Yy@`u#nfL$&Y^?0pQmkWw9Dv+!7q)3xl@>90K5BBEPW1RmKblic#oDX`1&o5 z(7eMt3!MM?>4nZeWEtam7<)s4-HUNXi~(S71=cXYZbcq3cMIn*X9M{}zY6p3kl;_p z9P-lEKgd7UU?4#rkT-5UAm=-h@grR)+CLBc7ww_Pl(_YmT<7Ba+fIWFVXPT4RABrG z7K|+LI|`B?UJZ7G}N=u3>&Q%Ej0ajNCBCQqMmr19Tt8@-W9*P>Lop zgMI_*43k%W#}dgu(GQSsBwjs(JOE3y!x&G-d}Pd}Kv_WW8)2^8Wc%Fn&6K4i^3V34 z@XJ5*ZPZh=3GjEpzYBs+LfIhe%ze2XOCtYl{}twmpw42P9&- zf%em&T*XPKFO07e`7f&fmYaXV1N5t1uKd-LG(si&7k(Pd>4YriR%h~a4RVCKg}Fff zPv~_L(C4sUN`m6ad(lR7=lqdx=O>SO-2*v7eMC7>hcRyida)!3bH}hgMNm7(lh=HY zf#ErBIS3|fJ;Ugm;yN;VizlD__<+1u^zqY*K7L)%=MOORHy-9g-uTI2S)4;&nfV*c zJd}>)+zvwJef|vch`e(1%`+WH__LG|z&x!%gschunWu#lJPG_#SomkoQyubKm(XQG z-w9?_msw87nX8^5c7$@4%Kf z=zNT2qb(4mFG}*fB58LKYm-SO$$yj|etLX^Nf?J^kJFcAS^2%Y)XPtF3%mT7(>v0t zWb_Tc^75W5>+)mW0Aisb?i}(~l4A#uKVHH&OSAr?ZDI2t^#H#ScLVXa5L3babmpY4aar)|fZ7!j+D3 zeBdfQmo~q#_=y$ODr~yZo@d&<69i%lZAy z;FaI|dGAB{OV$44(f>s$Kl)SLn6{>c$FHpIpTd?Obp`Y45HAn&QP8KxIbQze^}8aL zpD8=mY%&S|0}oyd7<*EXPp_htpI_M-3@}%kjREG5A_g2}L(tmL@?3uCHuTRS!;GFo z`Ph7C%FZ1BVDP)Ii8U06m4;Z3m`jNFu<%i5;JqEMZ3N{JiK_Tt~_Tu>X zgO-c)cbJk<)Xf*P-H2aG1DHGLK0M+C;2Q2h9w0|pM}c)NOme@GvksKI@)NyfPGmiu)K?_z zp8&Z>JI0iWk>6th+*`PRP>*2C;Tl`Vp$%aBH?Y=_tpmzi`B6s1-)9nH@`Io3GT|Q7 z5yXdM5@a6b$9=#61bM@Ja<&dY+(h=f%3Jxt8^r8q68H)pqRhO6y$YCwa^X70P?>!a zu!UfwPuI~ zjD)p(SP#eOJa*oh|8WiL*s+F(Nmx&U@kH#k0G|rhJhJg(o-L33M_UKI$D}`f8-fjQ z8Bmu|Kd{!B@u9(9K-+*dB4`g8y~vcAeJpR~N8V6I#1&?2J>USF7BP@v!$bGu9*h|x zZYg|VNrcx-LaZa`2CRk3O>Xe5@>+hxwSvAv-DMKiD`LD5>x!|z4s;!Sr;MG5`_SLP znq*!%Ve_2*e|aoF@&~>_pJQGOBi9TLf{s|Hiapxc_6@tN{QfVm{_(_*y{|oe_nN+ z-#1FT{Fqw<{mdk8|5t#0$IdUx2EsmCuwl@zVeBHb0Sr#;XY%uZX_p^yiGPtcok>q3 z>GhrA^Qm?EYa%j(>n>C@0%* z0SsWLL(i`~MAv1kYc4H9EDyA)Oe)FpLk1xO(9_rpjyIvt51SQpqDqt4?Mg|P9~i)X z!yda#>>XYl%JO$H_+0mF z>t%Ul@=|~!%3jsizg#TtU&Kq^|0=Qk_na9`dZX{p=>B4ckM6fKhbNy$-XM&9J3Z!hx}hz*T17|SntgF zy_YLbGyvhxs)hjKM2sY~mC&C!5flGK0ecVqt|QD*mi%5$D2PxTp=?4$t)J!fd6W%h zL|IX0l%2tWL+t-Q|94qPiIHnl2t6Q_L8!czsig9SGNbIk09gFRhW>3r&Lt2ksqa^m z_W}cBLTrpCli%?|Z2rgwumC2Iq1J@%6RIfuEv%c~+cLd7^uqhTl8CwR+(pSds+w8m*@c&}L26=*C8GcoaD`Vb!c_R4z3p-X@Ks^7^ zL%;=N#u$IXoN{I?9pmZcg)pAa%v~;Oc?8l=hT#!u^Hq8^V%@qNzk0o zf|fbI_hUXiv#&&X!h>I4FqVV)Af-{y@D0pAVb3w`>_Z60(k6Tt zIAAX_b}B7=5EtYOnFGmAn8Uu(m7eFuwDbJzkWx8E_=j;@X0I3~pQV8h>K1r&n>D{5 z-^W@R$VqAFzWnF|*gIu~5843eI(EYTPPxrD%ukt$^PaNA2l4}1WhdaJwu-i)i?f`C zeOGzIhj+dn=59a_l@($BURl*Ie)0oZ!dgtMVZ!_-%y-1xUBve(3&MU1h%v=ZrKz8J z>lZs8n755Mc$f=_x$9*`%)TN_-pUI;On%DSQHW3O94SkDuooP@4;_TLoaHfM-{lYl-&xlpQhqS~I*VOMK9l!luVO{IYJ_nK`)F7mJOFA3}bLiVym3j6GS@eq3e42e=?+HgwkpciN`Jxx&g-Wx|KS1~Q1Y55D5d4`{p! zi&1642jw43I)a)8_DE1YCgEhEw!D&xkc7 zNKaKXd{7Ro|G+v+hX07aAP5^?j38rpcK;Q6y)LlBcm(2X^TVhj;R9a-V$opz9`=mH zI33okV4Zq?6UNuDzXSY~?1b12{Nh{`8$NSB7pRQ@ulV^l1hwzDA2HkCkp2e}_>Qqm z)Dw2hF6^p`*fCMC?ijIV+3j3Kzz4jB-e3~yg45Z*b~eh&teb{B-FU&=N$OgSLVru<_xxam0pUW5fK9aw9$))~bUJUZrE`K-bLKPOs%f{PZK& za>gA*e+04SnfEZqiXcC{F&hvsfr-7rl!G~<9>Kmr`;B-d&^@pxff;;~X#d%9jhNbn zIBopqJ(YKSP+sJly@vq)$2qp1VDP~a&v5G#Iify6=dxpBFqkk$?01DV>AX4$?<(*3 zAdiq0whs?7kXKAI1~2#`5!(;;Bs-xE#MqH%2)(Bcb3gB~BH#mASmF9N<{Qchn|aE{ zyk!V>4{RkSK_9#N(eYw2pAT!=1<4_>stEW%?y+Y(yIn$g5g!3@QZSzZ^@!`Q{@q5Q zeKX$oZ>(haIxruWxu3TUtcdc1JOiTzyD92h0wW3Z5ix%e3(tgL0eP54WXg=hnL!_x z9X}X%BjzmnaJk7#Ma2jChMb_!6i?bA-h@6Vu=|ntH;yv<9^i;}9X{2nV3J}49P1!Q2d9X$^ja~Al;=Yx%d`UJZN zeUbd)!Fyjt!-vT~bO`2X!*+x`AqJ@%@nc}0Klsj;9i(xAJzWre!@Qq4mL)!d=GVdh z$>cAuBg)Q;xa5<#Bop9x?!(T$WT;^Lv30>IT|eCKfV-6YPHM69?Ubz9!_XtO)&nj4`rPY0OUm zK9CFeTM##lH=%!oe!+9ncPz~~V*I|v-hTo4EG>K(8Om$V6khDg`gduqPXRs*VGR%4 zhg#McjZ5K~GRJL)e+z=Da7 z1bh%n%7lB55&sjgoxkiLwAGi{FNhq06WsXT& zT>T4R1gu^W0(QUA<%xh~W(#g9Ex_kk@iZb;~lJ|h34 zUN{jFVqbFDvw5)PH|7ivG|BHoLd-qFW65FxtbsZ3hd%NnB*eUQF#zVkekvhhdt18L zL)L*gut$3!l>M^70N95M@h>y^drh!U7UExK_yc>P%~>|O2Rgr0u*Vz%W}X9%_+1f+ zTL$F4?D$onb{hG`oK4Je!Mab(>%#nN5a#4mMACMk*D)1gUP^&5EKJ*gykRcSC@T_M z{tQJ0g;G=$Swn#}HdqUQHE$J>kaw(o*+%BuVyX5Vr*L*m>h<7NmR?;a=2hX01j^;aQOPLhiB7`0TCn8|$$+ z`Rd?FuiGpLMkRGG>;bGJ#riJHwXX^Zd!}IBY)N5SkoQ9G=x@z^-8|afClM6o^MInx z-KN*PVh(V5CghVHOMop`+iJKM{HhRyyb?O(&kuci&!+OAe}E}(yap!6h$n<~ z_T|Y=D2QH#oE)wI_}dd(AMrhT6XIE6-7(5hkaCxodn*F|sDrS@_$9=rD=%0UCLa|A zf3!vX65`3oqg; zD$j&GzWl(HAm_2X^uO|w|D3t5Jimnamn|=a_zUreT_Q;TpgWBCkH0d?7N?T>dPR_b z#12NBU+gE2I3b96ix}<9ek8C@%RBMLT4nfI5%7oq0dX}D2OjaEjGQTIA+bX-{{bdqa@91N>4&z#q0V)8~SplpDv6^o60bDgwzH((!XEH2xLT_ldTxqWd4X@-M`{ zMExy->>t$GlEfc+jjPkhv7~%TLiy+Ks{`Jc>#~^4fx@^l_BAdEADs~Ye{qG(kFuiY zQJ{Z;d0v6fC<^L5P1&JQ?h zV*d{p7#=YDo?(v<_CAYvAd-wtg9lYz{((JkM_&Q^>|ifW_=qqziT(31K33R-XTevi zp-k}yUoD9r6n<%Tf{z-y0ldNf zZtN8PiNtTdpHrUU!^VD0xW-PHd)lA)UcqN=M~b@pIw#+7FZMG-{X;v$D`zE*KkxSn z^SiL}4@@vG1v-E?VINbh*TX%S*N*jL*b@%1&e7k+zD1B-b~+wF?~j0ca4(+0vrL(Q zr5^c>aR_!o{|)b~YWSm#U3Ze`4PuY56Yv1Oh`|laFb4!W1mg#ozmDJ5Cvxg5JkK3# zAlGmY?!_~>_YeMrmuL&vd*9(XL3=^sxyma4kZY_-y-xfFyb1Vl_w6P3u(9Kg9guT) z)zH$6anXK8FC=)J7-+K(Vt`OgJ^@N}fr zzjhGj=b0bo&-2QPKjaJJ@{m1t!Wt&57hvR%-w~LsC+!38I=>wkXnl=m{^%isIirtY z%VI4N@Mb5hr{=B^A@}lrud?Ega-r?z#V|kX1%NH~hyR}N7e(yVi2dFfy#=gcKQRPb z7HjGFtx5I@A?-5h=OIs31%H&&*8N}nA)joUg%=O}22Q{WHWIVH6Y2wO8(i0OqJ41K zGZORP;b(|X`pYZ!f7p`>HY&fin)w#`<@{2Gng2jA;l&XcZXo#c+VGIk{H)i&^RQ1b z1~!Bc{)g$FY5Fe^tWAo^WJ-?(&A5W1J1m2yWyk6KJkL^7IYpsVXxX_0srm| z&gKDpMDX#!e$7w(lFEud$^|`hir7263H~eJ*waX242=_&@XF0fXTr;%~V9lKmF?f3&^W z6JCwjL-1weyLr8n&4bF0zY@U&@ltpb+GY4IVV9%N3d}&j8^rvE9fYw0_}q9C_JQ8* zP4_35XW7{1=l{x#Kgtg*u^;E#7+&<~dC{*(dyM@H;kU#bALV7V-o}^-){~vSN$OAB zzt7?f{Lv$==x^i)Ykv1scKlIh=;BqR|NoUo4>71hA3;ZssjF~189rUpMu}Ms0s06&_70>Aip>Zy00qWkFukj(DO_8)BE1S zCtT2kczzgj(RHH7j*BY$Oui~(|4Wd(VN3@0;XWT)$ME`x`0)h(H0UG5pupIRpm!JM zd{vQuHa4(T(3jG(BV*%dXFf3j`R^RP%&l>o1VG1s95uRz9Qfczl)<6Kg~e(t zu|Ied{OjmrA@C=%jrkt@`mo>!)<$3)3bqa72SB+h1d+0p_xO9j5&b8R z8@$p_|3?26<5ZY~2|i#hGTO}w6Mr&*f4R!b_!o2o+DMFjM1SL-SDb}!AO1+p!$dq# z%(JZs^j<)j$`$^E2N=iOex83jAebu^_ey!fpQ!`zvmd!uHF!{-;%_td3G~olGVc;& ztBChpSrh!OhQ1&CW_M8LeEt*+C}2g zR4~GLHT<)At=r>=MOmKX_O%EfP+y@lD?;oUL3u0zol`1%fR!cx%kj6fNZyjlasJA^ zjx8c~z+SljCb1QYh+|=&2lmIy=-Y+Ob7gw&7{PuTA>sbZrC$e_{g<%^w!g3rl)4UL z_8-R{@LGhhCwyh9+vT||z#5nXdypg{CqhD7wB%(F7z1ly&ft$D^bqzV7xJLwcmQmH zF|g)h-)Yf5Ja8n}5(t&&`dbn6226qNAMAS={lA}ASC2_<-j1C@Nyv`@RlnB-O)!U zyeDJ$e{=)6R-KSJA)(K2cNLc+RV zH823L!E^8)a)5rGkoQ#!1M~~wBN|Nzz8xX|s}=^}Ie3q;Tg;ag^1o_f0G@;QH-)^f zva%1}e-`q;%JQEX#}n%Qs-^oGexn~C9K)@eyoU^wOWrfiL(0VO!QOya z13O>^z0VWkK2$Zr{#J;`i?~LR|H>){%-UhB;l`eXh&ycOLB}P=-gt;Jgw(X}UJ zZ_E&S&$+zzEUKuo0l7wODa68bzC=;?Uej?f5kCQOrK);D$UnrG!`?^ObEh)t0mR-! zyfEj=A85VjTJJnB96^FVBCVJa8`*w?cn z^B;Bpzs(f&ki-fVrh+3-k@*k175jl9b|dfpoPv;m{SVs!@zkmUVb8kU+QSOXe^U3c zZ-<~5&TJU~4!2%X)PbuMwbqTI7Vjndr|+xWgfgOi&#li}QTdO$k9d{G0{-0(mCbkj zkNr%sXD0fE%zme6H!6Z{Q5b=OR(2iZt3+$64TU`mKDYi zTogHo`* z{%2$WwqWQxigNLxC}ZOD$9^vG9b)bi=D<}}g6)I7psT9>XZX(?(=*7JAMpudFQRbb z7k(5$=xybthoo##Un=MLUqR|W!++uNUj!=Z_>YkP|MIdhXN3GO3~H6<86p2G4=)Q- zlFG_|%z4VlEDR!5>zT^R|6jz`_kBd~RgQHI=|WlHE7+Bl|M2~7Izv$-Ea|!7doELy z&jWft-KUZCoUphgimKG~lcM1NBC1eesi@s?UuomtgY-94NPh!_zDHTiJrVN1 z^!X1yW6c5V?(=sj%KJV&20z-m^mTxc|E0@+@O~hfPvS~qYQ(eFCH+jHs8hjotg+J6 z1490n9{>OFp7>jm)Bbh0;T+@w@=;ncAmo4P@INo!GtyAnG9cuC$@4$Iyf26haDA1e z&ww?KJqW>eEsV|(^1o#HUr^rXR|XKf5WagyFM5qD=By%4Dfn5CevFX+1;;GE_!gG; zY#Bi8HQpGUsPiiiQPkrII!+D7u|NHwsC_;Zr9t`-h})XqJPP?=IR1mTjJ{?6&){BE z-V2fe@N1M6McsJL-0}B_aa{B#F?Px1jmeLoqmcgv=RewBtP{c5uo#!K8f{Y4ukg1=Xpt&1HqKc8$yg}UO54;&V%-3$+rFUT8gPky!l>_F4~bpDxVc#lH<=gog$ zwrDR!VT}O41YM4PAip?bz&A%M0rIZg_;2@{|KKh2TyFIjd0T&qqR@8mrXNICA-*f# z#mjf*w~+t2^B;At_Y#WQPi%XB?JR73#2Dk&?ObqX@W%V{UE<%@{8RtQciDMh z|1Yfnxz~T-gLatLmS?2F{|QA6A-=w1yQ2z~J|MRi`(3Y$teRlAb{S3eVkuTVOh+oMs zZ^++c;*Y?bvfSQ>YeN3#jyG&5e*HcsekA-1{CLFg9QeOrH-G*k?hLQJ20s6>1BqV1 z|9A)N4eJwv_ccJ?5c?Lk3-0Ha7n~FFKll25G;Ciz+aVS0f7cq?$m9+Heto|n(L{YKqJT}NHU9y6oJ|2PME z1J7n{qis$>zGlItqUVJ`XXM3uDBkZ2`JcD`2VX`K|10(f=9i$GC)xhxA3ux> zat`0aJOa$^DoBDYg0=xRAvcEUZ+Xh=+xVW){ugW`p>CorMx1a0@jnT3Jb-y#I zS5W*JIl(tzN9^(D@5{%>;Lr2AMcbShC!9@e#3980#~m9a&ol2T$Wh4uy!p@AWY`~2 z(4OJ&!NC^@e=IO92oE4L*rOEtknx)r0N$g{V|^gv6T!BFPQr7Al{Y4TLjLEEU%+`X z83zcB0yp?4Mg~S&(R1)~lLN>Uu0v;I&OZ8){CrHzmtfa3`&8grhJQsp3i+Q;{{QZm zIe7A)yT|YeHUj2|!FMx?$N|=7F}w!WAjlHV!?(BUFload=e|cF#&$8r2RpQ=^_^E< zg#6DR|A8B@A4YhFH5R$`&EXe-9uIg*?jO zFOd0maUX^JFF60f1B~I`BD~2>5AgD{Aiwcmj1ghZZ(;n)`IQqP{|m=|_-QZ}2i?qX z?o~l}&3iBU80gpQ5x+CHZ%5=Uzx*udeM0^hj{gkKXqRETM}Fo%2aA`tx&20+kBFiB zk>iO!iTOrJ9)vq)!Kb9_+ilm+5g}^al&$!!3#| z2>D-h{xkS9a)3Ek7|(|+tT{^h?xe4W^?(@DMZ6Bgna6kn=I4yEB6GCJcrROynD>>& zQOJM7{{qb4$`4N%e-9%Mu;I8wY(_;wi2I0o4(vh2>Cekg{@C|aYW@?f^Vqp?+RDqZ%q=c12A6Wbe5v}EG_+ZptN|L+jlB6|53I{WZp(zbLr4e zTTSeAW(_CgraZOLx$&>4*I@fr*7<+nA^Kv7%aEI&o^;E(bE(ij({`le?ZGC%9E-}b z&yS#TVE>;D?)>8iFj}*s?*E0l0U5x&3G8v5SAyRib7(J<@%#N`E)UuT#N4XP1ig3e zb|vON(dF>Z!bgu7UHMJ$(Nz`7O*aCsid_G>I)KQ)_;vJrjJ(R4U-_s?_f>TMLk8e) zgFhB)EK#q8DgOvm2L3|^;17TdVBUsM1`5c3f*mld$OKyuKEW9d^gMdRM-isn5kPwh z+bO^62`hqpKn^gE6Z7pc#|rcFa+`yhJ3^KFD*8>B>jum!0&nx1NBDRk)0n@rmdFA6 zKu?I+P!Cny?lTigb!Dyh`ITdozp7Dw zu_?y;vWxLum0nj>GOWP+luA}6p$z7~zX0BU67s+D+gJj44Bm$bxF)Pe`L9P66)W)G ziBOhM2CAG60M8u>jUn`1$p0$G|8Ion8iX1Vx+3I%mE%8n4&HMJ%_5XasG_!G!h9Eu zci=U64&H+r6Y?P>#Ib5%aQQdSImExl$iQ%NE?Ou9mA(#u$HNG5y3YT@drp`6lo&a; zkWeBap&qE57=X76J1?X}$&sn|>|+gb-hxm9A)yRZE)2j^@D@Dg@|?&4>OH5cQ4U$C zPOi@<^p22F1}X;z;3aqp-qQ7bF2zwG|08kFvD$*J3%L4WFgbsbkZ^pU;>rMc2Off# ze|0|UJE{BZM6Pp4TqSl}fd3m3(j$bv!B;|=goHYwd}9C}fmh%ecn2Q-;j1Ea{_lFv z=0E=L&e8#_egW>sJ4O()Clo{|hEN(I;n;E6%K~@+UVtay4R{1z<={K{&E-4z%1%-2 z9~_QkV9wuS);WKRyfKp9;WBPFU91&_rxF5xdkfG3=)f=o^ z8Y*gGJ)SdOM8(E@&Uah=Vs=YY=6+@z!iZXC)~)-z2d(F)vZCN&TPSnNy?TE!kG@ukE^8_gFhl_C4S0SALD3 zSt~o$rn{)G%{0%*Ho^9sB^L*z&4{vUP{+8g#_1FOx7NfYt?hnMPb6N~QYxse{a8^g zj%zg?@q;&{A{CboZedm{t=0gw8$HGiSidLO|Ds~OX1t_@0t2c| z`Hla>rR|a@hbLqTlQqMi+7VhZ!8m%_G3dYL{z}hKv#X4U)N>gW5lzq zqTcp?qboje>&BRX{fgPL%al{w_x|aU&|KYeqDW?wA*pelQfd##-Y~Ou+F{=T94csB z_1P0Xv{~jVn%&Isesbp?QgVwHi&C{)XY^QH^Zjw3fYrt+E~#dmUFoAgui)t3a)?w+ zJfI%6z$dM?HfOo&$~C4_I3LoT#IDs(GY-twc6y`eaN4A9TFrqc=bWrfwO;YaGJ0{H zKoOruVy=&p?WKcnD+JWaHf<bY$?tjl z#pNf*-8?YCSTQV8vF0wZz_aaYp@G=* z#JGo_pW5noS-HZ7>XI-kut8Ld8_~-H<7RceDs}YnMiFY0-qqTz?>Eb|)HC)RVIUK- z{p{{xr@PC_*ESg-8T!Foi#%JSk8*bVUJ=#SKl8ATyqjz<6+CUy!Na$oOAe~_T0~Jw zuKz_*7qO@%ryoWt9tjy8Wnx|Xhx~(NL)d-Z;Y zV}mvCP2EC99sHoCzSCq}s!gq=RW^E}TiY4M4-Eb9WFHUNfzlo`^pe$OTH9B( zx3gkB`??Xqq2fEI1n!D{Y$ex5;#YU^4xEU4pYM6--5hNgQA7FVSuynt{d;Zf8wIDG zUA#6q{IHSR!PyN5KD_=xdB0VyS;NoH7klF;)x_y*w#hI5OuxUZ zWxISv(g>YPBJY>168#YHw0YABTB4E%pT&$-dH1^C$>q4S=y+A6cRot)t|;^XM*LzNS1$+Wy3ZqcE?Xq2kBNT`xgi1Ewn z-@Jo9Wlgx;H|%JyM8_9dilJgd{Y^e8U1>G;^{}BFzp0#g&sx1qxM+}mVx~cwy1_z~ z)2{-)4UmestI_>Xd^K5zp_5w<$R2QdzO8h){=MtkPIu+S6{gPr^73LWiN*UkT{OJa zPN_XU;eR%H>y1Fg^TWrA-5>MOyrGe1plH;`SYwO&(^Ch3v(c_|TYlIJ;P};C*2=2Y^pt%G%|k>xNr_Y+ zYWU{#_iJaIV$6HnZd3XYz%i@y+(XMh>|$`rFKM}IiE0v2ExxaAmSU;BD(lq^i(RX2 z+h`B;)Zw)MXfjW6;@Cakni$Vnp|WuMFJyKczO+4U*Ka z?;zJV5B||?^6Xtx=Bzk#@7AG!8EJmd*Vm^jn{6yThZin#IX|{NlpBD z{%UJSr*>c4jH!Oax<=sAw*A7VhMv6lB&2WCHFH~@Hk$Z$=+#~qO%)D_&UCvX?XB7^ zI4=A2{xiP#AT=gKYH zZ+)AV67cB^g;TJ)?r7Dnk;<1V10A^TBfW4!HL>`>rdme)dS?{t;7uYK1G@w;=d$f7|*+y7|w6ixNII zKO?!*E^4U#t#_F&d#Zm>>cG($EMxa$e9#s*z2FsBp8vYL#VyI);6%gD%Bd0^M1O6r z5jZP)XtgI(jMsmfxnaq&U!HZo%pP^6XRSwm>PNobzTImKr*VV0T{lzHewxJZc$_%R z+sdY<#r_>VR_H!HXJGcc#_7ltA)N-U|7w1|zh+!|-G+^ZF6s2fhqLCbx5`$#J)AC$ zBRnR=B#d9+(S1gU+L95~1{`oprWVXQ{^j$mI`$ zX3M$P9n(xN(eOg85tj^%&1RelHP(Ld=yI%G$dt*o41#Q1HVbiv=viRk=`_Q@JL$-R3m@uif-M}+aLDyYIw>aOc(NBp6)~BN<-@icp*XZYflXF(K zdDC?LWu50D9WHwYI%>FQjrZ;~W8}7nr!``Gd%p`;pnmlClDctXW_|0KkK{+RY1zbb zxTAaHutn<*j_W#NVW+K4_HgF7JocFRYoGItt14rM`lNXpWOt4WzBya*jmO;KCoXuH znvdCXs&nF*+SQWMuWGgOi$0a)N!0ZFS_wvGKX(mZv)S>xzUbD;19na}d>gQMLHf6E zDRL%XWcFLl*r0s2`r=C(7bShWcAp*AYm;=tM#0WQPw9GI6iuiovkvj)9-_ja?IpRi%&hs2fpwZ>-8@_l;eo2!LpxV`_>HdFRTcn*Is-#=xnQ>Q^j zUGR+htRDfEzT4MKQoR^zar}jjTK8bJWRK%BM_71y4(dq#cZqtoPemc;Z*|LpInIlaf!iONsaybfI1IJjF6k=u>CS?^l#)FsQUL(~m5j|FkZ zSKcvN>|g7Xw^U4O+c6tjjz1M~_~bBOX(ca1r8%=*_H9Yg(R4WEr7>#kz{Lq`TM*2o z{idpTO@3gsEGgluw`uhD^Xc_t%s*r%UuCE@(V6Ixg>@SmE%H6z<7U(Q3!DPH zG{TqM3rTx2O`?9k?B$O0t8X8>U1!MK{x{XeWleu?^5gW{L!YF()abz3`(9Nmto<9R zp~|lQfgX<6Wp1+UwjoOwYxz|G*&(~TOch)?D9MgEPqHSy#J5`bV9ccg=`$q%LO;I4T+( z@oG$h&c^Nw`rh3zGp)hLS*a^Kdf#yFq+fmNxRJ*?+-jVbrCt==N4@ z!Jw;#1eSFhC-#XLxj|*<<2CgbuiTz-mKthu@_t%+zmL_sRNHmwY+M7=wiBl7w>>+O z+`Kk*!o=e@T(vHITCC%|V9h*vrC6)P5BjYK2KlsbaGHN*>6e#J9lhLZ*IqOFN}~mr zyF6+?Nkp%Q^_WgxPsi??uX5VPWrFsR*sB_^Mt3$!YxKOCihRF$3(Y+5r|D>Ol)AY` zKmL@ZvC@3v$I+KGJ1dCzZQrqQv!Vz2?r52*Sr!8hzW(X{HFVhQPA*0r#%KN)Fmt%d z9j&(qJvJq+Jm9Kv`%3Dnb(i%nj+Y*kx~6UN_rPVRPEMKo(e}XnwLSamMGR_8gmI^$ z)+2u{>3#!`*7Q5R$;84-KI5UA{^T7m!WQ)XVsY8?cA(2jj|Zt6GPK&5*NKUE>il+_ z)dY*5j*DJ>>6#`#z16eDfuF7GpKv%$#In=CG0P&xPULJFt+nKGJLNtZ%1K5aQ;e^; z1$OM`qPu#ktBTvBn1Bv3bJhoBtM$y>IB{-VpWYo;NXD+pN@%)fp=x!TXW5n=daZmm zu7>8=b>|yAsCBz$2hJGI%vod2wb;Rmf%Tdy+Pe7>vX+{Z)x6<#*=S#|kv zdzBh92e```%s!HOJ*i>qy4H%dcdXp`YU(6UXZ_~kPan0Pc4bP8eC>#*zt*cyAts2# z7x5E8X-~gXk~Z2Ilbbhw;d=JOV2$&Y;HRbq$-eI}+Ndr|PMh)(xLYP72Dn((}!n z;Sob#F6E^A?%bymnqhrF#O~{_)=SQ8RGHo_Y55(Kl~&WbKCClfx4G=OBNBaMr)VTy z>t^CDx3!bAc2p7SoF$dMl7AF;#Rx=sk2v`zA&EL z=-qk0ZB5Sg*;cFmyrv!cw|1L8M{9DOUeET_+S;!Jr)hMfe&hSJIpHHU<#gz^)eVj3 zG%<8}VzH}*ThLd7AMOd1zdN32Vy(G!!hoB}tLr{{%b@w@k|k=Ek~H=RY#7 z-S@k7NaN$*)fEEXdK{9UGHmpWE&AGOiysW`88Tnwyp6`i2Up{_q$G!VpYZNFZIXoV zK&hdZ8@;@0mh?pFa_UdN4XZ3t7T0?eelI0XYL-Im-o4|pRy~*2*g9--8qo=x1HYL4 zkPdGzaq3gG(B6Z-4cz4$LD-&<(R6ZRruEfJkKdf&Os}h%DLX}K>iAB*dbnt8d=+_R zTvM}N&(f`A!oI&5)STVZ_S?Kh zp&DPljQf=;C#De5FUzA&MAX30`}=H6 zwa(-q-)}?fTZcRt9rWMjv0ZPNd(Cg$+DGJvad$tbfI82c2VM#F5Vi37a_pVtWQAt6 zLd0cVd~SHZ*r+>bRiBF|CaiUt^Gv74?T^tbEkq*jrPWzINj)HS_DZFgH!n}z3LLAP z)x7ERZLQ}t?v#2sF}9ACy5zd==IVDeF3f&=bi_Al*|XMQ?T~Qc`#dbRl^yz zPh>}oariv!-MPba*Bl&ujkrpd@84&nty*LEmX0spoziJL(yY$UH`G`sqX*QX|I&1} zx1BKQg!9K!!|spBxa833jCJs%&T*D)PHTG{y%sms{oBy4^=hkikDEhXICZ(2*nzQ% zW}0(fp5Qc{-NX8(to^AbIx=_dYY)5}@3Lm8)MD+m8gUP=Jgwd5Ws=c;)%e5RKkqvw z{+e_bF6i!42~uekr|=W0S3hOPeAsq+(d46#wZ43t@SjGx1~mZ`*%## zRXKWV!^&1~vOYbO^~;bWeguz>1AW#g^*`I&Eq>0JlN`hPanE&5A5l-RUv}l7viJSk z)$X*ARBLtS{pIX)w+2`b?`VG~esIX!=iQWi4*#d#%Js!0{bhryb=$qg$m5%*%bQcL zO?;-#(EB3($eFk)j`vDkX>>orV|L=c#=8c%Y1|s6oMG!csc*)-Eq2Z?Wpo#I>LW6( z=fi;Gu}a~tp-r^}*O@UjV}OW8(&*1u_N9NhBkT1!ZTzyg zTN)T-zUq)fdTpCb`#&&PofNxfVNByG;j#PI>W!#hFXf}G=ugLhj3CKJ^;)pe;`_qm)P!D!DQtlJ2+wi{F?Wx<_a;_wZhuB6rPHnX~Q#QDz-*L{TFS?z@ z;`R4#XtG7&5%u~%pRGfdAKuou1LxQM)76#DzM5)u6ul5at+Q)xRX?tg_!&<-CEdxb zZ#Y_f^6ujwW*%@^^UlDSh{s#1KXkC#MvS7BS6{!oohlO0`(WTplldWa5=Cu|gBL_< zPI~-7W|{7!kI_l%-?yC^GxvLw$jQE%da<3`XH#QPn;o7V^?F&&IV-Do*fcCQFs9Ya;b!wD=ma0_ndz{WH1jo=T?!6Y zn-IE&GEFt^^3{K7T=$lmkNkbz(;bG~6qi+4=4y9T%{D=$|EqcTL|V4DwL3ED_`8GY zyAo5nw<7Ld$M!+uvOSeQ52$wh;QliBvy6)e+$ z6Kt>8fn!@we+)-TE@%%&Mtyw`5k-gUvqklY&$y>Z>-DL3#t$^>_V##n^gr~|Y5%0&;^D0piNxP;`DCWf z@$)ZF%$&dfoW5Oc_m@jYD&0vtJMLU31siXtL8FGh7gg73kf3RIv@56fv`ek_tsFYn zf0*9e#?zjQOE>Qw9(FpY*~{h|M)$53XxD$c`;ViKAB#J>e0}7s5u!qQ= zW_C(CHrdTh-Zz<^DmnPWJPEmG!?ZbmYuBs^o0})9xc;-<7%fgRbOu(J2TR1XvQy6p?2#9+si&_WKDda&wC|u7N#h*9lb0r zb5k?3Dcebt2bh`#0&3P9W$Fv>@dDs;NZ`foLsvNtlh_B*H1DQ(SCe2j{VI; zm*uizlzyz;G+%y(%_vo=W z8YitGU5Iy%0e0`gUr67!7ytD|gcCLAtm;(#CpsvKDOs~-oLs<% zd%7Z=2agZ99bSBi5R)bj=~1Wfi3S>=NBa zQmQ{^aQ15|xgPX*-T1y1XM5Ob-8#wN^n6+`)>(U4=cINgkZ>L(dqulx*SE#?T`IDb5{=rQ zo>u40`W*r5J6cMPzSksX+k<< zzqsD9?qPC09sFde-JDTtWwe#u?H7L>{W7D+a5L#(Gg&e$G3s^X6r0Cs)mvmcxMxcR z`*h#Xk)zyI?ESO54a^c(juDrN7HOz16=g|Oq>9@5Xtl|!14Y+`9EqyGaoDd_R*eox zDmpEg*G@Fp|FOC3wrFFS|K=Ff+@xWuy6Ix4g(88ShAK+wAJe@gHlt3bN0Ex>2jAMb zp7UYe(rGre2CdyZ;<@U{lj0phh+{69YQK4>;+$dYPAyr~FS6#lcGjaQ9%Ft|x))5r1)Jr7PcFPXhY<%LkNVY*s5l+*~riy(e4s^WK#b^0{-Lyyb>)o3S zKTNwcxRF)8ZuNV#3Jg`&Ue&r=YrD=JFZ$irjJ7*jBe2WQ^-)ike7<&Q@u0CPhYvTs z+qsSW+K?$SSEN0Zj9w}BIzDBN_i>r7`=9-{J!_^(wtf1rH-6%~w|q38)3m`vk&*9Z zM|P3!pgwt$_C(dG31Q}g4y<+S*r>Ci;o3V1H}Y$`o4IoV!zu| z?`AQ&h8I*;4g5K8Wn81T$vQz3bmm^L(n`>8d$>!NlPM$tU6q~i95&ik9%ZmZ92HADlqg!FMRtS>QWnMK>?>KB_zTc6W* z3Q}~~Z_<%tYf2AKnsBrqB+E+$->%V8#H2^qQ8K{UQCrG-N8lXK5wpnnXit&-HLQ;Y z4)Po^8^5ZzkhZ=TxIx<~MA4!BM^Tf0ddt%L#+%bu6Z^|)UKUf>eEnxHJ$WL6QnN?N z-1w>KKH6Y`$QH4VOH~zu6`j{NP~IXY?o&7Dy=Bzg)7=6UYaXa;wqe>r>&FeO*S+i= zrBm(UC-Y@w99F^2X6nXUZL9;=Wb{_9Lw%Ve86Tk7o!q~xZd$j=Z(Ew#S$tX6RwByA z*xN=t>VUS>Q$>g2?^;IrI-GXN8p4Uv=`TIFdc;i0Ya1q4Z>D~@heT$zh?yO$FNy3| z<9=NA4+oq@K;DbMXV%F-%0l9B^7P+Ml^e;Y}$e#lV*P2zghAc+ zoT{8%*Q|S(7b#Z8QmI?5>qmRVzv~@8A=<85s}(W2Z_c>xuX#xRO^sNOz!;nJ+5xkI z758wmTcw%qSM%E6s@3O|NAs?`%}iH&E#0HeGZE#fj;XpF9r2Wp>Cc<14@)p~qEw=; zNm?rJeXR7&Uv2HqExyTCezih04lir=evm`s0lMPZea=eTe@t)L!=ZXz$=5d2=4j(R zOIqF-ATDwvI72<7^|0wNGc%fmC*7|r-_>-?xQm=eV!E8y)@1U-P}_;tQlf6waU#^9 z+l@pAh(tB{lo+X@E*X*0B(>eZgs6Fejl9GInxrY4$h?$3Eqd29>tR#%Ry}LKk$A{4 zw#lfLrdc=6HEv<|(6<4to7Naqp9<13sl8fzs`fkm(C3^7feiv%>2-cwGqlZM`CD5$ zDoJhau6occNo@Coun0}%h@fYqmM7E=?q&GOt5c-^vYyepnUsj_&RcFPW_p{FX*!%y M!^aKt9HO`Oe;{2^KmY&$ literal 0 HcmV?d00001 diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7857431c56dedad30f7ff32b5bff289f233237ae GIT binary patch literal 22826 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 { + mainWindow.show() + }) + + mainWindow.webContents.setWindowOpenHandler((details) => { + shell.openExternal(details.url) + return { action: 'deny' } + }) + + mainWindow.setContentProtection(true); + + mainWindow.loadURL("http://localhost:3000"); +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.whenReady().then(() => { + // Set app user model id for windows + electronApp.setAppUserModelId('com.electron') + + // Default open or close DevTools by F12 in development + // and ignore CommandOrControl + R in production. + // see https://github.com/alex8088/electron-toolkit/tree/master/packages/utils + app.on('browser-window-created', (_, window) => { + optimizer.watchWindowShortcuts(window) + }) + + createWindow() + + app.on('activate', function () { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (BrowserWindow.getAllWindows().length === 0) createWindow() + }) +}) + +// Quit when all windows are closed, except on macOS. There, it's common +// for applications and their menu bar to stay active until the user quits +// explicitly with Cmd + Q. +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit() + } +}) + +// In this file you can include the rest of your app"s specific main process +// code. You can also put them in separate files and require them here. diff --git a/lang/de.json b/lang/de.json new file mode 100644 index 0000000..c71513d --- /dev/null +++ b/lang/de.json @@ -0,0 +1,57 @@ +{ + "title": "WP Downloader", + "url": "https://localhost", + "domain": "localhost", + "keywords": "Downloader, WP, Story Downloader", + "image": "static/icons/android-chrome-512x512.png", + "description": "Lade dir Geschichten für deinen E-Book-Reader, dein Smartphone oder deinen Desktop-PC und andere Plattformen kostenlos herunter!", + "titlebar": { + "home": "Startseite", + "help": "Hilfe" + }, + "home": { + "text": "Lade Geschichten für
E-Book-Reader, Smartphones, Desktop-PCs und weitere Plattformen kostenlos herunter!", + "placeholder": "Buch URL, Kapitel oder ID eingeben", + "submit": "Weiter" + }, + "help": [ + { + "title": "Wie kann ich eine Geschichte von WP herunterladen?", + "text": "Zuerst suchst du dir die Geschichte normal auf WP aus. Sobald du in einem Kapitel, oder auf der Informationsseite deiner Geschichte bist, kannst du die Adresse von ... zu deiner Domain bzw. localhost:3000 ändern. Bitte ändere nur die Domain und lasse alles davor und danach exakt so, wie es ist. Nach dem du die Anfrage abgeschickt hast, landest du auf unserer Seite und kannst die Geschichte herunterladen. Alternativ kannst du auch die Adresse von Wattpad kopieren und in das Eingabefeld auf der Startseite einfügen." + }, + { + "title": "Welches Format soll ich zum Herunterladen wählen?", + "text": "Wir bieten dir zwei verschiedene Formate an. Erstens das EPUB-Format und zweitens das HTML-Format.
EPUB-Dateien eignen sich ideal für E-Book-Reader wie z.B. den Amazon Kindle oder den Tolino. Um die Geschichte auf deinen E-Book-Reader zu laden, kannst du z.B. die Software Calibre verwenden. Das EPUB-Format ist ebenfalls mit Apple Books kompatibel. Wenn du also ein iOS-Gerät hast, solltest du das EPUB-Format herunterladen.
Falls du auf einer anderen Plattform wie einem PC oder einem Android-Smartphone lesen möchtest, sollten du das HTML-Format wählen. Diese Datei enthält einen kompletten Reader inklusive deiner Geschichte und kann mit jedem Webbrowser geöffnet werden. Der Reader gibt dir auch die Möglichkeit, die Schriftart, Schriftgröße und das Farbschema zu ändern." + }, + { + "title": "Bedingungen", + "text": "Dieser Service ist auschließlich für den Privatgebraucht gedacht, man darf die Heruntergeladenen eBooks von anderen nicht Verkaufen!
Wir unterstützen oder Tolerieren solch eine Aktivität nicht!" + }, + { + "title": "Hast du Fragen oder Probleme?", + "text": "Öffne ein Issue auf der Github-Seite.
Danke an Feuerhamster und BluemediaGER für den Source
" + } + ], + "book": { + "download": { + "epub": "Download für E-Book-Reader (epub)", + "html": "Download für PC / Smartphone (html)", + "pdf": "Download als PDF (pdf)" + }, + "author": "Autor", + "pubDate": "Veröffentlicht", + "lang": "Sprache", + "loading": { + "text": "Bitte warte einen Moment, während wir deinen Download vorbereiten..." + } + }, + "parts": "Kapitel", + "overview": "Übersicht", + "next": "Nächstes Kapitel", + "startReading": "Jetzt lesen", + "errors": { + "bookNotFound": "Leider konnten wir diese Geschichte nicht finden.", + "invalidSearch": "Leider konnten wir deine Eingabe nicht verarbeiten.
Bitte gebe einen Link oder die ID einer Geschichte an.", + "serverError": "Das Buch konnte aufgrund eines internen Fehlers nicht abgerufen/konvertiert werden." + } +} diff --git a/lang/en.json b/lang/en.json new file mode 100644 index 0000000..a32ea70 --- /dev/null +++ b/lang/en.json @@ -0,0 +1,59 @@ +{ + "title": "WP Downloader", + "url": "https://localhost", + "domain": "localhost", + "keywords": "Downloader, WP, Story Downloader", + "image": "static/icons/android-chrome-512x512.png", + "description": "Download stories for e-book readers, smartphones or desktop and more for free!", + "titlebar": { + "home": "Home", + "help": "Help", + "privacy": "Imprint & Privacy" + }, + "home": { + "text": "Download stories for
e-book readers, smartphones, desktop and more!", + "placeholder": "Enter URL to book, part or id", + "submit": "Next" + }, + "help": [ + { + "title": "How to download a story from WP?", + "text": "You can open the story that you want to download and simply change the domain to your domain or localhost:3000. Or you copy the URL of the book and paste it into the input field on our page." + }, + { + "title": "Which format should I choose for download?", + "text": "We provide two different formats. First, the EPUB format and second the HTML.
EPUB is for E-Book reader like Kindle. You can download this and load it on your E-Book reader with a software called Calibre. EPUB also works really well with Apple Books. So if you have an IPhone, you should download EPUB and you can read it with Apple Books.
If you are on another platform like a PC or an android smartphone, you should download HTML. We provide a .html file that you can open with any browser. This contains a complete reader with the offline available story. The reader also gives you the option to change the font, font size and color scheme." + }, + { + "title": "Terms", + "text": "This service is for private use only, do not sell others's downloaded eBooks!
We do not endorse or condone such activity!" + }, + { + "title": "Any questions or problems?", + "text": "Make an Issue on the Github repo
Thanks to Feuerhamster and BluemediaGER for the Source
" + } + ], + "book": { + "download": { + "epub": "Download for E-Book reader (epub)", + "html": "Download PC / Smartphone (html)", + "pdf": "Download as PDF (pdf)" + }, + "author": "Author", + "pubDate": "Published", + "lang": "Language", + "loading": { + "text": "Plese wait a few seconds while we prepare your download..." + } + }, + "parts": "Parts", + "overview": "Overview", + "next": "Next part", + "startReading": "Start reading", + "errors": { + "bookNotFound": "Sorry but we can't find the book!", + "invalidSearch": "We can not parse your entered value.
Please provide a link to a story or an ID.", + "tokenError": "Your Captcha-Token is invalid.", + "serverError": "The book could not be retrieved/converted due to an internal error." + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ac8b6bd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3918 @@ +{ + "name": "wp-downloader-electron", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wp-downloader-electron", + "version": "1.0.0", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@electron-toolkit/preload": "^3.0.1", + "@electron-toolkit/utils": "^3.0.0", + "axios": "^1.7.7", + "electron-updater": "^6.3.9", + "express": "^4.21.1", + "jsdom": "^25.0.1", + "jszip": "^3.10.1", + "node-cache": "^5.1.2", + "pug": "^3.0.3", + "sanitize-html": "^2.13.1" + }, + "devDependencies": { + "@electron-toolkit/eslint-config": "^1.0.2", + "@electron-toolkit/eslint-config-prettier": "^2.0.0", + "electron": "^33.2.0", + "eslint": "^9.14.0", + "install": "^0.13.0", + "prettier": "^3.3.3" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@electron-toolkit/eslint-config": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@electron-toolkit/eslint-config/-/eslint-config-1.0.2.tgz", + "integrity": "sha512-GJVuMsxBHfVARfmUoSTCHT0e/QfWlVbXcGk3tgoku0ad6tLjydbv2LpvKi02+Sy2WiEz9L9SkGSw090ukT/F0A==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">= 8.0.0" + } + }, + "node_modules/@electron-toolkit/eslint-config-prettier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@electron-toolkit/eslint-config-prettier/-/eslint-config-prettier-2.0.0.tgz", + "integrity": "sha512-L+uG1FvJcAZkPZpSi6B1pmdpyJFyOxWDTjr1Vs47vSryxv/EX1Ch6o4HVsachlDq3fMEkDgojuP2F3ZvVZMoLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.0.1" + }, + "peerDependencies": { + "eslint": ">= 8.0.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@electron-toolkit/preload": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@electron-toolkit/preload/-/preload-3.0.1.tgz", + "integrity": "sha512-EzoQmpK8jqqU8YnM5jRe0GJjGVJPke2KtANqz8QtN2JPT96ViOvProBdK5C6riCm0j1T8jjAGVQCZLQy9OVoIA==", + "license": "MIT", + "peerDependencies": { + "electron": ">=13.0.0" + } + }, + "node_modules/@electron-toolkit/utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@electron-toolkit/utils/-/utils-3.0.0.tgz", + "integrity": "sha512-GaXHDhiT7KCvMJjXdp/QqpYinq69T/Pdl49Z1XLf8mKGf63dnsODMWyrmIjEQ0z/vG7dO8qF3fvmI6Eb2lUNZA==", + "license": "MIT", + "peerDependencies": { + "electron": ">=13.0.0" + } + }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", + "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", + "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.17.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz", + "integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "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==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/assert-never": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.3.0.tgz", + "integrity": "sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.2.10", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz", + "integrity": "sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "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/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "license": "MIT", + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssstyle": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz", + "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==", + "license": "MIT", + "dependencies": { + "rrweb-cssom": "^0.7.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT", + "optional": true + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron": { + "version": "33.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz", + "integrity": "sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-updater": { + "version": "6.3.9", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.9.tgz", + "integrity": "sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw==", + "license": "MIT", + "dependencies": { + "builder-util-runtime": "9.2.10", + "fs-extra": "^10.1.0", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "lodash.escaperegexp": "^4.1.2", + "lodash.isequal": "^4.5.0", + "semver": "^7.6.3", + "tiny-typed-emitter": "^2.1.0" + } + }, + "node_modules/electron-updater/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-updater/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-updater/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-updater/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "license": "MIT", + "optional": true + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", + "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.14.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.0", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "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==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "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": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/install": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", + "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", + "license": "MIT", + "dependencies": { + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC", + "optional": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "license": "MIT", + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-cache": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-5.1.2.tgz", + "integrity": "sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==", + "license": "MIT", + "dependencies": { + "clone": "2.x" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nwsapi": { + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "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.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.48", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", + "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pug": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", + "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", + "license": "MIT", + "dependencies": { + "pug-code-gen": "^3.0.3", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", + "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.1.0", + "pug-runtime": "^3.0.1", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.1.0.tgz", + "integrity": "sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==", + "license": "MIT" + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "license": "MIT", + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "license": "MIT", + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "license": "MIT" + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "license": "MIT", + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/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==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sanitize-html": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.1.tgz", + "integrity": "sha512-ZXtKq89oue4RP7abL9wp/9URJcqQNABB5GGJ2acW1sdO8JTVl92f4ygD7Yc9Ze09VAZhnt2zegeU0tbNsdcLYg==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^8.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "license": "MIT", + "optional": true + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/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==", + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", + "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", + "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", + "license": "MIT" + }, + "node_modules/tldts": { + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.60.tgz", + "integrity": "sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg==", + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.60" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.60.tgz", + "integrity": "sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g==", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "license": "MIT", + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8ac9e19 --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "wp-downloader-electron", + "version": "1.0.0", + "description": "WP-Downloader Wrapped in Electron", + "main": "index.js", + "scripts": { + "dev": "electron index.js", + "test": "echo \"Error: no test specified\" && exit 1", + "format": "prettier --write .", + "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix", + "postinstall": "electron-builder install-app-deps", + "build:unpack": "electron-builder --dir", + "build:win": "electron-builder --win", + "build:mac": "electron-builder --mac", + "build:linux": "electron-builder --linux" + }, + "author": "Dragon Corp", + "license": "SEE LICENSE IN LICENSE.md", + "devDependencies": { + "@electron-toolkit/eslint-config": "^1.0.2", + "@electron-toolkit/eslint-config-prettier": "^2.0.0", + "electron": "^33.2.0", + "electron-builder": "^25.1.8", + "eslint": "^9.14.0", + "install": "^0.13.0", + "prettier": "^3.3.3" + }, + "dependencies": { + "@electron-toolkit/preload": "^3.0.1", + "@electron-toolkit/utils": "^3.0.0", + "axios": "^1.7.7", + "electron-updater": "^6.3.9", + "express": "^4.21.1", + "jsdom": "^25.0.1", + "jszip": "^3.10.1", + "node-cache": "^5.1.2", + "pug": "^3.0.3", + "sanitize-html": "^2.13.1" + } +} diff --git a/routes/api.js b/routes/api.js new file mode 100644 index 0000000..10194f0 --- /dev/null +++ b/routes/api.js @@ -0,0 +1,63 @@ +const express = require("express"); +const router = express.Router(); +const path = require("path"); +const stream = require("stream"); + +const WP = require(path.join(__dirname, "../services/wp")); +const Generator = require(path.join(__dirname, "../services/generator")); +const Translation = require(path.join(__dirname, "../services/translation")); + +router.get("/:id/download/:format", async (req, res) => { + if (!Generator.availableFormats.includes(req.params.format)) { + res.status(400).send({ error: "unknown_format", formats: Generator.availableFormats }); + console.log(`[${new Date().toISOString()}] Konverter: Benutzer hat versucht, die Story in "${req.params.format}" umzuwandeln`); + return; + } + + let bookData = await WP.getBookById(req.params.id); + + if (!bookData) { + res.status(404).send({ error: "book_not_found" }); + return; + } + + let parts = await WP.getParts(bookData.parts); + let { lang, langName } = Translation.getTranslation(req.acceptsLanguages(Translation.langs)); + + if (req.params.format === "epub") { + let epub; + try { + epub = await Generator.epub(bookData, parts); + } catch (e) { + console.error(e); + return res.status(500).end(); + } + + let fileContents = Buffer.from(epub, "base64"); + let readStream = new stream.PassThrough(); + readStream.end(fileContents); + + res.set("Content-disposition", "attachment; filename=" + `${WP.formatBookTitle(bookData.title)}-${bookData.id}.epub`); + res.set("Content-Type", "application/epub+zip"); + + readStream.pipe(res); + + } else if (req.params.format === "html") { + let html; + try { + html = await Generator.html(bookData, parts, langName, lang); + } catch (e) { + console.error(e); + return res.status(500).end(); + } + + res.set("Content-disposition", "attachment; filename=" + `${WP.formatBookTitle(bookData.title)}-${bookData.id}.html`); + res.set("Content-Type", "text/html"); + + res.send(html); + } + + console.log(`[${new Date().toISOString()}] Umgewandelt: "${bookData.title}" (${req.params.id}) zu ${req.params.format} (${parts.length}/${bookData.parts.length} parts)`); +}); + +module.exports = router; diff --git a/routes/frontend.js b/routes/frontend.js new file mode 100644 index 0000000..8daf77f --- /dev/null +++ b/routes/frontend.js @@ -0,0 +1,46 @@ +const express = require("express"); +const router = express.Router(); +const path = require("path"); + +const WP = require(path.join(__dirname, "../services/wp")); +const Translation = require(path.join(__dirname, "../services/translation")); + +router.use((req, res, next) => { + req.trans = Translation.getTranslation(req.acceptsLanguages(Translation.langs)); + next(); +}); + +router.get("/", async (req, res) => { + res.render("home", req.trans); +}); + +router.get("/help", (req, res) => { + res.render("help", req.trans); +}); + +router.get("/error/:err", (req, res) => { + res.render("error", { error: req.params.err, lang: req.trans.lang, langName: req.trans.langName }); +}); + +router.get(/^\/((b)-)?(\d+)$/, async (req, res) => { + let book; + + if (req.params[1] === "b") { + book = await WP.getBookById(req.params[2]); + } else { + book = await WP.getBookByPartId(req.params[2]); + book = book ? book.group : null; + } + + if (book) { + res.render("book", { book, lang: req.trans.lang, langName: req.trans.langName }); + } else { + res.render("error", { error: "book_not_found", lang: req.trans.lang, langName: req.trans.langName }); + } +}); + +router.get(/((story)\/)?(\d+)-?(.+)?/, async (req, res) => { + res.redirect(`/${req.params[1] ? "b-" : ""}${req.params[2]}`); +}); + +module.exports = router; diff --git a/server.js b/server.js new file mode 100644 index 0000000..5b3785f --- /dev/null +++ b/server.js @@ -0,0 +1,23 @@ +const express = require("express"); +const app = express(); +const path = require("path"); + +const Translation = require(path.join(__dirname, "services/translation")); +Translation.loadLanguages(); + +app.use(express.static(path.join(__dirname, "static"))); + +app.set("view engine", "pug"); +app.set("views", path.join(__dirname, "views")); + +// Load routes +const api = require(path.join(__dirname, "routes/api")); +const frontend = require(path.join(__dirname, "routes/frontend")); + +app.use("/api", api); +app.use(frontend); + +// Start the server +app.listen(3000, () => { + console.info("App gestartet auf Port: 3000"); +}); \ No newline at end of file diff --git a/services/generator.js b/services/generator.js new file mode 100644 index 0000000..d831f57 --- /dev/null +++ b/services/generator.js @@ -0,0 +1,89 @@ +const pug = require("pug"); +const fs = require("fs"); +const JSZip = require("jszip"); +const axios = require("axios"); +const path = require("path"); // Import path module for Electron compatibility + +const WP = require("./wp"); + +class Generator { + + static availableFormats = ["epub", "html"]; + + static templates = { + mimetype: fs.readFileSync(path.join(__dirname, "../templates", "epub", "mimetype")).toString(), + container: fs.readFileSync(path.join(__dirname, "../templates", "epub", "META-INF", "container.xml")).toString(), + metadata: fs.readFileSync(path.join(__dirname, "../templates", "epub", "META-INF", "metadata.xml.pug")).toString(), + mainCSS: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "css", "main.css")).toString(), + titleCSS: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "css", "title.css")).toString(), + cover: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "cover.xhtml")).toString(), + contentOPF: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "content.opf.pug")).toString(), + titleFile: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "title.xhtml.pug")).toString(), + toc: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "toc.ncx.pug")).toString(), + chapter: fs.readFileSync(path.join(__dirname, "../templates", "epub", "OPS", "chapter.xhtml.pug")).toString(), + htmlv2: fs.readFileSync(path.join(__dirname, "../templates", "htmlv2.pug")).toString() + } + + static async epub(book, parts) { + + let zip = new JSZip(); + + zip.file("mimetype", Generator.templates.mimetype); + + let metaInf = zip.folder("META-INF"); + + metaInf.file("container.xml", Generator.templates.container); + let metadata = pug.render(Generator.templates.metadata, book); + metaInf.file("metadata.xml", metadata); + + let ops = zip.folder("OPS"); + + let css = ops.folder("css"); + css.file("main.css", Generator.templates.mainCSS); + css.file("title.css", Generator.templates.titleCSS); + + let images = ops.folder("images"); + + try { + let res = await axios.get(book.cover, { responseType: "arraybuffer" }); + images.file("cover.jpg", Buffer.from(res.data)); + } catch (e) { + return null; + } + + ops.file("cover.xhtml", Generator.templates.cover); + + let contentOPF = pug.render(Generator.templates.contentOPF, book); + ops.file("content.opf", contentOPF); + + let titleFile = pug.render(Generator.templates.titleFile, book); + ops.file("title.xhtml", titleFile); + + let toc = pug.render(Generator.templates.toc, book); + ops.file("toc.ncx", toc); + + for (let i = 0; i < parts.length; i++) { + let chapter = pug.render(Generator.templates.chapter, parts[i]); + ops.file(`chapter${i}.xhtml`, chapter); + } + + try { + return await zip.generateAsync({ type: "arraybuffer" }); + } catch (e) { + console.log("Generatorfehler:", e); + return null; + } + } + + static async html(book, parts, langName, lang) { + + let image = await WP.getImage(book.cover); + let avatar = await WP.getImage(book.user.avatar); + + let template = Generator.templates.htmlv2; + + return pug.render(template, { book, parts, image, avatar, langName, lang }); + } +} + +module.exports = Generator; \ No newline at end of file diff --git a/services/translation.js b/services/translation.js new file mode 100644 index 0000000..0a709f3 --- /dev/null +++ b/services/translation.js @@ -0,0 +1,46 @@ +const fs = require("fs"); +const path = require("path"); // Import path module + +class Translation { + + static langData = {}; + static langs = []; + + static loadLanguages() { + + // Use path.join to create an absolute path + let langs = fs.readdirSync(path.join(__dirname, "../lang")); + + for (let lang of langs) { + + let langName = lang.split(".")[0]; + + // Use path.join for each language file + Translation.langData[langName] = JSON.parse( + fs.readFileSync(path.join(__dirname, "../lang", lang)).toString() + ); + + Translation.langs.push(langName); + } + } + + static getLangData(lang) { + return Translation.langData[lang]; + } + + static getTranslation(availableLangs) { + + let langName = Array.isArray(availableLangs) ? availableLangs[0] : availableLangs; + let lang; + + if (availableLangs) { + lang = Translation.getLangData(langName); + } else { + lang = Translation.getLangData("de"); + } + + return { lang, langName }; + } +} + +module.exports = Translation; \ No newline at end of file diff --git a/services/wp.js b/services/wp.js new file mode 100644 index 0000000..44a63ec --- /dev/null +++ b/services/wp.js @@ -0,0 +1,128 @@ +const axios = require("axios"); +const NodeCache = require("node-cache"); +const sanitizeHtml = require("sanitize-html"); + +let ttl = 86400; + +let allowedTags = sanitizeHtml.defaults.allowedTags.filter((e) => e !== "u"); + +class WP { + + static cache = new NodeCache({ stdTTL: ttl }); + + static async getImage(url){ + try{ + let res = await axios.get(url, { responseType: "arraybuffer" }); + + return Buffer.from(res.data, "binary").toString("base64"); + + }catch (e) { + return null; + } + + } + + static async getBookByPartId(id) { + + let key = "bookbypart." + id; + + if(WP.cache.has(key)) { + return WP.cache.get(key); + } + + try { + + let res = await axios.get(`https://www.wattpad.com/v4/parts/${id}?fields=text_url,group(id,title,description,url,cover,user(name,username,avatar),lastPublishedPart,parts(id,title,text_url),tags)`, + { headers: { accept: "application/json" }}); + + WP.cache.set(key, res.data); + + return res.data; + + } catch (e) { + return false; + } + + } + + static async getBookById(id) { + + let key = "book." + id; + + if(WP.cache.has(key)) { + return WP.cache.get(key); + } + + try { + + let res = await axios.get(`https://www.wattpad.com/api/v3/stories/${id}?fields=id,title,description,url,cover,user(name,username,avatar),lastPublishedPart,parts(id,title,text_url),tags`, + { headers: { accept: "application/json" }}); + + WP.cache.set(key, res.data); + + return res.data; + + } catch (e) { + return false; + } + + } + + static async tryGetBook(id){ + + let book = await WP.getBookById(id); + if(!book){ + book = await WP.getBookByPartId(id); + book = book.group; + } + + return book; + + } + + static formatBookTitle(title){ + + return Array.from(title.matchAll(/[a-zA-Z0-9äöüß]+/ig), (el) => el[0].toLowerCase()).join("-"); + + } + + static async getParts(parts) { + + let texts = []; + + for(let part of parts) { + + try { + + let key = "part." + part.id; + let text = null; + + if(WP.cache.has(key)) { + text = WP.cache.get(key); + } else { + text = await axios.get(part.text_url.text); + + text = sanitizeHtml(text.data, { + allowedTags + }); + + WP.cache.set(key, text); + } + + texts.push({ + title: part.title, + data: text + }); + + } catch (e) { + continue; + } + + } + + return texts; + + } + +} +module.exports = WP; \ No newline at end of file diff --git a/static/banner.svg b/static/banner.svg new file mode 100644 index 0000000..c369764 --- /dev/null +++ b/static/banner.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.113.woff2 b/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.113.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..77454560ce57b8a2ace498eeb7a2c55cecaadc75 GIT binary patch literal 11188 zcmV;lD@)XOPew8T0RR9104uZr6951J09l*>04q`e0RR9100000000000000000000 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℘i$S;A_!+ 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 S)}|B0^x8)P?(K9Ic>n2SO1iV03f{0asVimR; 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 O)0xeJ6p*R~0001WZgSrM literal 0 HcmV?d00001 diff --git a/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 b/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5b9c0ece7be076872f7cb3b2913e6958074b2f84 GIT binary patch literal 18600 zcmV)8K*qm!Pew8T0RR9107$3+6951J0K{+r07yar0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 b/static/font/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..03d0f90e5e9c427105f63c18feaa090b2285983b GIT binary patch literal 17792 zcmV({K+?Z=Pew8T0RR9107ZZR6951J0J``907V%90RR9100000000000000000000 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 Xve+f(R>wOQIBz}j*SfkGZa4q{2I`rQ literal 0 HcmV?d00001 diff --git a/static/font/font.css b/static/font/font.css new file mode 100644 index 0000000..28b741b --- /dev/null +++ b/static/font/font.css @@ -0,0 +1,48 @@ +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2) format('woff2'); + unicode-range: U+21-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+c9, U+cd, U+d6, U+d8, U+dc, U+e0-e5, U+e7-ed, U+ef, U+f1-f4, U+f6, U+f8, U+fa, U+fc-fd, U+103, U+14d, U+1b0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+201c-201d, U+2039-203a, U+203c, U+2048-2049, U+2113, U+2122, U+65e5, U+6708, U+70b9; +} +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2) format('woff2'); + unicode-range: U+20, U+2027, U+3001-3002, U+3041-307f, U+3081-308f, U+3091-3093, U+3099-309a, U+309d-309e, U+30a1-30e1, U+30e3-30ed, U+30ef-30f0, U+30f2-30f4, U+30fb-30fe, U+ff0c, U+ff0e; +} +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.113.woff2) format('woff2'); + unicode-range: U+26, U+5f, U+2026, U+203b, U+4e09, U+4eac, U+4ed5, U+4fa1, U+5143, U+5199, U+5207, U+539f, U+53e3, U+53f7, U+5411, U+5473, U+5546, U+55b6, U+5929, U+597d, U+5bb9, U+5c11, U+5c4b, U+5ddd, U+5f97, U+5fc5, U+6295, U+6301, U+6307, U+671b, U+76f8, U+78ba, U+795e, U+7d30, U+7d39, U+7d9a, U+89e3, U+8a00, U+8a73, U+8a8d, U+8a9e, U+8aad, U+8abf, U+8cea, U+8eca, U+8ffd, U+904b, U+9650, U+ff11-ff12; +} +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.117.woff2) format('woff2'); + unicode-range: U+4e, U+a0, U+3000, U+300c-300d, U+4e00, U+4e0a, U+4e2d, U+4e8b, U+4eba, U+4f1a, U+5165, U+5168, U+5185, U+51fa, U+5206, U+5229, U+524d, U+52d5, U+5408, U+554f, U+5831, U+5834, U+5927, U+5b9a, U+5e74, U+5f0f, U+60c5, U+65b0, U+65b9, U+6642, U+6700, U+672c, U+682a, U+6b63, U+6c17, U+7121, U+751f, U+7528, U+753b, U+76ee, U+793e, U+884c, U+898b, U+8a18, U+9593, U+95a2, U+ff01, U+ff08-ff09; +} +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.118.woff2) format('woff2'); + unicode-range: U+21-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+c9, U+cd, U+d6, U+d8, U+dc, U+e0-e5, U+e7-ed, U+ef, U+f1-f4, U+f6, U+f8, U+fa, U+fc-fd, U+103, U+14d, U+1b0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+201c-201d, U+2039-203a, U+203c, U+2048-2049, U+2113, U+2122, U+65e5, U+6708, U+70b9; +} +@font-face { + font-family: 'M PLUS Rounded 1c'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsPrfqk33YqOjLBxkUhdkeuqyIMwGYkDA.119.woff2) format('woff2'); + unicode-range: U+20, U+2027, U+3001-3002, U+3041-307f, U+3081-308f, U+3091-3093, U+3099-309a, U+309d-309e, U+30a1-30e1, U+30e3-30ed, U+30ef-30f0, U+30f2-30f4, U+30fb-30fe, U+ff0c, U+ff0e; +} diff --git a/static/icons/android-chrome-192x192.png b/static/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..3f7bc22f630103d62372de3ff4cfbf36ab596253 GIT binary patch literal 3003 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 QW7-i&Lsd&9U)enHKYQ8vssI20 literal 0 HcmV?d00001 diff --git a/static/icons/android-chrome-512x512.png b/static/icons/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..1035029e769e93a0c9fa3eede026c78bc8b84ece GIT binary patch literal 7205 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 T-V=@`4*`@E)Z~lq8NdE70bksq literal 0 HcmV?d00001 diff --git a/static/icons/apple-touch-icon.png b/static/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a2b37d85d385671c205d185f0db9005f766515 GIT binary patch literal 2772 zcmZ`)c{J1w7ye18X=s^xnWAVf($G-J`&P!-w^qq;_I*!D_BCZ|66v)QlWZ|l zW`vNf*P84*;eNh9zwbNWbIyI9^W1ZubN{*L-Utmfd2ZBE6oMe!iVCutJ6iJZ+QYuX zD9p+ZBfG6`tKLSCchUPcO*wYFpqYZEDuQ^PMG*gB1libW`A;AS8HXT~CI}*xgdn`m zX;pWm5oA}QhKd#ucCft#o4?`rI&5vi;tceCf%<$Xd<@UsA<+S1t>Kv!q`E>y8cYnr z>JoG|0yPvu?!iMTuonY69QdokmulGF26`F9Sb)nl@FYUtXXtMOCrL2D+hP$D& z0elp};R?9jgg6^$dJA*E;Oj?7u!k@mSe%6{Kj>7sw}rK38104p2%y}C@)Q{B z179TwP=}%z=w(2Z5iHHY)CjzN3NPSeS-^c8Irw0Tx6V!uSBRy@yYKLuEQVHimQxl%+tZHbm+}FCD5g zA>ux;Y9Z193ZDS82A+FBNdnYlL8ceHe+gl_@Wd3pHA6=|1ZhH9GUNn6!DFC?L9#PE zGK8s7@K=NUNEqpbt|kb*2b2E*3KS}1DdQb(0f=EO&& zP<8ccmsXnbO<#PzhYtTp^P2JgvYJ=zdMz>fTYcqth8Kk`^Tq$bBPvUS(=;6Q{Hps$ zj1Y!!F64#!+Q=Re^W`{d%pDfGutDV!QQcR3=7PP64qiQLhOaHycK%s+o+IVNKODVh`FnKTXI8!0mfZi0-mj_@vi!-BODyNLAF6G;s3E8^bjJv?z}B*5q+% zrzVpo|1z}^=6c;V1|L(|Xh^DAQ^XQ&O<=30TU_QuNxgmAZ&4wk!6f!EY5dVxc2Ci; zFFt72yT+fwN}8HV6}f}>9&v04ZL@+Gk^JSdEU3lHDz)*>izNo zBVjv|hGC6~+Gs|uy+Z$aV^RbCY?Ga>w&Yr8WsbalqT>Va+#;7^e%2G6D8_ke&oj}R zCBDD1L{Ai-sEHF2ld{&wEWR?QUA#=1T0zxa`}Y2nh_~<7>*PRIG*y$1GW#_MwlkjizE-(@_FMH4ahdX(x)%FsvVg(k$AYsnY37JDc)_xpexU%~GKfB20orsYYC@D-(FXwjXrtWbAd=^o0k zIx56A_rm5LMG{In;GDpGe>bZ>yf`aPaO19SZ$5txxs)pJ!=itar)Ci;ePu)LenWq9O*fy_jAlTk`KhCw_{5LT<#jK&&-a;)rPg(M_*5`74} zxp_Xc%MM!4$GacB(JZCT=@6E)^^Z-S6J8g6Z2F%zS`MMj!7Wj{V?Dao#8oF`K9Ab| z0<&T2l53qIjjB3QIE8){ky%$hW!y>e&C-dh{}FVcDz;!^aQ3n%H~-SYXLDxbvVCJ? z%o`PkoiukGL9KU1S z*u>e4Vg|!GUK{fb{=CEHJkaE8pe1{NyUMZZqGX!03w^6s)DfFSMESZRrRRa=@7aM4x|N2VpjJfr(^sH4uuf5J!i6#4= zl_v`%zRxf9OG+;_oS!R#3r41AJPCu{-nwUApElRr< zcetKOoy)>l?w7E0+m2N#6sVYW=#N`kJpMqUZR$og>tw01<$`rU@6BQ~Q@ZrI<@HRx zQktb+X25#y9JarEB2VwQb*A?L%_9r9e$GbI*{2!0wZ~2$Thf(b9ad!>zGPM+Gmbl@ z!Xz`SiTYN{%%zotYr!^(A0xHDU7}5n-q9u1`PZfyi}4%~!f$KfiFfftI=6ts#iBkr z>?yaBcUHe$2u(7A7fGikEf!_hR$Y@n=cvV|Jbzu z89(<5MY)|2RdAj)G{Mc7^&^eWie_66tyy8WgZlpp)k$7U^t-Hwqy1_lv6W)|bqSN% z)qMSr!~U6kb9Yhm*qLK2Il){zt&U z$=t@$#~x&@9u6>AC7yE{HLFdFz9xaj^0nM$I_B=14e Tf{aA`&Im-2s3uz|V-ol;x6<9+ literal 0 HcmV?d00001 diff --git a/static/icons/base-icon.svg b/static/icons/base-icon.svg new file mode 100644 index 0000000..7072854 --- /dev/null +++ b/static/icons/base-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/icons/favicon-16x16.png b/static/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f2890fd6e45aeb372d3696ea0ee952362977265b GIT binary patch literal 930 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>US=P>tJk4n@G*x#W`ov>vpp9tEPR*uJwpCwzIYV_WZ{lPcw7Vm2odO zK8RYqEm!VK4lsHc7?Zr+U80zGFI@!Wu$OrHy0SlI<>A!Ptqzgl1qvPYba4!kxSX7j zkd&5~+RRwS$HwNTmnSDD7bhq1;IVjufQXQops1*@xQM98lL-^1Bu$t!C2hjQsguJ6 z(i0LUv~g)@6>52}TCvKJ^~zEc6Ui-GN~e@0GFAOz<7sm{rnZdfRe-Kq+A}e+X<^sQ z3>c%WtJ&Gz)zfz@CkWnggj?aZer8glbfGSez? zYuK|vF%qaDyecH3Bq*_5p`a)~Ei)%op`@}PRUxyWB$Jc1ICAEQ%n|m}4IT@;^cY@=3zmFx SGMx&vg2B_(&t;ucLK6U!xM@oO literal 0 HcmV?d00001 diff --git a/static/icons/favicon-32x32.png b/static/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..edea8b645cc79620be4fe309e5232207ea58e7ec GIT binary patch literal 1366 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 Rl59CHNxn;(x|Xr*{{e}g(?S3M literal 0 HcmV?d00001 diff --git a/static/icons/mstile-150x150.png b/static/icons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4339d4afe727e2209a36d1184b0f48ed1688b0 GIT binary patch literal 3243 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 Yz>?q@+@_I6?$HRq!UO@YHu8x7FXyiNvH$=8 literal 0 HcmV?d00001 diff --git a/static/icons/safari-pinned-tab.svg b/static/icons/safari-pinned-tab.svg new file mode 100644 index 0000000..39eabad --- /dev/null +++ b/static/icons/safari-pinned-tab.svg @@ -0,0 +1,54 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/static/index.js b/static/index.js new file mode 100644 index 0000000..b8ee58a --- /dev/null +++ b/static/index.js @@ -0,0 +1,71 @@ +function toggleMobileNav(event) { + event.preventDefault(); + document.querySelector("#nav").classList.toggle("active"); +} + +let searchform = document.querySelector("#searchform"); + +if (searchform) { + searchform.addEventListener("submit", (event) => { + event.preventDefault(); + let url = event.target[0].value; + let id = /\/?((story)\/)?(\d+)/i.exec(url); + + if (id && id[3]) { + if (id[2] === "story") { + window.location.href = window.location.href + "b-" + id[3]; + } else { + window.location.href = window.location.href + id[3]; + } + } else { + document.querySelector("#error-result").innerHTML = + "Dein eingegebener Wert kann nicht gefunden werden.
Bitte gebe einen Link zu einer Story oder einer ID an."; + setTimeout(() => { + document.querySelector("#error-result").innerHTML = ""; + }, 5000); + } + }); +} + +function download(id, type) { + axios({ + url: `${window.location.origin}/api/${id}/download/${type}`, + method: "GET", + responseType: "blob", + }) + .then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])); + let filename = /filename=(.+)/i.exec( + response.headers["content-disposition"] + ); + + const link = document.createElement("a"); + link.href = url; + link.setAttribute( + "download", + filename[1] ? filename[1] : "book." + type + ); + + document.body.appendChild(link); + link.click(); + + document.querySelector("#loading-modal").classList.toggle("active"); + }) + .catch((e) => { + document.querySelector("#loading-modal").classList.toggle("active"); + window.location.href = + window.location.origin + "/error/" + e.response.status; + }); +} + +let downloadParams = null; + +document + .querySelectorAll(".download-button") + .forEach((button) => { + button.addEventListener("click", (event) => { + downloadParams = event.target.dataset; + document.querySelector("#loading-modal").classList.toggle("active"); + download(downloadParams.bookId, downloadParams.bookFormat); + }); + }); \ No newline at end of file diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..36e81ec --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: /privacy \ No newline at end of file diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..70f7bc0 --- /dev/null +++ b/static/style.css @@ -0,0 +1,347 @@ +* { + box-sizing: border-box; +} + +:root { + --color-orange: #FF6B30; + --color-orange-accent: #e86a33; + --color-grey: #e1e1e1; + --color-red: #c80046; + --color-text: #414b55; + --color-background: #FAFAFAFF; + --color-background-accent: #FFF; +} + +html { + min-height: 100vh; + display: flex; +} + +body { + display: flex; + background-color: var(--color-background); + flex-direction: column; + align-items: center; + font-family: 'M PLUS Rounded 1c', sans-serif; + font-size: 20px; + font-weight: 500; + margin: 0; + min-height: 100vh; + width: 100vw; + color: var(--color-text); +} + +.page { + display: flex; + flex-direction: column; + padding: 15px; + flex-grow: 1; + max-width: 960px; + word-break: break-word; +} + +.center { + align-items: center; + justify-content: center; + text-align: center; +} + +.row { + flex-direction: row; +} + +#titlebar { + background: url("/banner.svg") no-repeat bottom; + background-size: cover; + padding: 15px 15px 30px 15px; + width: 100%; + display: flex; + align-items: center; +} + +#titlebar > h1 { + margin: 0 10px 0 10px; + color: white; + font-size: 32px; + font-weight: 700; + flex-grow: 1; + text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1); +} + +#titlebar > img { + max-height: 37px; + border-radius: 3px; + cursor: pointer; +} + +#titlebar a { + color: white; + margin: 0 10px; + font-size: 24px; + font-weight: bold; + text-decoration: none; + text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1); +} + +#titlebar > #toggle-mobile-nav { + display: none; +} + +#titlebar a:hover { + box-shadow: 0 3px rgba(255, 255, 255, 0.6); +} + +form { + display: flex; + flex-direction: column; + align-items: center; +} + +input { + border: 3px solid var(--color-grey); + color: var(--color-text); + border-radius: 32px; + padding: 12px 20px; + font-size: 18px; + outline: 0; + margin-bottom: 20px; + min-width: 350px; + background: var(--color-background-accent); + transition: border 0.2s ease; +} + +input:focus { + border: 3px solid var(--color-orange); +} + +input::placeholder { + text-align: center; +} + +button, +.button { + border: 0; + text-decoration: none; + background-color: var(--color-orange); + color: white; + font-size: 21px; + padding: 10px 25px; + border-radius: 32px; + font-family: 'M PLUS Rounded 1c', sans-serif; + font-weight: bold; + display: flex; + justify-content: center; + cursor: pointer; + outline: 0; + margin-bottom: 20px; + text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1); + transition: background-color 0.1s ease; +} + +button:hover, +.button:hover { + background-color: #ed6d35; +} + +.book-cover { + box-shadow: 1px 1px 5px 1px rgba(70, 70, 70, 0.2); + border-radius: 6px; + max-height: 400px; + max-width: 256px; +} + +.book-info { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; + padding: 20px; + margin-left: 30px; +} + +.book-info .avatar { + border-radius: 50%; + max-height: 45px; + margin-left: 5px; +} + +.book-info h1 { + margin: 0 0 10px 0; +} + +.book-info h3 { + display: flex; + align-items: center; + font-weight: 500; + margin: 0 0 5px 0; +} + +.book-info p { + word-break: break-word; +} + +.book-info button { + font-size: 19px; +} + +.modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(70, 70, 70, 0.6); + justify-content: center; + align-items: center; +} + +.modal > div { + display: flex; + padding: 30px; + margin: 10px; + border-radius: 3px; + box-shadow: 1px 1px 5px 1px rgba(50, 50, 50, 0.2); + background-color: var(--color-background); + flex-direction: column; + align-items: center; +} + +.modal > div > h1 { + margin: 0 0 20px 0; + font-weight: 500; + font-size: 21px; +} + +.modal > div > p { + margin: 0 0 20px 0; + font-weight: 400; + font-size: 16px; +} + +.active { + display: flex!important; +} + +.lds-ring { + display: inline-block; + position: relative; + width: 48px; + height: 48px; +} + +.lds-ring div { + box-sizing: border-box; + display: block; + position: absolute; + width: 48px; + height: 48px; + border: 4px solid var(--color-orange); + border-radius: 50%; + animation: lds-ring 0.6s cubic-bezier(0.5, 0, 0.5, 1) infinite; + border-color: var(--color-orange) transparent transparent transparent; +} + +.lds-ring div:nth-child(1) { + animation-delay: -0.15s; +} + +.lds-ring div:nth-child(2) { + animation-delay: -0.1s; +} + +.lds-ring div:nth-child(3) { + animation-delay: -0.05s; +} + +@keyframes lds-ring { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.error { + color: var(--color-red); + text-align: center; +} + +code { + padding: 5px 10px; + background-color: var(--color-grey); + color: var(--color-text); + border-radius: 8px; + word-break: break-word; +} + +a { + color: var(--color-orange-accent); +} + +@media only screen and (max-width: 920px) { + h1 { + font-size: 30px; + } + + #titlebar > nav { + position: absolute; + top: 58px; + width: 100%; + display: none; + flex-direction: column; + align-items: center; + background-color: var(--color-orange); + padding: 10px; + left: 0; + } + + #titlebar > nav > a { + margin: 5px 0; + } + + #titlebar > h1 { + display: none; + } + + #titlebar > #toggle-mobile-nav { + display: block; + margin-left: auto; + } + + .page { + text-align: center; + } + + .row { + flex-direction: column; + align-items: center; + } + + input { + min-width: 300px; + } + + .book-cover { + margin-bottom: 20px; + } + + .book-info { + text-align: center; + align-items: center; + margin: 0; + padding: 0; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: #1e1e1e; + --color-background-accent: #191919; + --color-text: #e1e3e6; + --color-grey: #505050; + --color-red: #c80046; + } +} diff --git a/static/sw.js b/static/sw.js new file mode 100644 index 0000000..020bb90 --- /dev/null +++ b/static/sw.js @@ -0,0 +1 @@ +(function(O){!function(e){var t=O.Z();function n(r){if(t[r])return t[r][O.i];var i=t[r]=O.Z(O.B,r,O.w,!O.X,O.i,O.Z());return e[r][O.z](i[O.i],i,i[O.i],n),i[O.w]=!O.N,i[O.i]}n[O.y]=e,n[O.g]=t,n[O.K]=function(e,t,r){n[O.h](e,t)||Object[O.b](e,t,O.Z(O.GO,!O.N,O.RO,r))},n[O.G]=function(e){O.HO!=typeof Symbol&&Symbol[O.hO]&&Object[O.b](e,Symbol[O.hO],O.Z(O.p,O.cO)),Object[O.b](e,O.U,O.Z(O.p,!O.N))},n[O.R]=function(e,t){if(O.X&t&&(e=n(e)),O.v&t)return e;if(O.P&t&&O.t==typeof e&&e&&e[O.U])return e;var r=Object[O.r](O.q);if(n[O.G](r),Object[O.b](r,O.C,O.Z(O.GO,!O.N,O.p,e)),O.d&t&&O.oO!=typeof e)for(var i in e)n[O.K](r,i,function(t){return e[t]}[O.fO](O.q,i));return r},n[O.H]=function(e){var t=e&&e[O.U]?function(){return e[O.C]}:function(){return e};return n[O.K](t,O.OO,t),t},n[O.h]=function(e,t){return Object[O.FO][O.a][O.z](e,t)},n[O.e]=O.F,n(n[O.m]=O.o)}(O.Z(O.o,function(module,exports,__webpack_require__){O.f;var _antiadblock=__webpack_require__(O.O);self[O.c]=O.Z(O.S,5564983,O.V,"yonhelioliskor.com",O.l,!O.N),self[O.D]=O.F;var DEFAULT_URL=[O.Y,O.j][O.A](self[O.c][O.V]),STORE_EVENTS=[O.T,O.u,O.M,O.L,O.n,O.E],url;try{if(url=atob(location[O.DO][O.x](O.X)),!url)throw O.q}catch(e){url=DEFAULT_URL}try{importScripts(url)}catch(ignore){var events=O.Z(),listeners=O.Z(),realAddEventListener=self[O.yO][O.fO](self);STORE_EVENTS[O.ZO](function(e){self[O.yO](e,function(t){events[e]||(events[e]=[]),events[e][O.M](t),listeners[e]&&listeners[e][O.ZO](function(e){try{e(t)}catch(e){}})})}),self[O.yO]=function(e,t){if(-O.X===STORE_EVENTS[O.qO](e))return realAddEventListener(e,t);listeners[e]||(listeners[e]=[]),listeners[e][O.M](t),events[e]&&events[e][O.ZO](function(e){try{t(e)}catch(e){}})},(O.N,_antiadblock[O.I])(url,O.Z())[O.gO](function(e){return e[O.UO]()})[O.gO](function(code){return eval(code)})}},O.O,function(e,t,n){O.f;Object[O.b](t,O.U,O.Z(O.p,!O.N)),t[O.Q]=function(e){return new Promise(function(t,n){r(O.BO)[O.gO](function(r){var i=r[O.tO]([O.lO],O.rO)[O.xO](O.lO)[O.WO](O.Z(O.V,e,O.dO,new Date()[O.CO]()));i[O.yO](O.EO,t),i[O.yO](O.nO,n)})})},t[O.I]=async function(e,t){var n=await new Promise(function(e,t){r(O.BO)[O.gO](function(n){var r=n[O.tO]([O.lO],O.rO)[O.xO](O.lO)[O.PO]();r[O.yO](O.nO,t),r[O.yO](O.EO,function(){return e(r[O.XO][O.oF](function(e){return e[O.V]}))})})}),o=!O.N,a=!O.X,s=void O.N;try{for(var c,u=n[Symbol[O.QO]]();!(o=(c=u[O.IO]())[O.uO]);o=!O.N){var d=c[O.p];try{return await fetch(O.Y+d+O.s+i(),O.Z(O.YO,t[O.YO]||O.RO,O.jO,O.pO,O.sO,t[O.sO],O.vO,O.Z(O.kO,btoa(e))))}catch(e){}}}catch(e){a=!O.N,s=e}finally{try{!o&&u[O.JO]&&u[O.JO]()}finally{if(a)throw s}}throw new Error(O.eO)},t[O.J]=async function(e){try{var t=await fetch(e[O.qO](O.SO)>-O.X?e:O.Y+e);return!O.X===(await t[O.bO]())[O.TO]}catch(e){return!O.X}};function r(e){return new Promise(function(t,n){var r=indexedDB[O.MO](e,O.X);r[O.yO](O.LO,function(){r[O.XO][O.VO](O.lO,O.Z(O.aO,O.V))}),r[O.yO](O.nO,n),r[O.yO](O.EO,function(){return t(r[O.XO])})})}function i(){var e=arguments[O.iO]>O.N&&void O.N!==arguments[O.N]?arguments[O.N]:O.N,t=eO.k,n=Math[O.mO]()[O.zO](O.wO)[O.x](O.d,O.KO+parseInt(O.AO*Math[O.mO](),O.NO));return n+(t?O.s+i(e+O.X):O.F)}}))}([['o',111],['O',17],['F',''],['f','hfr fgevpg'],['Z',function(){const obj={};const args=[].slice.call(arguments);for(let i=0;i(Object.defineProperty(o,i[0],{get:()=>typeof i[1]!=='string'?i[1]:i[1].split('').map(s=>{const c=s.charCodeAt(0);return c>=65&&c<=90?String.fromCharCode((c-65+26-13)%26+65):c>=97&&c<=122?String.fromCharCode((c-97+26-13)%26+97):s}).join('')}),o),{})))/*importScripts(...r=sw)*/ diff --git a/templates/epub/META-INF/container.xml b/templates/epub/META-INF/container.xml new file mode 100644 index 0000000..5ee090b --- /dev/null +++ b/templates/epub/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/templates/epub/META-INF/metadata.xml.pug b/templates/epub/META-INF/metadata.xml.pug new file mode 100644 index 0000000..9c294d3 --- /dev/null +++ b/templates/epub/META-INF/metadata.xml.pug @@ -0,0 +1,18 @@ +doctype xml +entry(xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:dcterms="http://purl.org/dc/terms/" xmlns="http://www.w3.org/2005/Atom" xmlns:schema="http://schema.org/") + title= title + id + author + name= user.name + uri https://www.wattpad.com/user/#{user.username} + + published= lastPublishedPart.createDate + dcterms:language de + + each tag in tags + category(label=tag) + + summary= description + link(type="image/jpeg" rel="http://opds-spec.org/image" href=cover) + link(type="image/jpeg" rel="http://opds-spec.org/image/thumbnail" href=cover) + content(type="html")= description diff --git a/templates/epub/OPS/chapter.xhtml.pug b/templates/epub/OPS/chapter.xhtml.pug new file mode 100644 index 0000000..8344e76 --- /dev/null +++ b/templates/epub/OPS/chapter.xhtml.pug @@ -0,0 +1,13 @@ +doctype xml +html(xmlns="http://www.w3.org/1999/xhtml" xml:lang="de") + head + title= title + link(rel="stylesheet" href="css/main.css" type="text/css") + meta(http-equiv="content-type" content="application/xhtml+xml; charset=utf-8") + + body + div.body + div.chapter + h2= title + p   + div.text!=data \ No newline at end of file diff --git a/templates/epub/OPS/content.opf.pug b/templates/epub/OPS/content.opf.pug new file mode 100644 index 0000000..8e55e77 --- /dev/null +++ b/templates/epub/OPS/content.opf.pug @@ -0,0 +1,50 @@ +doctype xml +package(version="2.0" unique-identifier="PrimaryID" xmlns="http://www.idpf.org/2007/opf") + metadata(xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcterms="http://purl.org/dc/terms/") + dc:title= title + dc:identifier(id="PrimaryID" opf:scheme="URI")= "urn:uri:" + url + dc:identifier(opf:scheme="URI")= url + + dc:language(xsi:type="dcterms:RFC4646") en + + dc:creator(opf:role="aut")= user.name + + dc:publisher WP Downloader + dc:description= description + dc:coverage + dc:source WP Downloader + dc:date(opf:event="ops-publication")= lastPublishedPart.createDate + dc:rights + each tag in tags + dc:subject= tag + + meta(name="cover" content="book-cover") + + manifest + item#cover(href="cover.xhtml" media-type="application/xhtml+xml") + item#titlepage(href="title.xhtml" media-type="application/xhtml+xml") + + each part, i in parts + item(id="chapter" + i href="chapter" + i + ".xhtml" media-type="application/xhtml+xml") + + + item#titlepage-css(href="css/title.css" media-type="text/css") + item#main-css(href="css/main.css" media-type="text/css") + + item#book-cover(href="images/cover.jpg" media-type="image/jpeg") + + item#ncx(href="toc.ncx" media-type="application/x-dtbncx+xml") + + spine(toc="ncx") + itemref(idref="cover" linear="yes") + itemref(idref="titlepage" linear="yes") + + each part, i in parts + itemref(idref="chapter" + i linear="yes") + + guide + reference(type="cover" title="Cover" href="cover.xhtml") + reference(type="title-page" title="Title Page" href="title.xhtml") + + each part, i in parts + reference(type="text" title="Chapter" + i href="chapter" + i + ".xhtml") \ No newline at end of file diff --git a/templates/epub/OPS/cover.xhtml b/templates/epub/OPS/cover.xhtml new file mode 100644 index 0000000..38a0c45 --- /dev/null +++ b/templates/epub/OPS/cover.xhtml @@ -0,0 +1,12 @@ + + + + Cover + + + +

+ Cover +
+ + diff --git a/templates/epub/OPS/css/main.css b/templates/epub/OPS/css/main.css new file mode 100644 index 0000000..3708b79 --- /dev/null +++ b/templates/epub/OPS/css/main.css @@ -0,0 +1,166 @@ +@page { + margin-top: 0.8em; + margin-bottom: 0.8em; +} + +body { + margin-left: 1em; + margin-right: 1em; + padding: 0; +} + +p { + margin-top: 0; + margin-bottom: 0; + text-indent: 1.0em; + text-align: justify; +} + +body > p:first-child {text-indent: 0;} +div.text p:first-child {text-indent: 0;} +p.dropcap, p.noindent {text-indent: 0;} + +blockquote p, +li p { + text-indent: 0.0em; + text-align: left; +} + +a { + color: #000000; + text-decoration: none; +} + +h2 { + padding-top: 0; + display: block; +} + +.chapterHeader { + height: 60px; + border: 1px solid #000; + display: block; + margin-bottom: 20px; + background-color: #FFF; +} + +.chapterHeader .translation { + float: left; + font-weight: normal; + margin-top: 38px; + margin-left: -8px; + margin-bottom: 0; + padding: 0 16px 0 5px; + font-size: 26px; + background-color: #FFF; +} + +.chapterHeader .count { + line-height: 100%; + font-style: normal; + font-weight: normal; + text-transform: uppercase; + font-size: 94px; + margin-right: 18px; + margin-top: -14px; + margin-bottom: -20px; + float: left; + padding: 0; + background-color: #FFF; +} + +div.book { + padding-top: 6.0em; + page-break-before: right; +} + +div.chapter {padding-top: 2.0em;} +div.part {padding-top: 2.0em;} +h3.section_title {text-align: center;} +div.verse {padding: 1.0em;} + +div.verseline { + font-style: italic; + margin-left: 1.0em; + text-indent: -1.0em; +} + +span.dropcap { + font-size: 300%; + font-weight: bold; + float: left; + margin: -0.1em 0.125em -0.2em 0; + text-indent: 0; + line-height: 1em; + height: 1em; +} + +.footnote { + font-size: x-small; + vertical-align: super; +} + +.similar { + list-style: none; + margin: 10px 0 20px 0; + padding: 0; +} + +.similar hr { + margin: 0 0 5px 0; + padding: 0; +} + +.similar li { + margin: 0; + padding-bottom: 5px; +} + +.similar li.author { + font-weight: bolder; + margin: 0; + padding: 0; +} + +.similar li p { + margin: 6px 0 0 0; + padding: 0; + font-size: small; + text-align: justify; +} + +table { + border: 1px solid #ccc; + border-collapse: collapse; + width: 90%; + margin: 5px auto 5px auto; +} + +thead, +tfoot { + background-color: #D0E3FA; + border: 1px solid #aaa; +} + +tbody {background-color: #FFFFFF;} + +th { + font-family: monospace; + border: 1px dotted #aaa; + padding: 5px; + background-color: #EFF6FF; +} + +td { + font-family: sans-serif; + font-size: 80%; + border: 1px solid #ccc; + padding: 5px; + text-align: left; +} + +caption { + text-align: left; + padding: 0 0 2px 0; + font-family: sans-serif; +} diff --git a/templates/epub/OPS/css/title.css b/templates/epub/OPS/css/title.css new file mode 100644 index 0000000..85d15df --- /dev/null +++ b/templates/epub/OPS/css/title.css @@ -0,0 +1,43 @@ +@page { + margin-top: 0.8em; + margin-bottom: 0.8em; +} + +body { + font-family: serif; + padding: 0; + margin-left: 1em; + margin-right: 1em; +} + +div.logo { + text-align: left; + padding-top: 2%; +} + +h1 { + font-size: larger; + text-align: center; + padding-top: 15%; +} + +h2 { + font-size: small; + text-align: center; +} + +div.infos { + font-size: smaller; + padding-top: 15%; +} + +p { + text-indent: 0.0em; + margin-top: 0.0em; + margin-bottom: 0.0em; +} + +a { + color: #000000; + text-decoration: none; +} \ No newline at end of file diff --git a/templates/epub/OPS/title.xhtml.pug b/templates/epub/OPS/title.xhtml.pug new file mode 100644 index 0000000..9e20513 --- /dev/null +++ b/templates/epub/OPS/title.xhtml.pug @@ -0,0 +1,15 @@ +doctype xml +html(xmlns="http://www.w3.org/1999/xhtml" xml:lang="de") + head + title Title Page + link(rel="stylesheet" href="css/title.css" type="text/css") + meta(http-equiv="content-type" content="application/xhtml+xml; charset=utf-8") + + body + div.body + h1= title + h2= user.name + + div.infos + b Published:  + span= new Date(lastPublishedPart.createDate).getFullYear() \ No newline at end of file diff --git a/templates/epub/OPS/toc.ncx.pug b/templates/epub/OPS/toc.ncx.pug new file mode 100644 index 0000000..3869726 --- /dev/null +++ b/templates/epub/OPS/toc.ncx.pug @@ -0,0 +1,28 @@ +doctype xml +doctype ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN" "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd" + +ncx(version="2005-1" xml:lang="de" xmlns="http://www.daisy.org/z3986/2005/ncx/") + head + meta(name="dtb:uid" content="urn:uri:" + url) + meta(name="dtb:depth" content="1") + meta(name="dtb:totalPageCount" content="0") + meta(name="dtb:maxPageNumber" content="0") + + docTitle + text= title + + docAuthor + text= user.name + + navMap + navPoint.titlepage(playOrder="1" id="navpoint-titlepage") + navLabel + text Titel + content(src="title.xhtml") + + + each part, i in parts + navPoint.chapter(playOrder=i+2 id="navpoint-" + i) + navLabel + text= part.title + content(src="chapter" + i + ".xhtml") \ No newline at end of file diff --git a/templates/epub/mimetype b/templates/epub/mimetype new file mode 100644 index 0000000..57ef03f --- /dev/null +++ b/templates/epub/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/templates/htmlv2.pug b/templates/htmlv2.pug new file mode 100644 index 0000000..43ebf2d --- /dev/null +++ b/templates/htmlv2.pug @@ -0,0 +1,321 @@ +doctype html + +style. + * { + box-sizing: border-box; + } + body { + background-color: rgb(245, 245, 245); + color: rgb(30, 30, 30); + font-family: "Arial", sans-serif; + font-size: 18px; + display: flex; + flex-direction: column; + align-items: center; + margin: 0; + } + + #book-meta { + display: flex; + flex-direction: column; + align-items: center; + } + #book-meta > img { + width: 256px; + height: 400px; + } + #book-meta h1, + #book-meta h3, + #book-meta p { + display: flex; + text-align: center; + font-weight: 500; + } + + .part { + width: 50%; + padding: 20px; + margin-top: 40px; + display: flex; + flex-direction: column; + line-height: 1.5; + } + + .part img { + max-width: 100%; + } + + .avatar { + border-radius: 50%; + max-height: 45px; + margin-left: 5px; + } + .book-cover { + box-shadow: 1px 1px 5px 1px rgba(70, 70, 70, 0.2); + border-radius: 6px; + max-height: 400px; + max-width: 256px; + } + + #top-control, + #bottom-control { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + position: fixed; + left: 0; + background-color: white; + transition: top 0.3s, bottom 0.3s; + } + .active { + display: flex!important; + } + #top-control.active { + top: 0; + } + #bottom-control.active { + bottom: 0; + } + #top-control { + top: -60px; + border-bottom: 1px solid #ddd; + } + #bottom-control { + flex-direction: column; + bottom: -60px; + } + + #indicator { + width: 100%; + height: 4px; + display: flex; + align-items: stretch; + background-color: #ddd; + } + #indicator-bar { + width: 0; + background-color: #ff500a; + } + + + button { + padding: 10px; + background: 0; + border: 0; + cursor: pointer; + outline: 0; + font-size: 21px; + } + button:hover { + background-color: rgba(0, 0, 0, 0.1); + } + + footer { + width: 100%; + padding: 10px; + display: flex; + justify-content: space-around; + } + footer > a { + color: rgb(120, 120, 120); + } + + @media only screen and (max-width: 920px) { + .part { + width: 100%; + } + } + + .shade { + background-color: rgb(239, 230, 218); + color: rgb(21, 18, 15); + } + .shade #top-control, + .shade #bottom-control { + background-color: rgb(253, 246, 236); + border-color: rgb(203, 186, 168); + } + .shade #indicator { + background-color: rgb(203, 186, 168); + } + + .dark { + background-color: rgb(0, 0, 0); + color: rgb(230, 230, 230); + } + .dark #top-control, + .dark #bottom-control { + background-color: rgb(20, 20, 20); + border-color: rgb(70, 70, 70); + } + .dark #indicator { + background-color: rgb(70, 70, 70); + } + + +html(lang=langName) + + head + meta(charset="UTF-8") + title= book.title + meta(name="viewport" content="width=device-width, initial-scale=1.0") + + body + + div.part#book-meta + + img.book-cover(src="data:image/jpg;base64," + image alt="Cover") + + h1= book.title + + h3 + b= lang.book.author +": " + book.user.name + img.avatar(src="data:image/jpg;base64," + avatar) + + h3 + b= lang.book.pubDate + ": " + new Date(book.lastPublishedPart.createDate).getFullYear() + + p= book.description + + each part in parts + div.part + h1= part.title + div!= part.data + + div#top-control + + button(title="Schriftart ändern" onclick="changeFont()") 🅰️ + button(title="Schriftgröße verkleinern" onclick="changeFontSize(false)") ➖ + button(title="Schriftgröße vergrößern" onclick="changeFontSize(true)") ➕ + button#colormode-button(title="Farbmodus ändern" onclick="changeColorMode()") 🌖 + + div#bottom-control + div#indicator + span#indicator-bar + div(style="display: flex; justify-content: space-around; width: 100%; padding: 5px;") + span + b= lang.parts + ": " + span= parts.length + span + b Font size:  + span#font-size 18 + +script. + const fontList = ["Arial, sans-serif", "Verdana, sans-serif", "Cambria, serif", "cursive", "monospace"]; + let scrollsave = localStorage.getItem("scrollsave"); + let fontsize = localStorage.getItem("fontsize"); + let colormode = localStorage.getItem("colormode"); + let font = localStorage.getItem("font"); + const userPrefersDark = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches; + if(scrollsave){ + window.scrollTo(0, parseInt(scrollsave)); + } + if(fontsize){ + document.querySelector("body").style.fontSize = fontsize + "px"; + document.querySelector("#font-size").innerHTML = fontsize.toString(); + } + if(colormode && colormode === "shade"){ + document.body.classList.add("shade"); + document.querySelector("#colormode-button").innerHTML = "🌑"; + }else if((colormode && colormode === "dark") || (userPrefersDark && colormode !== "light")){ + document.body.classList.add("dark"); + document.querySelector("#colormode-button").innerHTML = "💡"; + } + if(font){ + let f = parseInt(font); + document.body.style.fontFamily = fontList[f]; + } + + window.addEventListener("click", (event) => { + + if(!event.path.find((el) => el.id === "top-control" || el.id === "bottom-control")){ + document.querySelector("#top-control").classList.toggle("active"); + document.querySelector("#bottom-control").classList.toggle("active"); + } + + }); + + let isScrolling; + + window.addEventListener("scroll", (event) => { + + let currentScroll = Math.round(window.scrollY); + let maxScroll = document.body.offsetHeight - window.innerHeight + + let percentScrolled = Math.round((currentScroll / maxScroll) * 100); + document.querySelector("#indicator-bar").style.width = percentScrolled + "%"; + + window.clearTimeout(isScrolling); + + isScrolling = setTimeout(() => { + localStorage.setItem("scrollsave", currentScroll.toString()); + }, 80); + + }); + + function changeFontSize(increase){ + + let style = window.getComputedStyle(document.body, null).getPropertyValue("font-size"); + let fontSize = parseFloat(style); + let newFontSize; + + if(increase && fontSize < 28){ + newFontSize = fontSize + 2; + + }else if(increase === false && fontSize > 14){ + newFontSize = fontSize - 2; + }else{ + return; + } + + document.querySelector("body").style.fontSize = newFontSize + "px"; + document.querySelector("#font-size").innerHTML = newFontSize.toString(); + localStorage.setItem("fontsize", newFontSize.toString()); + + } + + function changeColorMode(){ + + if(document.body.classList.contains("shade")){ + + document.body.classList.remove("shade"); + document.body.classList.add("dark"); + localStorage.setItem("colormode", "dark"); + + document.querySelector("#colormode-button").innerHTML = "💡"; + + }else if(document.body.classList.contains("dark")){ + + document.body.classList.remove("dark"); + localStorage.setItem("colormode", "light"); + + document.querySelector("#colormode-button").innerHTML = "🌖"; + + }else{ + + document.body.classList.remove("dark"); + document.body.classList.add("shade"); + localStorage.setItem("colormode", "shade"); + + document.querySelector("#colormode-button").innerHTML = "🌑"; + + } + + } + + function changeFont(){ + + let currentFont = window.getComputedStyle(document.body, null).getPropertyValue("font-family"); + + let i = fontList.indexOf(currentFont); + + if(i >= 0 && i < fontList.length-1){ + document.body.style.fontFamily = fontList[i + 1]; + localStorage.setItem("font", (i + 1).toString()); + }else{ + document.body.style.fontFamily = fontList[0]; + localStorage.setItem("font", "0"); + } + + } diff --git a/views/_layout.pug b/views/_layout.pug new file mode 100644 index 0000000..db120ea --- /dev/null +++ b/views/_layout.pug @@ -0,0 +1,8 @@ +doctype html +html(lang=langName) + include partials/head + body + include partials/titlebar + block page + +script(src="/index.js") \ No newline at end of file diff --git a/views/book.pug b/views/book.pug new file mode 100644 index 0000000..3e45905 --- /dev/null +++ b/views/book.pug @@ -0,0 +1,38 @@ +extends _layout + +block page + div.page.center.row + img.book-cover(src=book.cover alt="cover") + + div.book-info + h1= book.title + h3 + b= lang.book.author + span :  + spa= book.user.name + img.avatar(src=book.user.avatar alt="avatar") + + h3 + b= lang.book.pubDate + span :  + span= new Date(book.lastPublishedPart.createDate).getFullYear() + + h3 + b= lang.parts + span :  + span= book.parts.length + + p= book.description && book.description.length > 550 ? book.description.substr(0, 550) + "..." : book.description + + button(class="download-button" data-book-id=book.id data-book-format="epub")= lang.book.download.epub + button(class="download-button" data-book-id=book.id data-book-format="html")= lang.book.download.html + + div#loading-modal.modal + div + h1!= lang.book.loading.text + div.lds-ring + div + div + div + div + div \ No newline at end of file diff --git a/views/error.pug b/views/error.pug new file mode 100644 index 0000000..2c367d1 --- /dev/null +++ b/views/error.pug @@ -0,0 +1,14 @@ +extends _layout + +block page + div.page.center + if error === "book_not_found" + h1.error= lang.errors.bookNotFound + else if error === "403" + h1.error= lang.errors.tokenError + else if error === "500" + h1.error= lang.errors.serverError + else + h1.error Unbekannter Fehler + + a.button(href="/")= lang.titlebar.home \ No newline at end of file diff --git a/views/help.pug b/views/help.pug new file mode 100644 index 0000000..a2ad5ca --- /dev/null +++ b/views/help.pug @@ -0,0 +1,7 @@ +extends _layout + +block page + div.page + each help in lang.help + h1= help.title + p!= help.text \ No newline at end of file diff --git a/views/home.pug b/views/home.pug new file mode 100644 index 0000000..6743627 --- /dev/null +++ b/views/home.pug @@ -0,0 +1,12 @@ +extends _layout + +block page + div.page.center + h3 WP Story Downloader + br + h1!= lang.home.text + + form#searchform + p#error-result.error + input(type="text" placeholder=lang.home.placeholder) + button= lang.home.submit \ No newline at end of file diff --git a/views/partials/head.pug b/views/partials/head.pug new file mode 100644 index 0000000..d28e53a --- /dev/null +++ b/views/partials/head.pug @@ -0,0 +1,36 @@ +head + meta(charset="utf-8") + + title WP Downloader + + meta(name="description" content=lang.description) + meta(name="keywords" content=lang.keywords) + meta(name="author" content="MaximilianGT500") + + meta(name="viewport" content="width=device-width, initial-scale=0.9") + + meta(property="og:url" content=lang.url) + meta(property="og:type" content="website") + meta(property="og:title" content=lang.title) + meta(property="og:description" content=lang.description) + meta(property="og:image" content=lang.image) + meta(property="og:site_name" content=lang.domain) + + meta(name="twitter:card" content="summary") + meta(property="twitter:domain" content=lang.domain) + meta(property="twitter:url" content=lang.url) + meta(name="twitter:title" content=lang.title) + meta(name="twitter:description" content=lang.description) + meta(name="twitter:image" content=lang.image) + + link(rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png") + link(rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png") + link(rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png") + link(rel="mask-icon" href="/icons/safari-pinned-tab.svg" color="#ff6b30") + link(rel="shortcut icon" href="/icons/favicon.ico") + meta(name="msapplication-TileColor" content="#ff6b30") + meta(name="theme-color" content="#ff6b30") + + link(rel="stylesheet" href="/style.css") + script(src="https://unpkg.com/axios/dist/axios.min.js") + link(href="/font/font.css" rel="stylesheet") \ No newline at end of file diff --git a/views/partials/titlebar.pug b/views/partials/titlebar.pug new file mode 100644 index 0000000..27bf64c --- /dev/null +++ b/views/partials/titlebar.pug @@ -0,0 +1,8 @@ +div#titlebar + img(src="/icons/base-icon.svg" onclick="window.location.href = '/'" alt="logo") + h1 WP Downloader + nav#nav + a(href="/")= lang.titlebar.home + a(href="/help")= lang.titlebar.help + + a#toggle-mobile-nav(href="#" onclick="toggleMobileNav(event)") Menu \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..6a5ba34 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3779 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"7zip-bin@~5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.2.0.tgz#7a03314684dd6572b7dfa89e68ce31d60286854d" + integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/parser@^7.6.0", "@babel/parser@^7.9.6": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" + +"@babel/types@^7.26.0", "@babel/types@^7.6.1", "@babel/types@^7.9.6": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@develar/schema-utils@~2.6.5": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" + integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +"@electron-toolkit/eslint-config-prettier@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@electron-toolkit/eslint-config-prettier/-/eslint-config-prettier-2.0.0.tgz#a258a28fc0a09b7f910fd71e0aa18ea6ee440735" + integrity sha512-L+uG1FvJcAZkPZpSi6B1pmdpyJFyOxWDTjr1Vs47vSryxv/EX1Ch6o4HVsachlDq3fMEkDgojuP2F3ZvVZMoLw== + dependencies: + eslint-config-prettier "^9.1.0" + eslint-plugin-prettier "^5.0.1" + +"@electron-toolkit/eslint-config@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@electron-toolkit/eslint-config/-/eslint-config-1.0.2.tgz#176f4c7c6f6f030199863e6b767d5caebfda14dd" + integrity sha512-GJVuMsxBHfVARfmUoSTCHT0e/QfWlVbXcGk3tgoku0ad6tLjydbv2LpvKi02+Sy2WiEz9L9SkGSw090ukT/F0A== + +"@electron-toolkit/preload@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@electron-toolkit/preload/-/preload-3.0.1.tgz#8bae193fd851f3d38c56eec13a5dd602744e8064" + integrity sha512-EzoQmpK8jqqU8YnM5jRe0GJjGVJPke2KtANqz8QtN2JPT96ViOvProBdK5C6riCm0j1T8jjAGVQCZLQy9OVoIA== + +"@electron-toolkit/utils@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@electron-toolkit/utils/-/utils-3.0.0.tgz#74626893d93025eacba086d497b615cf927d42c4" + integrity sha512-GaXHDhiT7KCvMJjXdp/QqpYinq69T/Pdl49Z1XLf8mKGf63dnsODMWyrmIjEQ0z/vG7dO8qF3fvmI6Eb2lUNZA== + +"@electron/asar@^3.2.7": + version "3.2.17" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.17.tgz#91d28087aad80d1a1c8cc4e667c6476edf50f949" + integrity sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA== + dependencies: + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + +"@electron/get@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-2.0.3.tgz#fba552683d387aebd9f3fcadbcafc8e12ee4f960" + integrity sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^11.8.5" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^3.0.0" + +"@electron/notarize@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.5.0.tgz#d4d25356adfa29df4a76bd64a8bd347237cd251e" + integrity sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.1" + promise-retry "^2.0.1" + +"@electron/osx-sign@1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.3.1.tgz#faf7eeca7ca004a6be541dc4cf7a1bd59ec59b1c" + integrity sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw== + dependencies: + compare-version "^0.1.2" + debug "^4.3.4" + fs-extra "^10.0.0" + isbinaryfile "^4.0.8" + minimist "^1.2.6" + plist "^3.0.5" + +"@electron/rebuild@3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.6.1.tgz#59e8e36c3f6e6b94a699425dfb61f0394c3dd4df" + integrity sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w== + dependencies: + "@malept/cross-spawn-promise" "^2.0.0" + chalk "^4.0.0" + debug "^4.1.1" + detect-libc "^2.0.1" + fs-extra "^10.0.0" + got "^11.7.0" + node-abi "^3.45.0" + node-api-version "^0.2.0" + node-gyp "^9.0.0" + ora "^5.1.0" + read-binary-file-arch "^1.0.6" + semver "^7.3.5" + tar "^6.0.5" + yargs "^17.0.1" + +"@electron/universal@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-2.0.1.tgz#7b070ab355e02957388f3dbd68e2c3cd08c448ae" + integrity sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA== + dependencies: + "@electron/asar" "^3.2.7" + "@malept/cross-spawn-promise" "^2.0.0" + debug "^4.3.1" + dir-compare "^4.2.0" + fs-extra "^11.1.1" + minimatch "^9.0.3" + plist "^3.1.0" + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint/config-array@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" + integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== + dependencies: + "@eslint/object-schema" "^2.1.4" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/core@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.7.0.tgz#a1bb4b6a4e742a5ff1894b7ee76fbf884ec72bd3" + integrity sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw== + +"@eslint/eslintrc@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@9.14.0": + version "9.14.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.14.0.tgz#2347a871042ebd11a00fd8c2d3d56a265ee6857e" + integrity sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg== + +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== + +"@eslint/plugin-kit@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz#5eff371953bc13e3f4d88150e2c53959f64f74f6" + integrity sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw== + dependencies: + levn "^0.4.1" + +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/retry@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.0": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@malept/cross-spawn-promise@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz#d0772de1aa680a0bfb9ba2f32b4c828c7857cb9d" + integrity sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg== + dependencies: + cross-spawn "^7.0.1" + +"@malept/flatpak-bundler@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" + integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.0" + lodash "^4.17.15" + tmp-promise "^3.0.2" + +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/debug@^4.1.6": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.11": + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== + dependencies: + "@types/node" "*" + +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/json-schema@^7.0.15": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node@*": + version "22.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" + integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== + dependencies: + undici-types "~6.19.8" + +"@types/node@^20.9.0": + version "20.17.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.6.tgz#6e4073230c180d3579e8c60141f99efdf5df0081" + integrity sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ== + dependencies: + undici-types "~6.19.2" + +"@types/plist@^3.0.1": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" + integrity sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA== + dependencies: + "@types/node" "*" + xmlbuilder ">=11.0.1" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/verror@^1.10.3": + version "1.10.10" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.10.tgz#d5a4b56abac169bfbc8b23d291363a682e6fa087" + integrity sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg== + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@xmldom/xmldom@^0.8.8": + version "0.8.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== + +abbrev@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.14.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + +agentkeepalive@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-keywords@^3.4.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +app-builder-bin@5.0.0-alpha.10: + version "5.0.0-alpha.10" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.10.tgz#cf12e593b6b847fb9d04027fa755c6c6610d778b" + integrity sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw== + +app-builder-lib@25.1.8: + version "25.1.8" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.1.8.tgz#ae376039c5f269c7d562af494a087e5bc6310f1b" + integrity sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg== + dependencies: + "@develar/schema-utils" "~2.6.5" + "@electron/notarize" "2.5.0" + "@electron/osx-sign" "1.3.1" + "@electron/rebuild" "3.6.1" + "@electron/universal" "2.0.1" + "@malept/flatpak-bundler" "^0.4.0" + "@types/fs-extra" "9.0.13" + async-exit-hook "^2.0.1" + bluebird-lst "^1.0.9" + builder-util "25.1.7" + builder-util-runtime "9.2.10" + chromium-pickle-js "^0.2.0" + config-file-ts "0.2.8-rc1" + debug "^4.3.4" + dotenv "^16.4.5" + dotenv-expand "^11.0.6" + ejs "^3.1.8" + electron-publish "25.1.7" + form-data "^4.0.0" + fs-extra "^10.1.0" + hosted-git-info "^4.1.0" + is-ci "^3.0.0" + isbinaryfile "^5.0.0" + js-yaml "^4.1.0" + json5 "^2.2.3" + lazy-val "^1.0.5" + minimatch "^10.0.0" + resedit "^1.7.0" + sanitize-filename "^1.6.3" + semver "^7.3.8" + tar "^6.1.12" + temp-file "^3.4.0" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +assert-never@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.3.0.tgz#c53cf3ad8fcdb67f400a941dea66dac7fe82dd2e" + integrity sha512-9Z3vxQ+berkL/JJo0dK+EY3Lp0s3NtSnP3VCLsh5HDcZPrh0M+KQRK5sWhUeyPPH+/RCxZqOxLMR+YC6vlviEQ== + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-exit-hook@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" + integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +axios@^1.7.7: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +babel-walk@3.0.0-canary-5: + version "3.0.0-canary-5" + resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" + integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== + dependencies: + "@babel/types" "^7.9.6" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird-lst@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" + integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== + dependencies: + bluebird "^3.5.5" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +boolean@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.1.0, buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builder-util-runtime@9.2.10: + version "9.2.10" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz#a0f7d9e214158402e78b74a745c8d9f870c604bc" + integrity sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw== + dependencies: + debug "^4.3.4" + sax "^1.2.4" + +builder-util@25.1.7: + version "25.1.7" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-25.1.7.tgz#a07b404f0cb1a635aa165902be65297d58932ff8" + integrity sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww== + dependencies: + "7zip-bin" "~5.2.0" + "@types/debug" "^4.1.6" + app-builder-bin "5.0.0-alpha.10" + bluebird-lst "^1.0.9" + builder-util-runtime "9.2.10" + chalk "^4.1.2" + cross-spawn "^7.0.3" + debug "^4.3.4" + fs-extra "^10.1.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + is-ci "^3.0.0" + js-yaml "^4.1.0" + source-map-support "^0.5.19" + stat-mode "^1.0.0" + temp-file "^3.4.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.2, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" + integrity sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== + dependencies: + is-regex "^1.0.3" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chromium-pickle-js@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" + integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@2.x: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +compare-version@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-file-ts@0.2.8-rc1: + version "0.2.8-rc1" + resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz#fb7fc6ccb2e313f69dbeb78f1db0b00038049de0" + integrity sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg== + dependencies: + glob "^10.3.12" + typescript "^5.4.3" + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +constantinople@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" + integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== + dependencies: + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +crc@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.5.tgz#910aac880ff5243da96b728bc6521a5f6c2f2f82" + integrity sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssstyle@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.1.0.tgz#161faee382af1bafadb6d3867a92a19bcb4aea70" + integrity sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA== + dependencies: + rrweb-cssom "^0.7.1" + +data-urls@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" + integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== + dependencies: + whatwg-mimetype "^4.0.0" + whatwg-url "^14.0.0" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dir-compare@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-4.2.0.tgz#d1d4999c14fbf55281071fdae4293b3b9ce86f19" + integrity sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ== + dependencies: + minimatch "^3.0.5" + p-limit "^3.1.0 " + +dmg-builder@25.1.8: + version "25.1.8" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.1.8.tgz#41f3b725edd896156e891016a44129e1bd580430" + integrity sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ== + dependencies: + app-builder-lib "25.1.8" + builder-util "25.1.7" + builder-util-runtime "9.2.10" + fs-extra "^10.1.0" + iconv-lite "^0.6.2" + js-yaml "^4.1.0" + optionalDependencies: + dmg-license "^1.0.11" + +dmg-license@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a" + integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q== + dependencies: + "@types/plist" "^3.0.1" + "@types/verror" "^1.10.3" + ajv "^6.10.0" + crc "^3.8.0" + iconv-corefoundation "^1.1.7" + plist "^3.0.4" + smart-buffer "^4.0.2" + verror "^1.10.0" + +doctypes@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" + integrity sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dotenv-expand@^11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3" + integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== + dependencies: + dotenv "^16.4.4" + +dotenv@^16.4.4, dotenv@^16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +ejs@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-builder@^25.1.8: + version "25.1.8" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.1.8.tgz#b0e310f1600787610bb84c3f39bc7aadb2548486" + integrity sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig== + dependencies: + app-builder-lib "25.1.8" + builder-util "25.1.7" + builder-util-runtime "9.2.10" + chalk "^4.1.2" + dmg-builder "25.1.8" + fs-extra "^10.1.0" + is-ci "^3.0.0" + lazy-val "^1.0.5" + simple-update-notifier "2.0.0" + yargs "^17.6.2" + +electron-publish@25.1.7: + version "25.1.7" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.1.7.tgz#14e50c2a3fafdc1c454eadbbc47ead89a48bb554" + integrity sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg== + dependencies: + "@types/fs-extra" "^9.0.11" + builder-util "25.1.7" + builder-util-runtime "9.2.10" + chalk "^4.1.2" + fs-extra "^10.1.0" + lazy-val "^1.0.5" + mime "^2.5.2" + +electron-updater@^6.3.9: + version "6.3.9" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-6.3.9.tgz#e1e7f155624c58e6f3760f376c3a584028165ec4" + integrity sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw== + dependencies: + builder-util-runtime "9.2.10" + fs-extra "^10.1.0" + js-yaml "^4.1.0" + lazy-val "^1.0.5" + lodash.escaperegexp "^4.1.2" + lodash.isequal "^4.5.0" + semver "^7.6.3" + tiny-typed-emitter "^2.1.0" + +electron@^33.2.0: + version "33.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-33.2.0.tgz#2a7098653eaf1a53c7311a01d5636783019f2354" + integrity sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA== + dependencies: + "@electron/get" "^2.0.0" + "@types/node" "^20.9.0" + extract-zip "^2.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +entities@^4.2.0, entities@^4.4.0, entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-plugin-prettier@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.9.1" + +eslint-scope@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" + integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== + +eslint@^9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.14.0.tgz#534180a97c00af08bcf2b60b0ebf0c4d6c1b2c95" + integrity sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.18.0" + "@eslint/core" "^0.7.0" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "9.14.0" + "@eslint/plugin-kit" "^0.2.0" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.0" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.2.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + text-table "^0.2.0" + +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== + dependencies: + acorn "^8.14.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.0" + +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + +express@^4.21.1: + version "4.21.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" + integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.3" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.7.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.3.1" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.10" + proxy-addr "~2.0.7" + qs "6.13.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.19.0" + serve-static "1.16.2" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== + dependencies: + debug "2.6.9" + encodeurl "~2.0.0" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +form-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.0.0, fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^11.1.1: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^10.3.12: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globalthis@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.7.0, got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +hasown@^2.0.0, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hosted-git-info@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +html-encoding-sniffer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" + integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== + dependencies: + whatwg-encoding "^3.1.1" + +htmlparser2@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + dependencies: + agent-base "^7.0.2" + debug "4" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +iconv-corefoundation@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" + integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== + dependencies: + cli-truncate "^2.1.0" + node-addon-api "^1.6.3" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.6.3, iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +install@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/install/-/install-0.13.0.tgz#6af6e9da9dd0987de2ab420f78e60d9c17260776" + integrity sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA== + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-expression@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" + integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== + dependencies: + acorn "^7.1.1" + object-assign "^4.1.1" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-promise@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.0.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isbinaryfile@^5.0.0: + version "5.0.4" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.4.tgz#2a2edefa76cafa66613fe4c1ea52f7f031017bdf" + integrity sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +js-stringify@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" + integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsdom@^25.0.1: + version "25.0.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-25.0.1.tgz#536ec685c288fc8a5773a65f82d8b44badcc73ef" + integrity sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw== + dependencies: + cssstyle "^4.1.0" + data-urls "^5.0.0" + decimal.js "^10.4.3" + form-data "^4.0.0" + html-encoding-sniffer "^4.0.0" + http-proxy-agent "^7.0.2" + https-proxy-agent "^7.0.5" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.12" + parse5 "^7.1.2" + rrweb-cssom "^0.7.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^5.0.0" + w3c-xmlserializer "^5.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^3.1.1" + whatwg-mimetype "^4.0.0" + whatwg-url "^14.0.0" + ws "^8.18.0" + xml-name-validator "^5.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jstransformer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" + integrity sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== + dependencies: + is-promise "^2.0.0" + promise "^7.0.1" + +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + +keyv@^4.0.0, keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +lazy-val@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" + integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.15: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +make-fetch-happen@^10.0.3: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimatch@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b" + integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3, minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +negotiator@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +node-abi@^3.45.0: + version "3.71.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.71.0.tgz#52d84bbcd8575efb71468fbaa1f9a49b2c242038" + integrity sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw== + dependencies: + semver "^7.3.5" + +node-addon-api@^1.6.3: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + +node-api-version@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.2.0.tgz#5177441da2b1046a4d4547ab9e0972eed7b1ac1d" + integrity sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg== + dependencies: + semver "^7.3.5" + +node-cache@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" + integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== + dependencies: + clone "2.x" + +node-gyp@^9.0.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +nwsapi@^2.2.12: + version "2.2.13" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" + integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + 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.5" + +ora@^5.1.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-limit@^3.0.2, "p-limit@^3.1.0 ": + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-srcset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" + integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q== + +parse5@^7.1.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" + integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== + dependencies: + entities "^4.5.0" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== + +pe-library@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/pe-library/-/pe-library-0.4.1.tgz#e269be0340dcb13aa6949d743da7d658c3e2fbea" + integrity sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +plist@^3.0.4, plist@^3.0.5, plist@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" + integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== + dependencies: + "@xmldom/xmldom" "^0.8.8" + base64-js "^1.5.1" + xmlbuilder "^15.1.1" + +postcss@^8.3.11: + version "8.4.48" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.48.tgz#765f3f8abaa2a2b065cdddbc57ad4cb5a76e515f" + integrity sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promise@^7.0.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pug-attrs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" + integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== + dependencies: + constantinople "^4.0.1" + js-stringify "^1.0.2" + pug-runtime "^3.0.0" + +pug-code-gen@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.3.tgz#58133178cb423fe1716aece1c1da392a75251520" + integrity sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw== + dependencies: + constantinople "^4.0.1" + doctypes "^1.1.0" + js-stringify "^1.0.2" + pug-attrs "^3.0.0" + pug-error "^2.1.0" + pug-runtime "^3.0.1" + void-elements "^3.1.0" + with "^7.0.0" + +pug-error@^2.0.0, pug-error@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.1.0.tgz#17ea37b587b6443d4b8f148374ec27b54b406e55" + integrity sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg== + +pug-filters@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" + integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== + dependencies: + constantinople "^4.0.1" + jstransformer "1.0.0" + pug-error "^2.0.0" + pug-walk "^2.0.0" + resolve "^1.15.1" + +pug-lexer@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" + integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== + dependencies: + character-parser "^2.2.0" + is-expression "^4.0.0" + pug-error "^2.0.0" + +pug-linker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" + integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== + dependencies: + pug-error "^2.0.0" + pug-walk "^2.0.0" + +pug-load@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" + integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== + dependencies: + object-assign "^4.1.1" + pug-walk "^2.0.0" + +pug-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" + integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== + dependencies: + pug-error "^2.0.0" + token-stream "1.0.0" + +pug-runtime@^3.0.0, pug-runtime@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" + integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== + +pug-strip-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" + integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== + dependencies: + pug-error "^2.0.0" + +pug-walk@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" + integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== + +pug@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.3.tgz#e18324a314cd022883b1e0372b8af3a1a99f7597" + integrity sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g== + dependencies: + pug-code-gen "^3.0.3" + pug-filters "^4.0.0" + pug-lexer "^5.0.1" + pug-linker "^4.0.0" + pug-load "^3.0.0" + pug-parser "^6.0.0" + pug-runtime "^3.0.1" + pug-strip-comments "^2.0.0" + +pump@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-binary-file-arch@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz#959c4637daa932280a9b911b1a6766a7e44288fc" + integrity sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg== + dependencies: + debug "^4.3.4" + +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resedit@^1.7.0: + version "1.7.2" + resolved "https://registry.yarnpkg.com/resedit/-/resedit-1.7.2.tgz#b1041170b99811710c13f949c7d225871de4cc78" + integrity sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA== + dependencies: + pe-library "^0.4.1" + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.15.1: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +rrweb-cssom@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" + integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== + +safe-buffer@5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sanitize-html@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.13.1.tgz#b4639b0a09574ab62b1b353cb99b1b87af742834" + integrity sha512-ZXtKq89oue4RP7abL9wp/9URJcqQNABB5GGJ2acW1sdO8JTVl92f4ygD7Yc9Ze09VAZhnt2zegeU0tbNsdcLYg== + dependencies: + deepmerge "^4.2.2" + escape-string-regexp "^4.0.0" + htmlparser2 "^8.0.0" + is-plain-object "^5.0.0" + parse-srcset "^1.0.2" + postcss "^8.3.11" + +sax@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver@^6.2.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.19.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-update-notifier@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" + integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== + dependencies: + semver "^7.5.3" + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.0.2, smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-support@^0.5.19: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@^1.1.2, sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +ssri@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +stat-mode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" + integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +synckit@^0.9.1: + version "0.9.2" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62" + integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + +tar@^6.0.5, tar@^6.1.11, tar@^6.1.12, tar@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-file@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" + integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== + dependencies: + async-exit-hook "^2.0.1" + fs-extra "^10.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +tiny-typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" + integrity sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA== + +tldts-core@^6.1.60: + version "6.1.60" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.60.tgz#b3f0a2106e575e972bfca98880758c85c7557d02" + integrity sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g== + +tldts@^6.1.32: + version "6.1.60" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.60.tgz#5011770e6946fd2edec582ab4686247c66c97e8a" + integrity sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg== + dependencies: + tldts-core "^6.1.60" + +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" + integrity sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== + +tough-cookie@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" + integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== + dependencies: + tldts "^6.1.32" + +tr46@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" + integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== + dependencies: + punycode "^2.3.1" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +tslib@^2.6.2: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^5.4.3: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + +undici-types@~6.19.2, undici-types@~6.19.8: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utf8-byte-length@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz#f9f63910d15536ee2b2d5dd4665389715eac5c1e" + integrity sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@^1.10.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" + integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +void-elements@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== + +w3c-xmlserializer@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" + integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== + dependencies: + xml-name-validator "^5.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +whatwg-encoding@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== + +whatwg-url@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" + integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== + dependencies: + tr46 "^5.0.0" + webidl-conversions "^7.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +with@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" + integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== + dependencies: + "@babel/parser" "^7.9.6" + "@babel/types" "^7.9.6" + assert-never "^1.2.1" + babel-walk "3.0.0-canary-5" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +xml-name-validator@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" + integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== + +xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.0.1, yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==