From eeae2a9821efe564ddbf918b3a05fedf24cabdfa Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Fri, 2 Jan 2026 18:20:18 -0600 Subject: [PATCH] feat(frontend): add PWA support with manifest, service worker, and audio processing features --- .../public/assets/images/logo-chat-bubble.png | Bin 0 -> 111913 bytes .../frontend/public/assets/images/logo.png | Bin 0 -> 296023 bytes .../interface_connected.png | Bin 0 -> 4743 bytes .../interface_disconnected.png | Bin 0 -> 4554 bytes .../images/network-visualiser/server.png | Bin 0 -> 8437 bytes .../images/network-visualiser/server_1hop.png | Bin 0 -> 8338 bytes .../assets/images/network-visualiser/user.png | Bin 0 -> 8174 bytes .../images/network-visualiser/user_1hop.png | Bin 0 -> 8291 bytes .../assets/images/reticulum_logo_512.png | Bin 0 -> 86758 bytes .../assets/js/codec2-emscripten/c2dec.js | 3780 ++++++++++++ .../assets/js/codec2-emscripten/c2dec.wasm | Bin 0 -> 901145 bytes .../assets/js/codec2-emscripten/c2enc.js | 3780 ++++++++++++ .../assets/js/codec2-emscripten/c2enc.wasm | Bin 0 -> 791487 bytes .../assets/js/codec2-emscripten/codec2-lib.js | 127 + .../codec2-microphone-recorder.js | 92 + .../assets/js/codec2-emscripten/index.html | 127 + .../assets/js/codec2-emscripten/processor.js | 55 + .../public/assets/js/codec2-emscripten/sox.js | 5128 +++++++++++++++++ .../assets/js/codec2-emscripten/sox.wasm | Bin 0 -> 653393 bytes .../js/codec2-emscripten/wav-encoder.js | 47 + .../tailwind-v3.4.3-forms-v0.5.7.js | 62 + .../public/assets/proto/audio_call.proto | 31 + .../public/favicons/favicon-512x512.png | Bin 0 -> 12829 bytes meshchatx/src/frontend/public/manifest.json | 17 + .../src/frontend/public/rnode-flasher/LICENSE | 21 + .../frontend/public/rnode-flasher/README.md | 86 + .../frontend/public/rnode-flasher/index.html | 2013 +++++++ .../js/crypto-js@3.9.1-1/core.js | 760 +++ .../rnode-flasher/js/crypto-js@3.9.1-1/md5.js | 268 + .../js/esptool-js@0.4.5/bundle.js | 2 + .../rnode-flasher/js/nrf52_dfu_flasher.js | 446 ++ .../frontend/public/rnode-flasher/js/rnode.js | 1017 ++++ .../tailwind-v3.4.3-forms-v0.5.7.js | 62 + .../public/rnode-flasher/js/zip.min.js | 1 + .../rnode-flasher/reticulum_logo_512.png | Bin 0 -> 86758 bytes .../src/frontend/public/service-worker.js | 2 + 36 files changed, 17924 insertions(+) create mode 100644 meshchatx/src/frontend/public/assets/images/logo-chat-bubble.png create mode 100644 meshchatx/src/frontend/public/assets/images/logo.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/interface_connected.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/interface_disconnected.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/server.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/server_1hop.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/user.png create mode 100644 meshchatx/src/frontend/public/assets/images/network-visualiser/user_1hop.png create mode 100644 meshchatx/src/frontend/public/assets/images/reticulum_logo_512.png create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2dec.js create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2dec.wasm create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2enc.js create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2enc.wasm create mode 100644 meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-lib.js create mode 100644 meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-microphone-recorder.js create mode 100644 meshchatx/src/frontend/public/assets/js/codec2-emscripten/index.html create mode 100644 meshchatx/src/frontend/public/assets/js/codec2-emscripten/processor.js create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.js create mode 100755 meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.wasm create mode 100644 meshchatx/src/frontend/public/assets/js/codec2-emscripten/wav-encoder.js create mode 100644 meshchatx/src/frontend/public/assets/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js create mode 100644 meshchatx/src/frontend/public/assets/proto/audio_call.proto create mode 100644 meshchatx/src/frontend/public/favicons/favicon-512x512.png create mode 100644 meshchatx/src/frontend/public/manifest.json create mode 100644 meshchatx/src/frontend/public/rnode-flasher/LICENSE create mode 100644 meshchatx/src/frontend/public/rnode-flasher/README.md create mode 100644 meshchatx/src/frontend/public/rnode-flasher/index.html create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/core.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/md5.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/esptool-js@0.4.5/bundle.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/nrf52_dfu_flasher.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/rnode.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/js/zip.min.js create mode 100644 meshchatx/src/frontend/public/rnode-flasher/reticulum_logo_512.png create mode 100644 meshchatx/src/frontend/public/service-worker.js diff --git a/meshchatx/src/frontend/public/assets/images/logo-chat-bubble.png b/meshchatx/src/frontend/public/assets/images/logo-chat-bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..aea1c67e2096792226e1262be4a3c1c190f0375c GIT binary patch literal 111913 zcmeFYby$?$w=hfzNH>BsNJ@8i2n^lbFm!iH4Im&Y(kY!H-AZ>2h_rNf49$D{{Q5iR zeDC%Cf98T~=AOOxT5GS~Yp;n>Q<29+BSnLQgTs8IAfo{Xhq&|S9~Bw+2J~fm0}k$) z1z1bZQxBvpWa;9>W^UzTVa?|2>=bUO7j<7A>i|$ zui0s+{+i&6`}<_j%j)bw`v=6|V8~c|Sh|BbwHV4MG8`k#^iGTqhA#nZ*Z&c*egMEwVfe-8hbg#f$%`z5~SuK(R+ z5a|DZx|7p?Y{SD-)*E2l--YlWH2njChnAnKHM@qjhl`iHrM0X#z&+Z(825)SLTX@N zYezj9Fu+s~KpLVnoE#h+|DR#~|8ZE_#nHuG6Hr8JVBue@{%}v|jgz^pwJzAo)9&Bk z{cA+o+S&HM4*j9f(d&;&Xgh;}J#qaDp5DL4L}>*1*#8Zc{(n34Pk9LaMIp$=3LudC zFM$6VdLu2Z=I&wxb_B*eG~}hI-pESxaSHPBv2wBf4Fe!NAz&@o#!trF6PU%t!NtSM z!NbbUp~Wd6#33le#lynMCG>ZO{WTk~AuDrF^Z(oYKbAlxVr41h3HEff{_E*)mLcir z`M0OPJvxH_n1hg`xwEY(jW4T}wT-!#qbH4+yR|3S(#z4yiPgv2!qU#%Q-uAG9XW#k z4(hL`f4~x9{|`hW0HGj|kOJ7l)5YEI-*9VMyZtBbzs!+}>Mtb|GPnFA8&MipcNZ%! zOKYpYxC!jyZ=)VAHl9A_?$(mFfPRV6NZQzd0V(=X0hSK7b+&e=0_>H8jrTtn`Pf+l z0RLyMvj6*T{z07x`+uSTZ=3%&rvj||+joGo0=ypkKiwYi@K48S?F@KJcfc)T@wc|X z!NG@t0fqQ4iU0@4nB<`lYy-> z1G*g__SbC9ht`fwU)OTQi+1*`1jzF9fNIAbaP8(eWldv+fM3S z?P#mh+gKJ03oOgKw!0A1jnuA}r`HMDGBV3fQU(op@Zgl9zY1&jp9<+r8R+PlBrs$! zG0xnjvV&DOwzlc6AgvQII6a9OBt@tkLmcZ|iCmCGYW+#7mAee_;g$_%u5yA&JzCjx z5yX6=0)HtBjf;qP7_zlbA$MgA@`1^FhrxEiobMV5NVsp$Y{3in!?Cg8upPCYSH;Yd+~#E*FK2=QQkR`K?;j#`H{yh>Llo< z?By@1vA3m7{>m?i<72F#cNiE;ZgC(C# zI_oU)lX1x5q`}=zrHA;KwYDcGy-(BwM`sixwiq3EwFXcRn zsq#w5{O{|3Iq<(6_+EQhCmeG5qkb@X+GNbAtYQ@ zAEgI@rs*q}(nIXzK8-Jy$Os zPh9doeL66knUJF?Q@dA_t!vX-a|mYAN*}Iy!JqHz)j=Punap~Y%mW)StdseY+& zk((+<(E%H`8A9m|`JAE{IGU0VnwcsT3JTbK4A5T+t`C${XHK4HYt*v$W%Ox1bLyO$ z*JVvU(Wt9k49W0J{z*aOKIwjkBdJx%yjs8K{W8-iq%^xaaG|vBw*mOjZQm`qY#wG? z8X2L81&MTQoSL`v>d?$wOjvNL`ZTLnSQifAD!IZ&ml>9Q)uyxLC|&3^!>0YJbsD}i zQ_`;#lbungzMj8uUTmUu(xmvOK9ecNCl<4m7I)J((umBPURq3tRQVWXm*EKN^^7ow zk@!Ph4?RP+AIrOk3;L?B>VCXQo=ULSWD5Hpbu|(5bxW5RVo8 zK38(1%Dtm+h-6HOP+3Xa+`IM6XlTg0w0s9+2T5xT<<>oVUqfenY56mB-={TNqFLJg z6>P8M^WPU+ftpo`bgI0PTjJ^$7Fe|PJX?o@ncn&pvL0Wompir2R2hUvEG&IdntW(k zbaF56m#Fu-X{_x~v{&MFOe`ro2}e%iow?RDi>&CcbZTj5caD%M&f#w?+ZlH9E2cDc zTB!8K*imxuV;L4S*7vqIWqv>pch}k=nTTOV6}Ovk*T%G^tKPu(*EY!Y`PQxy>0CUo zRb?O4{F%kuuW?qBb%C|s9&@?3s@N#6)=1ll;pe)i^?c=Tw(ro~AE<9L{LxBgT9ff*Va1GqL~TyDKn((?yD5;Q6p`?QXxR!$QsiiyNn@Il zApN5!Q-LpZ|Rl=%14%0BEmHoh%J{l&WE*{iQ`uSjo|@I;X$Q8 z<+XG$cC;!Lmm;TkIY)Fp``A-v-GBH|$zd>JndPk1T(sb4)Eq!)WjHpquC-KtyPtuO zespPP5~9XfCO>mYn#b6ZZ!d|usvSWZfzzV)i7Mg*6%`w)O$wErstu=$1r9sn1nvZ` zix%mkc|iz{9ASPj2m~hthdBsW2~XoEEC{M^>fFFW9Aqa_mY}El*!T)ZRVBp@?zDOL zwE2#c2^Yl*Ljpsi&+1GFZJ^{67aG$SJc!g#>L(kSbQ@HSJ`fc34fI{Q9L;MGtxZop zGz#EC7j*U7k&!epqB0n)Rt1;il4h|bNG>(ZyHt6Z{Eby-cHNV3A)cDDP_OZ2A_Frz zvS*o2A;yk#JUpBBd!KT9)F+I)zm z>hZqiHr|vap zu4bXfw>$5e;pCQ=E=-7lOca*9%AfsP3?1$9=<}x(sPtD870igV zeButx{4kaIsVMV(5hpy8bP+hJ06d}qP36NoeV+yy@1b4YwX@c zbpBrXNim4&?X3ppi3;Wtqm^JIh3WV8a(Kq1q^(h`{jdX5+=O9{6OS(1un4JSFPaAi4 z8&5O(?v_fOi#W_$=ZJNHxrJo|#Pj>q(7?vGoiDpFD=Z|6V|zkXlDjIYOorGN=eAM; zDm;t)W^kO(S+`{h=aV+yf(|83K|$?Xm;57<2grFPm$7Ah&t<_xQs5{YOew~AoDxJC zH9D4A6S`J^d|d4hzU~;}QlS`<7K(}e|87HQtQF>nin2!FPuOk;lRu)7# zQ8lVRS{l61tZUZz&9S*d#C1O|)bad4ME-_Cckj2eZH5kKlcxS3=`&hO_>^&FyEJR) zM4)GxRE3%x@H8U8?(Zcm9VT=a^r|UKtY*<=op8$LOBfZ0!``!!Qpt!?+4n5|vZrJD zB_o3*15fgCaOeS}AoG)kio}o`(46-su}|+>CefHVoY#Y1flVPY2#! zZlH&%M4AXMowKm!F6dWl=5;RK8SHSWh$Rf*0v^V`u)n&8Mf_pw| z+))4muRq8`zV-;6ubjfAwrm$9rJg~kZOBAW2tu7ig7jJa&aSo!;0EG3M6n;vNX zFH-P#&zDGP)Rhe@EX;~O08-Ro*$Npebv5zy;_W}{jTpC>*NE*WBu$T-OPDc1iQBr{ z&v*!n`b@t>YzNrL$9((v*fK9P*+ZPzDdq^fD4h7v5`3v?1XL@1aa>$hR&%CJ9x8^9 z+Wvy{AP>ECxz02Nj8q$o5lDaEdeVu4uZ7j??wE@ToxLoq$F!nk;auW#fyRz^3OObU zYPJ%^WqqM4&MX%pBZHi)-iXb~H&r@sm0UwsdH7*2lNae*38bdRmbHLNm8Tc`iMf_5 z7UL+!;pF2=@t{F&t$f@Qp!75}@;%g>1tK^*{e?X81?E>7a``JfcQBjj#Vm(uN9fVBhE)>I#dkq@=Z9>nR?iWInnz1RO-53|!h~mz3oJZ6pU*n7 z8s@4Z985ZOW*feZ;+Hr#s}HKp670W0e|y7KOB_-HN&4P-#{XL{RaDEa~|&Be!$ zM(M@GAXw+A811mZMER00$iK$Cabls@5jt44rX$^2=oi-a(=0cy-Wc}GKzj*VWapof zU&0cZ?}?UIM<33=rIINpBU7jRMvy6N`uS;8A^0kzXwrdx?Lkh2??qxnbT@u?IM}wu zM`)l})gxcS#i!X~{`bXuM3((JA<>t}-tI_PGwtQO&+I0wP`{rM)Fe5B^r{Ja3G(jDUK+}Jhl*LE)=8!eVJ9JyLuV( zOO1wv8b~L-4=^(afHWDv4lBT1l-T0M{5cz<$q?5;q9f=TM3%X1Lp+i#rB4YgIEVLbGXIiMghZDCk zbsm5(wkuRchw!%3g7>{J$wVCHW+c+NKUEhZf;}4SWJMm4Q(7G#hIZ&f!U}etzk1L-C;|cDi0H$!8WUYv|SJm=}Hv zhnPS8>=$&ZPOihr%lcal)GudZ^D78qr|PK!`QO_4tws};S>3;r8CLox9K_X=@ok(Z z-UO;}z-cj={p&#a=|auLl!u29#A>`zpViOS#@6u7#4%EIq0R^zXPod^u;WHeOvT5X z-QUsc^JZohB<^*i$1)7b{<1H5AM5$}#`cXMb>Tts)In0zA6$OsHU&>NF^{5O&{N*l!#VSAEL7GJ}3tHEvr3m5^5xc+GS$1k4py)b(=EdD@ zIYpTPHrA;!Uljvf&07?8_gV`R<=M-~VVer)VpdaS31X*cXQSitQgM?>(SDX#|4g+{ zU$~AbSZRk3<7@8wLzv9d=?lOT>B!1Zg{YNg2Pg;8h%kq-;&WLz1iYcZuOD$V=(*R7 z-Xp&^N(7I9K61owcq?~@nv-&1dOS8HDM+Xjl%ykrW^%!#JfeP;`$9aR=>GLE;I9mP zvI9JY;~>Q5OE97l$cE*kmc*tTrId|NW{BCB7$n zjDzFrk^z?_crz}u3&9GO_?>5e+*R=U{lwB16{OF z?~Ah$xiYe{IlIXtXLnH@m2!g@H5Fjz%O%!Sw^d_M@};6{WZp`1CiciWZur2*s;Nc{ zTH0T5NEco%*vsZe)fRq(>Zb7dA+OM~wEah6na3*u=kaIywD929SYum8W}l<{em8)} zA~&t%whrS|Mv`H9FMdlK-UcT*OzHJoO_rcd~V%Lc9NWcfg;AtcW z91LVNL&G>T4%E&S?9OqN#C}9$ahz1*Wj62Zs{KJTxmUI?2A|@!QWJYE^j(OBT=?*Q zI10SmO(Thrq8=HEz(I@Vc$qEh>rGU<%0V-UN>f`4k+p=#(L(yy)wBp(s-$N;cUrLW zMuIr=?az}#P_2*fgU^QHp4SLml%s^ezt7AzO3W`~oRqJL>`y54bllkf^-4vtS(7xT z_?_>;T-xL#O25B1Mv=|xZ@6p+1L{T(A)-5MZHJxteGAo}Mm zL2HpOinOD>el~b!1L^sBWPWyLUY3?<*~942r7LS;1P|W%4 z;-HdwW`WaJj-zMyD}Ppv*7dw$!i|^X6c&zi6>z)}BEz!u_a}vNbEl@INiq`jDcd0@ z&7n#GJgTit%>uCzr)A0VkVaMorIy& z)G!#=~1e9s@ z_4)8)>O!+Z5y%M2;$_@#^mt-@U&qSOa1s{)+z2nJER{7jCbxHRn4C~c?CX=`;p5BC z>j)0^cXD#-TL5@cL5H6l3Qh;M`zGpk7px2dS+|LbafY3qx+yCwn*|20edmH|qDFsc zho?!J+i=B5ByQU`F0ATJ)v1%v?m`u?uhWsWp?M`j1Rx)wo#KwnioSKR@8d&+ zO6h$ci>v6&%VwGB` zSNl%ra@*}m6_B+0l(fJC^B7$QIvlhRW=`nWe0hZh8~oUe7&IjBBzANPA`qS{Af}?v z)+iv=*dd+zVg!f4d0l#ylq(_cMnxe{&(7x6)ZmVSK<7UMb-!XEAymlWvs!8l-Jk_G z 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
qN6Go1fU_|v2NAT?jS$5Rbcc~}5We(70$ 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
  • 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 literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/images/network-visualiser/server.png b/meshchatx/src/frontend/public/assets/images/network-visualiser/server.png new file mode 100644 index 0000000000000000000000000000000000000000..48d0f859e3fc1a91000c460a4631c0f1757dea7a GIT binary patch literal 8437 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 literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/images/network-visualiser/server_1hop.png b/meshchatx/src/frontend/public/assets/images/network-visualiser/server_1hop.png new file mode 100644 index 0000000000000000000000000000000000000000..79990cab01e4ba82716940861942c3c9ab23f41b GIT binary patch literal 8338 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 literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/images/network-visualiser/user.png b/meshchatx/src/frontend/public/assets/images/network-visualiser/user.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3b224030ced7ff8ab73d5cb67b777dab699160 GIT binary patch literal 8174 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 X->3NOQUBxr2HaM;tNcpQI^@3qply8l literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/images/reticulum_logo_512.png b/meshchatx/src/frontend/public/assets/images/reticulum_logo_512.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3940a753a5925e1fa80b15401709321fab5b25 GIT binary patch literal 86758 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 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(createC2Dec) { + createC2Dec = createC2Dec || {}; + + + +"use strict"; + +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof createC2Dec != 'undefined' ? createC2Dec : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +// Attempt to auto-detect the environment +var ENVIRONMENT_IS_WEB = typeof window == 'object'; +var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; +// N.b. Electron.js environment is simultaneously a NODE-environment, but +// also a web environment. +var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; +var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + err('exiting due to exception: ' + toLog); +} + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + filename = nodePath['normalize'](filename); + return fs.readFileSync(filename, binary ? undefined : 'utf8'); +}; + +readBinary = (filename) => { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + return ret; +}; + +readAsync = (filename, onload, onerror) => { + filename = nodePath['normalize'](filename); + fs.readFile(filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer); + }); +}; + +// end include: node_shell_read.js + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + arguments_ = process['argv'].slice(2); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + // Without this older versions of node (< v15) will log unhandled rejections + // but return 0, which is not normally the desired behaviour. This is + // not be needed with node v15 and about because it is now the default + // behaviour: + // See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js + + + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments']; + +if (Module['thisProgram']) thisProgram = Module['thisProgram']; + +if (Module['quit']) quit_ = Module['quit']; + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// include: runtime_debug.js + + +// end include: runtime_debug.js + + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; +var noExitRuntime = Module['noExitRuntime'] || true; + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + // This build was created without ASSERTIONS defined. `assert()` should not + // ever be called in this configuration but in case there are callers in + // the wild leave this simple abort() implemenation here for now. + abort(text); + } +} + +// include: runtime_strings.js + + +// runtime_strings.js: String related runtime functions that are part of both +// MINIMAL_RUNTIME and regular runtime. + +var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + +/** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; +} + +/** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first \0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +/** + * Copies the given Javascript String object 'str' to the given byte array at + * address 'outIdx', encoded in UTF8 form and null-terminated. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. Use the function + * lengthBytesUTF8 to compute the exact number of bytes (excluding null + * terminator) that this function will write. + * + * @param {string} str - The Javascript string to copy. + * @param {ArrayBufferView|Array} heap - The array to copy to. Each + * index in this array is assumed + * to be one 8-byte element. + * @param {number} outIdx - The starting offset in the array to begin the copying. + * @param {number} maxBytesToWrite - The maximum number of bytes this function + * can write to the array. This count should + * include the null terminator, i.e. if + * maxBytesToWrite=1, only the null terminator + * will be written and nothing else. + * maxBytesToWrite=0 does not write any bytes + * to the output, not even the null + * terminator. + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; +} + +/** + * Copies the given Javascript String object 'str' to the emscripten HEAP at + * address 'outPtr', null-terminated and encoded in UTF8 form. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. + * Use the function lengthBytesUTF8 to compute the exact number of bytes + * (excluding null terminator) that this function will write. + * + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} + +/** + * Returns the number of bytes the given Javascript string takes if encoded as a + * UTF8 byte array, EXCLUDING the null terminator byte. + * + * @param {string} str - JavaScript string to operator on + * @return {number} Length, in bytes, of the UTF8 encoded string. + */ +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; +} + +// end include: runtime_strings.js +// Memory management + +var HEAP, +/** @type {!ArrayBuffer} */ + buffer, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STACK_SIZE = 5242880; + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js + + +// end include: runtime_stack_check.js +// include: runtime_assertions.js + + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + + callRuntimeCallbacks(__ATMAIN__); +} + +function postRun() { + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js + + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled + +function getUniqueRunDependency(id) { + return id; +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + what += '. Build with -sASSERTIONS for more info.'; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// include: URIUtils.js + + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +var wasmBinaryFile; + wasmBinaryFile = 'c2dec.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If we don't have the binary yet, try to to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + && !isFileURI(wasmBinaryFile) + ) { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(function () { + return getBinary(wasmBinaryFile); + }); + } + else { + if (readAsync) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) + }); + } + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmMemory = Module['asm']['memory']; + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + abort(reason); + }); + } + + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // Avoid instantiateStreaming() on Node.js environment for now, as while + // Node.js v18.1.0 implements it, it does not have a full fetch() + // implementation yet. + // + // Reference: + // https://github.com/emscripten-core/emscripten/pull/16917 + !ENVIRONMENT_IS_NODE && + typeof fetch == 'function') { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, info); + + return result.then( + receiveInstantiationResult, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel + // to any other async startup actions they are performing. + // Also pthreads and wasm workers initialize the wasm instance through this path. + if (Module['instantiateWasm']) { + try { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort('invalid type for getValue: ' + type); + } + return null; + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>0)] = value; break; + case 'i8': HEAP8[((ptr)>>0)] = value; break; + case 'i16': HEAP16[((ptr)>>1)] = value; break; + case 'i32': HEAP32[((ptr)>>2)] = value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort('invalid type for setValue: ' + type); + } + } + + function ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => abort("randomDevice"); + } + + var PATH_FS = {resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; + } + var TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort(); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now() + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; + + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof lazyArray.chunks[chunkNum] == 'undefined') { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },varargs:undefined,get:function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }}; + function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + + return true; + } + } + return false; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = false; + +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "exit": _exit, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["__main_argc_argv"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); +}; + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function callMain(args) { + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return createC2Dec.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = createC2Dec; +else if (typeof define === 'function' && define['amd']) + define([], function() { return createC2Dec; }); +else if (typeof exports === 'object') + exports["createC2Dec"] = createC2Dec; diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2dec.wasm b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2dec.wasm new file mode 100755 index 0000000000000000000000000000000000000000..7eba45875dc079d753c08ee1da9e8d870f54c021 GIT binary patch literal 901145 zcmeFa3!G)uUGKRc=l!VKRbBn8ZrEpora_3P2(6NIZD^h$iQ{!=Ys%~OtM(<~AKGfNJz5oC9U;o$oueF2gZoM%Kf*|~S<+ay_`@((K#{2f|3+yj1 z(LN=GB!qjzz1LRA(Zg6eDLsjWy)a;js>b|$}&z0P(*50-+eA~6*ZQ*UctXkb` zO_LM^*G7BQzOPSuyl=01uFww6X&Bb~UTe(WA}c_Xdo}L8t`Ay$8`YxQ_R(x@-)$O? z-szskG$wxIy}lV5bD-?Kw(dr*h71_8^lJqv?vwW#Xi8Tz8sgq-8@^_dr8Kp+cdszg zDRT82Tsu~NRYGf!Fp{gjnwCpT45zDS+SFg=6}Z|9b~L_dpRgOEna+ z8*aXS&(0uP^W)dudc*cxZ@TW5TYvQCJ=<^Dz2nU{?D+BTXuRh(&a-VW~A~g+%TxLU*4{+Z+(0ByjJ@=YTwytcfYH3epqYOw8&Re>$@*lvtiAK3&XHhTVI)8 zx29EVMfGO2IyF(9m<%>2$8HG%LZYlh;(L;Vt2Y4OI{_AI;B4wXtYln9qOkx1u(`LA!o;*sMWlH}C$5D1efn zkQ=ufiCw?v=H0gjZHVs1>u$Jd`*pkDbiMw(Ip~nIWB2ZxZr;B0=IgK9bHmLy1@8&h zZ{L2yO>eki_m1nK<{!K1dL?h)bKQ^Z+z|%NTlZXd{oKE~?#(-b$D@wD{J@S|X?{oW zJ5kHt^PRL6{BG2F!%y6Fi3oi5hS?i}C!*%d!XOXZ>tD9{EKTOizx}-L_|ES-|GO`^ z@WJro;gRr@;ZH~VqmM4=;>9>E9pl@AvulyZ!s3e?Opi+Phuv;RVr) zq5FN_|30f<`gz*FKjq(_@b8cL_ecEir}?%1{rdy{{XYMGw|`%>_xy|P*$bk_={t?{ z7dkv2ch8^E^MmgBPbYak?4F-(@qExdA8+tHujeR#G2;0J+N7P&sm|BS4YT^C-Kgz~cSedo>WX(<@u#eK=hALWas6jKG zqWpzmHm~PlT2Fp8%)`sOwfwkiEcTi6jXX}C3cI1udQR}x3!?9LPq$qV{h)i=n^i7| zeu!rOCZ*Ej!EEwSxS^MK(#wa&w)^f>?PwI0&2S8*wi6e&@Wa&Vn56Bj8* zis1RZchmKGxFPGZSWdd##mZaLYsteF5B1}k7nW-*V%#C zrZ-5#{C#Uknh!Pb1MzI~TOn|Svtux4NXX}Gjt<0mWzQ_6T3IQxBJZ>`Ju;?kUPm-BRYsE%Rue{ao-gp+QRyN-IGCwUL_5hMqr3!*b2 zBxWH^yZOQy3^z3ra=2%%KG$|lrqSl;#fWv_TS>-Tm&Y5v%dj`?QvP((*Qgam-v@cm zfvEZCyYvcfg@)u}SNt=bq5~DrVzMrX&SNxi;Z!(1&jyq#!xp50v+mMvGp&*PLNuFP z(%a)wOzf_)A4le9Awl>(@yS~%;miv46y+M#psFMlsk&a((tCQDQ zLv5$4(sZ`BN<&O&%cwiA&_rSk>#}Z`|A#YkNH*=-+O*|LF>z&w9^uWFY$FfSR`Q{+ zH^W_+x> zSsGz9vl-K(iEJ}zW66w$YcnGZ_4^If-_>0hM=xdwu>2l6P;V;TXk$=w*Kx-tgJoY_t!opZgL2@#i{E9f>IP?%C zH8${xBk8ImcQW#Tk>AV6-LPxP_ok~86sLy%jOkBXf9lBt46u1)?GNt!V z%;sN~Tz?XN9wM&9-;b>>vhLTkm$N=LRb>6qXx3+2Mb?)`vmRbwWbK!>GW~izWe)B71=hsl^nUro=c7teS;!!KqQnO38oF^2umzrR1lJWE8tn@~?M&X>`a^ z@}D*=`5#v2Uz9BPrKZcAPUBg~?}DfzI4_8_u-|byg5E&|SBO||HCtS6o;QWzJ{oxZ ztKHc=6vqqm6FjFua!0hG{r7Q!L+k)>c;Z1MeRyUd>8?7gaCq2>pO%OgvBNd2I(iGw zj~_O%|N9Isl-6>4v;i`swBCKD7r-`F3D9;Lz~785plPDMZDGI_R>*m(gHHI4(|ADY z{Zu4%0A43mE*h{)QJXQz29;9ZQU2m4o)F&Da_#txWPCRN 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 z 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�uGX8~(e<9;v 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

    {hnppPLfqI?2r=KPhBRp49o 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 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(createC2Enc) { + createC2Enc = createC2Enc || {}; + + + +"use strict"; + +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof createC2Enc != 'undefined' ? createC2Enc : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +// Attempt to auto-detect the environment +var ENVIRONMENT_IS_WEB = typeof window == 'object'; +var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; +// N.b. Electron.js environment is simultaneously a NODE-environment, but +// also a web environment. +var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; +var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + err('exiting due to exception: ' + toLog); +} + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + filename = nodePath['normalize'](filename); + return fs.readFileSync(filename, binary ? undefined : 'utf8'); +}; + +readBinary = (filename) => { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + return ret; +}; + +readAsync = (filename, onload, onerror) => { + filename = nodePath['normalize'](filename); + fs.readFile(filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer); + }); +}; + +// end include: node_shell_read.js + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + arguments_ = process['argv'].slice(2); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + // Without this older versions of node (< v15) will log unhandled rejections + // but return 0, which is not normally the desired behaviour. This is + // not be needed with node v15 and about because it is now the default + // behaviour: + // See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js + + + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments']; + +if (Module['thisProgram']) thisProgram = Module['thisProgram']; + +if (Module['quit']) quit_ = Module['quit']; + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// include: runtime_debug.js + + +// end include: runtime_debug.js + + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; +var noExitRuntime = Module['noExitRuntime'] || true; + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + // This build was created without ASSERTIONS defined. `assert()` should not + // ever be called in this configuration but in case there are callers in + // the wild leave this simple abort() implemenation here for now. + abort(text); + } +} + +// include: runtime_strings.js + + +// runtime_strings.js: String related runtime functions that are part of both +// MINIMAL_RUNTIME and regular runtime. + +var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + +/** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; +} + +/** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first \0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +/** + * Copies the given Javascript String object 'str' to the given byte array at + * address 'outIdx', encoded in UTF8 form and null-terminated. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. Use the function + * lengthBytesUTF8 to compute the exact number of bytes (excluding null + * terminator) that this function will write. + * + * @param {string} str - The Javascript string to copy. + * @param {ArrayBufferView|Array} heap - The array to copy to. Each + * index in this array is assumed + * to be one 8-byte element. + * @param {number} outIdx - The starting offset in the array to begin the copying. + * @param {number} maxBytesToWrite - The maximum number of bytes this function + * can write to the array. This count should + * include the null terminator, i.e. if + * maxBytesToWrite=1, only the null terminator + * will be written and nothing else. + * maxBytesToWrite=0 does not write any bytes + * to the output, not even the null + * terminator. + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; +} + +/** + * Copies the given Javascript String object 'str' to the emscripten HEAP at + * address 'outPtr', null-terminated and encoded in UTF8 form. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. + * Use the function lengthBytesUTF8 to compute the exact number of bytes + * (excluding null terminator) that this function will write. + * + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} + +/** + * Returns the number of bytes the given Javascript string takes if encoded as a + * UTF8 byte array, EXCLUDING the null terminator byte. + * + * @param {string} str - JavaScript string to operator on + * @return {number} Length, in bytes, of the UTF8 encoded string. + */ +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; +} + +// end include: runtime_strings.js +// Memory management + +var HEAP, +/** @type {!ArrayBuffer} */ + buffer, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STACK_SIZE = 5242880; + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js + + +// end include: runtime_stack_check.js +// include: runtime_assertions.js + + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + + callRuntimeCallbacks(__ATMAIN__); +} + +function postRun() { + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js + + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled + +function getUniqueRunDependency(id) { + return id; +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + what += '. Build with -sASSERTIONS for more info.'; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// include: URIUtils.js + + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +var wasmBinaryFile; + wasmBinaryFile = 'c2enc.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If we don't have the binary yet, try to to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + && !isFileURI(wasmBinaryFile) + ) { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(function () { + return getBinary(wasmBinaryFile); + }); + } + else { + if (readAsync) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) + }); + } + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmMemory = Module['asm']['memory']; + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + abort(reason); + }); + } + + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // Avoid instantiateStreaming() on Node.js environment for now, as while + // Node.js v18.1.0 implements it, it does not have a full fetch() + // implementation yet. + // + // Reference: + // https://github.com/emscripten-core/emscripten/pull/16917 + !ENVIRONMENT_IS_NODE && + typeof fetch == 'function') { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, info); + + return result.then( + receiveInstantiationResult, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel + // to any other async startup actions they are performing. + // Also pthreads and wasm workers initialize the wasm instance through this path. + if (Module['instantiateWasm']) { + try { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort('invalid type for getValue: ' + type); + } + return null; + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>0)] = value; break; + case 'i8': HEAP8[((ptr)>>0)] = value; break; + case 'i16': HEAP16[((ptr)>>1)] = value; break; + case 'i32': HEAP32[((ptr)>>2)] = value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort('invalid type for setValue: ' + type); + } + } + + function ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => abort("randomDevice"); + } + + var PATH_FS = {resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; + } + var TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort(); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now() + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; + + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof lazyArray.chunks[chunkNum] == 'undefined') { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },varargs:undefined,get:function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }}; + function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + + return true; + } + } + return false; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = false; + +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "exit": _exit, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["__main_argc_argv"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); +}; + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function callMain(args) { + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return createC2Enc.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = createC2Enc; +else if (typeof define === 'function' && define['amd']) + define([], function() { return createC2Enc; }); +else if (typeof exports === 'object') + exports["createC2Enc"] = createC2Enc; diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2enc.wasm b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/c2enc.wasm new file mode 100755 index 0000000000000000000000000000000000000000..ec93b0141d0c8821c46ddd33ac533c62f632941c GIT binary patch literal 791487 zcmeFa3!G(FUGKRc=l!VKRbBn8PS|HBY7-I+8j}VCT|3=LIw63g&RiWyIx#eus?MW3 zEe}oTLZUZHj7@a~0yjdFWUdhbL%;-YqiHZ=)TjY6%8a?*s31XuH(U{Lj56Qff31Da zKBrDqCzqMg`x(%ac5^wVdGcs?sPHkY2NAUcwu~8>r*Whr&1e0{*KT$-9x~fZs#Z z7~QCP<3l%E8;AIcx^JYEx?%a2aRZOxoB1xfL1k)(Zcs~lrwQvbpSa#p+l{KA?)sui ztcxV+*XpK#Pri}Px@@b4Zrpfz!+%+1DNVKAc%$I#6uJ5hE}tmBDxoz<7|B&z9z!(N zv~tu*$GUo^cKt1v0zVE5ht%KbkgyuvpuZs40S}sQFr36Uy!p+R!MKp%x~v)n*qiN# zkKQaS*|1djAuqZ+YR7x8d3|N?8?QPT#Cq)R*>lD9*Y7=WaL;S6xN2WeSK9i$S6_eS zfvc`Nxc8bpSMR<0%In^==SQ!4T@WfS*|X>RH(h__75nz>x%Rrf*IaQhs401Bko?*! zuQ|By?6ZPM>63%>tFFEB;JzT*@P;d{ziQ9**IaSk^*?s)!9CX<*!%jc_P*gojn}?r z&l?V0b#QM`Tct#u5(oBP@tRc&sERB1U3>lBAW+jAN>Ciwd;L{Ev3Jjp?Y-i-X+m2qxlpMz=*%m6Pkuu>QP8yA|ud2LI9^?lpqY|2J7Ygjvj_YJ}l*Bd*orMy(yz z!f^7Gb*FyYw|_?%#O-bE>W1d?Cr@j(Ur;~2(Vje``NFW?tZOcQXBbw_e9_FtnT_8S zhV}Y}c++>!H0#Z%)~Z(5CDkO@ym?|%HHxCMs?*a|5~_?_5OjiW6a_)0!ru!20dgg% zMKzM*xKr)6rh?A*bk?u$oPExgEuHNze#!S%*9Ad!{kg3cS=Cu;tOi|uY5xU5RN;TK z6E6*e`pZr_skwCrP1b7EPDb3~e{nE3kyonWb>WsR)p{5%MvIG4Z6Z1p=JziDVbta~ zXxHxun>9%0+5>Nj0%(Gh}i!A!^xszK^+3?*L(+kfBOC|>!j z{xMO*8&3)HM}vi|a%vFG>0cV;@x>KAgxjJ@7UeTfLa}j#};AfXA<@KsRc; z-Zipn9?-+bH~aqOPdy!Mi-O*yx>e0TIhA}k%qGw8#{Pqjz~Q682T!{X>JE+v?SuOH z-HL$k^sJ#Me_`^EVHTZlJ$QJ7dJv?QG=53&inNjkF9}}BPx!sT%lTPsWYKp9!S{x{ zDG{9!L@x<0Ci&rDKCkCtT2GFLTiR)yoSHR~m-Jd`BYAPJ2_oBRD-RDQw?(}qZRYj) zym585QLj_HMwYQIZ7N{~*n_-!k&Q-P=~ZJ!3Sgsy^H~kx4a7MAVp}-rttTg(?^V-w z9;EAMX{Sp!qBPFm(^Y}lUN@caDZkTlDHE3eGxo-yr;U_)EBez&UaFq}#4s4YJw*ks zfbRfV$x@hy3$F0X`h};}1eEj%-^6s<@r^$2Q#xsoRxj)Z?KbVTlXLmoN#@cdkJ45; znfzv$wl1JA^!7j=TnHS^Jh%k#>bV=j3ws?9(MYG#B>7%Y)TZ!yI+xdbG~A2%zc959 z$idXE!2WxBM_Ns%=FbSAt=H$_{;c*uwjtec^nLelkAgH#XXew|OM)P;(|LfRqD!*c zY%k)gnvfcU+bm9-uHRjnT$fkUW--hY=Xb+&20(p^h-`}2jYWZuuvbs+5lsw1YIv9? zvytrRZ4xmyXtk1VI+ksCaopf(!+T#GC!(>lqac6MsMzMh@6OJrmEnfy|?g=Y1)!sMSnHOPZW2qgc?)O_++q(=D{7#8>R)(!TQhe;5$U4wJw z2EU>P^SOoOzHo~#RCG6a8&5&hs^O_xZuKh**>?m)qS_>j)!{_mwUq( z%ru~`7EnHmFB)mEYuCp72mi6R8FGE#E@sEpa#F>THi?9?AbJL zNf@+$r!g@kl2Ek$KRw-m5L%prf1Szz!FaPq9$lT)^_*rCdTuXdojgD;X%eROw7np% z_->IoFY{S7?I^Pi6YVv{(H0))O)=+#w9~6F@1ZHp`!sl<56PYB)Lr){?+lL>n0WBc z;%Udx`?Ho<0DOJESAheymea|l-Xs7q;{!M2(@BlWuH{|}VUsp?t8Y4i0p%BWq^-B#CeEM7`+Hrw2qUALjlA+IDrn?4?C&L{G_2DBoz5x(ua#C$i-Ki! zO0ZN8j7e;aOYD#+2r9+rL0*}64bEqcH1WI(>DF&?#Rnh(m<4(>?b-*{=UTp)&cikq zQ;h^rGE}>fjqNgM6%EQl9t*m589MtKP-2EfybYnp2+>QySY(C=5ZA6mb$p5FgeBrt zOMpiWFSswGqA~|2iVlqJohOSSj0}MPW}GhqH98g0eKWpfHfzjhbINwCtw~!e^2({qngbLp zvfjdHHtzk;+~lnB`QS5}VXD!F2u@v?TR0U)5;yy-qhKM2jA_tw@rz!|XfrD45^>Uk zgY;_9Cl8{}8loNz0!&@qtLtqclkBeLZ{FXZcN%vwib=D(5e zn1TYsW)ILb(}tUF(oP}}INVBLtBu)fhF3ve3&aWj#D7oW_AXJf<9vYitZmVHzdpx9@LG z<8Cn%L~fVTGY$nyv9vzBPD6T~)sJPByRw#N)HBCn)Sa~dI>&3Wr&o;*?fSm+zaM$k zoJ%P_Gb|8iN&*ows2XEp=%>V~_V=daxk00yV|U%(Gd>>}1tH?#RU=XuN7 zL@#C-_!Rw=K@irFuM=s!l&$N_mK{g4%5X0#rCuQK7^18p2%BkhIpwKhPfJKMrUezo z{~dM3Y3%FL)6!DfT6+PWnSD?fr$ZUm<_g3qxfBmPWs2_=}8c&gab63w*JNknrk z?Ov8uXEn{x-FfJy9g~7fj9apYnOz<$Kf1$+YLyVxYY&E|a+d^eG4@YCI7A9hON1wT zMu(QBgP_;_w-Fv_I&0G9w=lvl>yL0+Kh~?XQ>RbsOW1}7A;Tp`)|$Sfvy~vb>#?ZjP6@Lw(E1B_~NT~KT)51?Lvm}gx=wj3x;u} z@l&ML!|TyYOppEjh=;#vnj+i&JMa% z0_hJPO#>#)v8-bn=jCVa`N27Rf;gXmQ*?(XK({mjGI(3suV}~7bd@R^!&NlORWx78 zRIlcTu7?*irKX1a4XbXjCp4YWT$WRwD)zKwfGnXYIcI_d4f^211*U-DD&mgCyA7r((@^+~!F6 zWV9d1*1IvC`-QnXrF{h1CPXt%guAlN@CbBDBhbS>=>?Dl|4ZV zzHisf9W8pvyj(Xtr0dEQiF^cFED~B=t`kfCCc4izrokBAs?*8lqB6-j@7M2y)YWIcxKKeD1Pr=IrQj zi=izh=X;r)YtKkIk}qLO4!-%-6MoZcI}Ek4`U#8iH3N^UEz3Sj`cIwyQ^P$~Y{KI1k#&Z1QWG{VCaj#()Gc$;*Q*(8wN}Jy zMG}1EO-Qq-7~(v<-t{zXUQEv=3!ockpTd7tp(uDvrH!Q?P9f15`9-y{8x<(eS*9iy zWceE9`R)|1YKGba%aaF|Cts>zz~Vy@u-I0f$r!`LUN4P##m4@!G%^{Mv$5$1j!Ao9ueD`cLoq(_eVQT)GKI)*hwx%eC8gR$C?ooU|V@ zIT3Mid-QZT|EXDR0i)Jnc}1|M2@A=v7`56)l!2fz+04H`4uLPL+p16QfzU3rMagMGTt1UDc+E= zrM%9dV%h&p!oY?TLJqJ(<9&h@SqYGWfe}H0zzbloEHL5gRM(te$m_!Zz#$IK%YXVz z?A)(Lh{Jtv=k@l+3i%JFXJN1nO0-EeqEnC82=Q5Nw>2l>s3Je6rIO&yo4P#V*1 zQ^;zx5j&9OK5Jyyuct+~RI?=cQn-xpYvroso6<%n(wb8mc8yUQq{2@Rs|wR4Re@Pl zrooy2&HiNAq4XMy-xlX=IlZ* z&hbKRM-3Q&` z1FCi-heFUuLpKN=@lr=d@_{y2H0xYYY17vtGQ@$8tFHLxNH(oq+^s4PYry&Lg07&d zNfU;lUd)2+AQz>!8(D7bU1CkW@qh7D>_A~5n5Q#_59bbpV;DpZcnMio1mExhWzfu^ zfCrX}WIr$^#csVG47Fk|x<=|nBUXc4+|;BYR=>?zhwiqrXCTn`&4#7lwA@0)@c15D z(dK9$2L;FW)K8JF8y!Oj98wFdLdZ~G)2Kf*E!YT4h3(VA@KApIXF_yp&aqy% zou|sN7sqGn8&=_eZ3_>qIsT1SEAfJe%}V!e^CTs=M` z`LAK}4=ges4PONb7Paj*Ne)v&z-sd5M?)wg;^&fCISY*n;|o|E4$lkDVHwwf<622v zE0LI5v`S-0O9&?m^Sd_+7hjv0&;ND2Cb=^uqkTGesj`DK#?E{x?clkA|@uc82`k1UCx{%*AL&bNNSY zyu}&%!=3P)s+CVM*ijA+G}xhv>fN&ZP}?dl5g69~ZTM&${BMnU_;uE=fuA`Q8jc0N zBWMPbFRVVmWQ-pS!DET(BuAyc%Ubt+lRW}l_>yk)O$ zfQZJJ8gP?4`&0IFLe`(TDf^crEW^Ul21EC#8@gCSS1ECgidaLG|7QlSQgDqZr?lQJ z%MY6wAF&Atgv=|A*`qV?ZJ9r0v3+ZR7>BS(nv~(a5MJ(CaxCWSI@F8XKpHzRD~?xK zAkDqzI~HHQgAkqkNeAQ!xX43m%(=tET!f-)&bcr2=iCPoh51*<%sE_7j(WuxRo?*W z@qE#BZ+OoAr)X%-IbIKoFSvdFaB1KM>>d(B1~WwOHn1Qwv3tVg99WjMa^TQuuQp#s z#Q62KId2j4_#lOfQvr~<^kjr8)Ui?gCR+|u1O6y_ov)ni5l)9 z@^4g14pD>Z8->Zh~09x0*0$L{}KO9Elz~a78LM%ORKnagIN~mZG#|Uqxi)nf( zZ#Li`2B?@x>uG`VdN0!g>KwyllbG3P{0J7puUr{o#N_6GIm?7(z;Qd$jbaeu{I?i{ z*aqQiXlnVdxVWUp`viQ0X|qlv?DWEDPXF@9yTn{(k@flb%P!jC4Nk9c90U9@rg=ubq}u;Y%#jHD;`+Ax+hJg3RzQ7p-Yv% z3S$ZkF=~F5Ycp=i${JxyS~_t<<^4C%+s%l4Osl=ab4*7=wSf@vGgB)K72_!FK;d#p<| zA__Zyt?eNHOBx8Q?azcfyxp;_Uz*uuf?aDdgMWj!!Rm}#iQ^p-T*T+Gt~Z^obLNId zv*=8vhhxb7vp(UXWNhgaK{|vBc0-E7tXSyh2k*!vKI~{g9#3@|OIwc7$OUXg@|MgX zYGp>H9USi|3!N!}6pn>#kB(!ylh&X_cwmtH&>%S~B|kh!j!VgpP^o+)b*&K1XA|j+ zv#<$n4hD^nX4+Zk8=f!vc=acJj2*NW78xuKiCoh)q zJgE_lixE97y14^-paxfuI7wzoorn7h6-#f_<2|aJ5>sV;CX}B(JWOW5~GgkWC(~f;?F|a5~78bP#bvW&(oAu>o~NqNjmM zIuu%MNIXEGQjy!9*CX9=e2&l7%w>M8@~ziUy2d8c3CAvM4ZwHJ*zGFa(x?nZ*7F+k zs0R0?8}GAuq1ll#JDRtttE{LR%Yav+=BLf}zpp4Z*r|hkw{sq9jhj(`6;)V1u<(>e zK7Pv!+@>>@?FjlMo24g~>vxuOEW*Ym&~qt+;OSXM*u=JmEw=&lT|x}u(T}ikYrNG# zwU7YDBry=NVlyKlLs1eC0$U3lCS#jO5DF8Y)tmdY3hwNc!!29KR{_OA*n0PQwzwS` zua?X{w(Acb(SJ`Nr7OogYxwmYcOKPVCuqjY9ux1)BED)KdEoeKGz-IeR1 z1wm*%^h|G^GG*E?SJ%_vVE*8i{Y=vQ-b_{-Hj#vpt!GH=8-6J*DrYNO zH|fd(e15#`oG5iq={eCR_q6F8g6%CgIR~@Mo*JxYi*Z{W7#siHm4G0pk2J8<&yG&l zE4#$9=GhTT9ePf(s`g!>gTZvN!0gzwqlf5{hfOK$HTry#)+PHQ>@amrYb{Wo*2q+% zCiAvd6kyw!FNNLatlLKt2qCD<@mEna;H^p!fN>~AC^e*@RP#5o$PAS^ikE$yVU-TT z0vJ2i*@hF)1BMgW$}*ggj3&&CCTto_*ji4gFp_wb=%l8ZmnJRHWAoCyK!XPTrVp*k z5?SLT<+OkkJ*qvMwwPQ;a}&aC#h%AYW`R_8w_um=WjkwRB@0}*#Ti`TGyWwz&yKY5 zky)YSxdr$85PsbWk{Q#7l4PBV$kN(3qE%GAFZ+FF>dFzq; z{?sQOc1hp(>|g%xAM{B#lSJi<_kQx$-+h^@>!w+nHu(Bcb%H=4HW|B3zN+qhBLN-d z0C2+X*NlF(b-s|Djj8-9pJSUGz6%HMEvSI!{lU9F^4|y>S)^MZ2gvi@!ZVZaqk0C$ zhxDs{lD16w{1N)?VSlXOUv=}$41zqEFUN%s=V5D0#_;Q$o5r!Z{PV1OM!8;si#6Dg zv5hyC<6U`NP^zai%wRJ14LLtpsiUhbd&l|f+GbIZYF^?dhpI5x6QIRe);~S<+-Q`gMO(xALsStO<9E*y4H4AkWO7G zTh4Aez5jJpUsscx7-RB^mV@Lv>(cRFDKYek50w)mpZIV&G4_d%loKmH@zHW()h9ky zPOSOF&y^GFKJoE#V#6msQBG|7#LttM-`?nur_)#;C?a!B+W;gJ!Ni~QMC9u*bS z_L+!1qnM(0d8L+H$?fKlfg%9ADP`&Qo?+pyH3J@C%{ujJng$39mz8bZbvQ`h*= zrWgTe_h@dtk^fVJ&x)mmF^%2O&+v7%@wbnTQV>jaP**O0K)`262kCw8& zP-~Ue5&A0%aM>xStqn+OkGZ0g_#aILy zh%rPJY`_kap8>vpN|0P@Eb@t7DKYekVmpt_LE@q`JHGSeuBx=598iOZ{MZTGZx>oYzTJzOjiQVV%=i&2`w}g}c z-JnXW6Tg1JG%+iUZ8BMI=_Rkk{Y>-uVMC#qC))?8!ZFW0G$%+D&-o%zzHOg^9^n)g z6L30j%>l>b(Kjo0MV`3g%~b8|{SL-62{+O405$-Pj%T%6Xnq6MuIIFrBgkT(@kCXa z%ol8toI5gGQzUvIX9-bH@=Lv0=8`A{}7fJlmR5*(=) zrHvj&8Iq{B+2age{d>?2RKV_S#`qCKfxABo;f8 zBo;f8Bo;f8Bo;f8Bo;f8Bo;f8Bo;f8Bo>$MA)Bq!#%=qKUK>5wMLoY z%0H*AbW&*-AK~b!zA*0VwD+De%5fh(qpZ{BpFd~l^&6iE%J0S$2P*IJGw9`G=Qut) zNY2`QFTA->Q2R=61Ese$?D;P5O4hkB)RuC(!b7yx|GuyGX5>iu%%7yA{cNX@ zs~gY!{@CQFDP7jc$Mmduf}UaUsAo7zpUTJfjGQ55w~#oCr<95p66dCJVj*#EE+-Ze z=azC}A#o0u6AOv6Tuv+`&h6#ILgL&}PAnwO(Q;xTaqcED|6JxI&LYIrO4gD%kein{ zk`WJ`Vaj^G6)_F#M`JI9PeX!7mPP(KPfbrTLM#mT%W-Ui%E+dWq@&h>a9VsB-H>K~ zGXf4)+Lu=(-P=!^GyUI0mnx`AbWs4spJxfK`ap2;sBh_g)d?;U?xXgVbLjK>$ce-j zGHXbQPpeL5QCA_boEthXR@^!R83Og7)SFy*j`D+jtSU2CZAn)anO8Lwy4wc5V% z#eCPkUW37qbuQ5cwIaauRy_9uty*_MB{ELe*c+0;|x#Hx3bNQ?$K%gZIlPv6;CjYO9k!RJDK_C82XbhZ= zKP5W*xv?&&UoK^Rl0E9hf^^}4GMmV(qQkO^Dq0DUr{DXb*g-O46;<*l%2rV&|7zJP zs^m9+vTPNJM^|$5M@h|jJV|~|;lF2)h&44fQyq|LwQA-qC~>Q1F4BD2dXZS_7q+E; z>jUQNn>f~M%>z?1)@$gD4iI`KH)-P_!Q0>=!BoB})cHZUx(1LUd-^5V_kT($3zMdl zg%L9N3d5$9g()(~!n`SEVUP^6Fmg&+m?eWOOr25|#>pTHgQt{rPdN*-r!W1lPhtqcBJ;!E5UQfv;d6j%WzHfkTTW-3<{eJ!& z_iJ?1Dr4POw^McQ#FIzlhF=A7CXj8hcP5aLGOSEKz9z+{CBNN_rP5+aC4cOUd6pJbMX;e&F%dDddg z(>X4~{GH=6%s}*XNS8R`g>;GXLgu*o_-l?om|&1BhH$6V)|m!g zzkf5*p!)t|)xVsP_F=hSe}T&!Sg}7`T0MH=TX+6Fyu$hSxsvnGa>WByI{%7d1>?(A zmW4$7%Mv{wje7aU8fm2_Mx{Z~glxG|u~9it6nic`Sz)BPemnmj2W--!i(gQ*!2Xp> zStChe?WH7EkzCNjvvssRG1k%cWqGlm8Ot+o6Gix}_gi##VJ*2|1@j(1%^OQB_+u_T zj;KZpa;q?phx0k1nP%!dfp^pxOgZuM5-&NrZ6T}cJPXvIaR7`1t#b{axgkiNHnsiBt&M<1dkVEDungXTlKqd;3YrmH20PVrAH! zz9{C%mkO`z)yU&)UPaAfL+MzwM+24u&@dIYkJkJ2Cv-+~d*+U2?cpV`c6sv$R%Ed7fWJq9YY_6ErZ8uelsiaz;xWgl%#WV7MwYYSbILL zSUQMo?U}!XDmFnu zakS}L245m1A{S;zxt(;8GdC?5i4iHP-aK_uas~b4>F`PU3hdD&XLq`aiX%c;DaTD)xIWn1xbIxocFxT??O z<;>#cEMCqkUbgeHy?8m77Xs|uH*>s*gBS?Ac-d9F?B->6@p1_-moOW}Ef|z!4`E{L z3^+PuViAnHEjsGLJql#zgb~{;kU_~D!I_~^rd-Ro71l;6@$PYn_YmpAMr9;0D%GJihpjBYL?ux3WyV%BbcRN(jp0;1p6~?EL!kMf=*tmt+Wss zGp>0**`u)&0-hOTk%K`RBJ7#JWnOF{(Lzj#7n>Peg7z1y#T_YPTYc7L8=AP+ zMl7tgkhQ^Y+p(~%P-&lojR{_~$YtiLI9Llbu#H9gWW|)W(+45p%(Q9Cy=Kcc;ePDF zqE_hVTssq$9Z>=Q*%@V_c87G}mVP(R+PNdji3+YzNx<-_|-=()Q%yoexH?CFy@sF;rUZdG~>fu&tm6ZH1FoYO$LJS$dG zCv{0nm$9=dkMk()x+2u>o|Z1#Poo4tS^Cmt1lIcJOJ~Vob4Dq{JuBmU_QDJ!o9-`o ze8U*5@$Gb#t-On&M1oBod#;)oV4o}L5(v7M1ERE%3mHpC#+7`N7JAq_M~|2=7tbcI z(}1KcO6roNZBbgVltI!qfHdAQNIJdX9L6!qwB$oDp(T*DE!vuKwx6+$mS-C#f_;=F zw;tq+W0y?7R?2$rOyfZ@jl10`IsUgH{42T|P8jow&!zxT8{1;^!e^xD4 z5{5P7!NH$U52Vkyo`pi8DW3s0sMAg@wuZ4&OR0|}J)D8)U7YIbF6(J(SE=@zHkh}v z6vW<4vX}RZDub=$c5ooMx)@CbnRuGE_Su@b>?U31Tb*zWCHu>H{Dx4!IcwGK&>4M% zZD*%kIyT|K0}K5PY62V36x|IsaocF^h~^T&9Exc$OZcGUy)X>!b1=z~BbbY9wuFsl zvxRo8Y(YKt>k|OIN|)%)7^uM?%n9JP!ypI}x9HNjgsHU6woaMlD&~O+Xa!hY#1SvC z`82Vt89T-XTek>t(p@N7*SK+cU8l?1&BU-}Fj2M)*bySCk@iTfY=|oL=8lZZ{F14D zHbM5&G@ERo49n99#itwX;qVF*hwg}%!-&I{sN2zZ044eDoHev~+s_hJ)-{dVOd+>nEaUhG4zHK;T(Pqlkk8usxH8e*<~34Mw|T+o2cNTq zuARbumiR4UYBbcKvVX(pebNFm%4R)iQLh zHPujjQHIay2@(8jXK?vnUvQgkjb7Ygo9*4O0n6eJ^uyRa-LO$Z2f!&3I`VQz;cjjoJbdoD_ zv;Pg;VPCc*bMfk@-2&>eJFw(|anLCFu7%*VgSDstxI zqou6Vf^jC|Z%tA31FrXKMEhvlw}!>xa;fvW3DD?Ybakepv7q*#Byn|!Krfo(3 z?qOJ!nqw<5vgzoPY%|9nMw}O;u`e@!9%p>GQ@8j~ToQy3?t2U&ZyTR2RatDt9+7eh%{&hNC8T2?0X!2J$SjqXzzN7=ZzEYeRERvVgh?5UI z*9TMBQQB7hk=xqS43xI`@@fO})Jg3+Nzh)q!>=QRn*VhbKmJ`iG$wElk7#E=QhoQ2}t33?y>=T1x+xEo|gjFxfl%6YTewUbozgFN3SO!e9k z9_rjgjvcCiFE*XnhiL&SRYF&%8UpC8v@h)0YH}gZlfn^qGP_!mDTzDx|J{OE-z(u(p4XdAz$JH)F|0THRt-&1r$AMcZ0&LGz1Am zOnKckrA_A6ExL~;W(cH>o=*I)92Cy5Cka+L0arki^KjwPQ0buGm{otDd1A+%?#^p#p>oVXC7vSzUL9Yxewj?WKn!~#jx1A)&~4a)A(BtdRJx9wrr|TR{Iubb?#99D z@c2Yk)HsSC7{O`79Op*~pUf2Y##MTmL*N#EHtp-3Oi6xDap-)WM|nscHIU1d>rjHH z3PTn67jE!h1?kD`>Y%%5_54)uBnib_%`S{{6NLKD*+Mj5Zj$ zgKS+&Y9*TibG9YBl5JYbHaq%RpRQX@H>5KR#dW%AWLH+g<F1~7%@=GM}G?%e0G-*({D&o)@2{(rU zgA)fu96F=00ys84vOfIOw|oPA!J^zMX>lI(CPfk&ROYs!im7DmVLerIar(Xt zw>$OQ&3KHlqPQ4i;~Z{`ZAxyUbPL+^1vmSGTirxGiBUXtiHWK1W#49H)oH8r+kM&Z zFdECYQTF*}EM%uyL3%1et7I>5S94`7bm;XA3cheD+qmSW3`9{PuXT*?)@6w5Bxqx1 z33B_k^gEW*Z%?=Jz9~H|J$*TSL3#!+o0lL$8@CWrf+3Sx;xvQ;%e`0^0^VPPe97gkPKrrmaKVJC|;Bt%(oIBgBtl68R}f zOk>s1+B~L!2gwLV{MIYcWg}vpe^`Q|bGA&*O(H!_MR<+TA+^!a38{ zI=F?n*9)Pgis(sYUvB2AT&+x?7%kWlsh4KRLfOemO>0oD=(m)`2}i4CakSC6EPs2m zYU?3hHB%?k?{q53^GaPA?Ffeo8D`vfFjvjA=eh4%^eB7LFa2hZlPTe=J)JU0+goh1 zO{Oo>aSo>dK67NtzFumr!i^_wa^|7K2L}|&RiG6B&cn4&Azd94D|?zlC}8e6%0=3K z`@K`d#&GpI{a3g$8;vat(9{n4iW{J9#uxwj=f zSpc0}97@;IThEO+mY>wv_A4|5kxsdha!T_$-wI8U^-`oFbc4Dpjm3;H%h$mcI^YFO zd9+;n4oSqmu?{GpcN=X>M-{JnQIP% z!)TMmVwP?I5TWgxWywfKt)rmnjNkw)=mwLj?3ad?d+sv_YQU&!mx~4rWk9Hn?@Qa| zOFE0yp5u4kpEYiQ0zxiDHw{{zn}#XSsJcC=yWY@`bS|7+hS){5_Sd2WWJ(P!uZ#_; zs@|qR5fCLBA_!#y9&lSpcDr$_NH*Y|aO~ABTq91b?{c$Ljb}s(5P&_oANN5dlRA-*fO(iRwEgumu9Al35g(t`?L;bV4ORWDp~ait}l}g92=`HOrl}hC~y>{ z^p8r0ET;py|Ip?|6^1!&SFi5C(L^W*v_1)m!`Z50%oW&RrJt`c)#$=UCywk4h=aC| zq<~fW?~I_XmXZO^WCz(Wyta29d~pK=p8qT->HVGt`UCDHy~m>IKE@sP3!)x_`zDCC zYp@OFxXFZTa6!6!v!V|{W~|z0>fIQ28Obe&WF252Bv<=L)``L(*$`Sr@&r6i7_1AY zhTVpkPmoO^JU}uhToy=1=R)=DBe@Qe6@7sF5UQMV+Ab0fp>F6Elc}cEAA|OpBeyuI z#XK=OK~)>YChUm$k?i(ZeWZ`oe->7cx|5#XYrc#dqB#M2SZf+CPR7hx4)G!hf~&~I zA`;|ALzE!XW}s1dUP_mN->EnY#Q-tlx)?Av>xm?1K*m5YxFI>lS6?0W)dS!AA$D2& zIv;NFjl8r!Qgm=-7a6#sgH`pi)I*E)(SdC0QLkd6v@++{b9KkzvG*Ai$6TMeGF%HJ3?bUHQ5Bl~;ndFNpv+W>t)m|U#r?^kT3 z6TPO$BGG}>8&~FmP!>{PwceWxCtzaQO`7u%Le^fwoRH|3`G_%cMEtU<*CqlQ38`-Z zMaS9O2d;w2;>hN#&Ma z5wCO$=cS|pD?UPqUul)29c}N#-Sc-gqAR#cKz~8H5CU2ZE-!z6rZ;G zek5x`kL&E2^$V2GR?1Sj7JRj%)n5Tbpdps03hm(fU{?T+4_`QD>z;Z^05i zCQVqghvJ+CM3xYvOJ)iBVd5gIwW8^b>o5(MdZ7ja#~Md%GaV{D;gVkIh-B+NDU6BK zEu^Ow$BsB>YWi&ah=P=h1N4+(ZQLm}44v2Cm%9NRe2uf6z}12@`N9^6@JZb$3FKNakR^(UDZwFLRir#5Lr|K;PM- zx7~^|L3i<~QIo_Yv?h-1ReiKl$-}DBt0U=+Rnj{a(>z>{$Cx&%F@L?u=YvF6YujVW zh96thO({*9UL(@P5OFZ#RRkT_7SIiy>54}n$^-H=i+3>V`Q##_{x}xRFiDv+(%gVs z+LSy+=(io*0Jw)u{k0jDh!W&Rw1xaeHf>?C@bum~mlR|(ZlZ9!ie`sJz~O#L?H2jt z%f;>MlPLR%$XZFt81o@`ql&-?u z+)UdVmz{WNq%=)mXCy!r?8rBbr35SUlaA0vQ8_Ru16NkYP*IhMo<*7X1ZD6q z%7Nl1Vck&)D~!*kpHipz)=xqUTW2(666AkK7;TvU3Ac!x#_y+`JwW5+=qcx_);+T)?(FEHm}x=<=S`{b~c#m?#cg!M$ENk6Lu1k zW?(qd9CE=23b|h*QOoE~6`>$(T$dOR@G?O2khv|I5edTu1bpqBT~abq#rZJx8$Kok zue98E(oV=~_~4L1s_ePqvfV){3cb5c$S1XoQzH5`I$AJ+Q=(UC`lC9yLF(Ed(U3m2 z+XhS=S@W$WbLa7~yD*wMe5{ziY#JRFH3lDG%IUuWkmI-mmoOJw?y8IU^2!1=>U@2` zRy|&FOHrs9b#lE)qWk8#fkpc@)KLin=7DafL67iTUhT;!7)C@uymNM&(DD@L9dYh1 z@b)_*-Ec5)ftWrIo!J;Nl$YoR7&;9K{2)n8V*u}Sk$gT88pi9Q+pi@~2*36cN+ZCK z*{#F!S1_cwiGVemgu_hYat3`ULy&g{w{YkNgAP+QnfWMoGM;#5y#(~g<=4V?w!3ID zE_yb+5H7DR*Vx=;yl~LJ$BR7~Uf`%6FTPc;p88R9&Z71*E5C*dZ~HhLnMi}eW4Uko zNQxH>7cgy*&=S0MjSrL%TW_(3xSJ$47?o=`U1v>QWx%rKZv1IbJy-vL8KnyJ@0UUBUN5+N z?oOY#_q-rjTh_sZuIbz9woA`YAOcK2D_?VM1`|tDE8d1@Q5Eh z{7Lvw*b5lc5H`rL>E5M=lzwhM0nd!taM-!7y?`hVqk`y~?ozzEutSwcxk&@s!^b1D zDQyvuhNho3E`U-bW_wsnumJN?LC22l3-~WOel%;|&j(Pg;;DL5eIQYU{aE2jK(KuRU~LBxgrvKoK{=K@Fjp_{sRtu&=Bl%yT7|-2s z8K5A^!!VP7%u4juGu}8Apb=aOaAt8JIkh8b*Nq6az`mZu6Z0Qx;B$t9uY@U^+%)Lt zs*#Eir>UudR~cg3+A2tlYzU_$i$22g3Z7{NsY>Ps%tV{=+`T{POfevQ&6bhS?ZxA3 zQDmtZ-S~q>#)1~e0A5@t^Kc2THB5^B{eqM&a(6szmAO7^hjXPJf-M9kpoy|*(-=2e zrdYVO+P{E~21|Wl$xpyer5hAEfD^jAgbLtw7tiA-lK(lKSJO+uR(x!#|zpzVE-6rOJ4iwK}jgN>&BHQ~*YX0>Cg!H7P)U zaY)H$cW@0%f1;u(i^`cYKDbu*w&8xu%ofK4EGFiujt>qv){-V^+Fm0cCxc^Jc0)LY zYj*RF3;;LjVHRAwLp_m*Q?3nxW%EALyw}BZ5wJM+2`o&0IXopEG!O;7i65C!v`W5( z1sTSOBTK!);_g>+SV9Z(;8Qa$vZ7{|xR~63RH+z?RRC4w^k(~!TcdWse7WcS)1Us- zQ=fhCSB}3_>UL0m4ceyWS4GuCu>g!*%kBq?C>KRhFK*rlcK*``7hl?|xE~X-kZpuG zRyB?_;qmPZSDS$TG@;zXQRRX(3Mymut`;SWwC?~&hKsnjXWI!}PSfbgo zXSu$R;hnTB9wi|(y)?t6!^0TOXhfW9Oq%Wo^~x^(xyd5mygX3EJG`xG*9$cD0;{+9 zNT|!ShRCKTS^;D+qB*o|{+UHTn5MDkpK|g`%aJ-?8KX4VA^?5u7pjjbba*tU2G^1>7&&v5O7@n3i_y*A>(v;_;_x)w&PF7y5rTy|XRg4$^z ze^Z$>E5~W^PU}$Ir+Y$6^i);{aF)}-ibOJ+$JJc)hw#LGUs}jW1`8R47(sB5lTjX+ zWW}l?lcl)&Tb@^^Iof$tLGUAZD;m~+DT#e~BhH8S8Sm9FVcE(TSF;Uma5PP`mUg5# zdWW$oj$(tcb46OW*~PaX9jRR9FR;UsjdKs!HcR=fInN+=yGp!V(Lf7xB3Mj^`&fLM zyvtftD%y*wf@B4yEQ&h=7~*6(+Szf_;>KgEQZS87bB75%bSOB5-bm~P(++oIvagIw zws@kd*(#u|Fc~qr1z?aL9m16bj);FdRz%nKtrIgsvetl0waQ#djtL31tmT6TSikWe zMG$;p3Bl&AYB+*2{iK#3!}Y=e2k0kH%g6qd(@(x!8<-${!`dmh(-2D_tIi<&5hwqQ zSePd`O0@9BgmErox7;aL);i{21&|4(bF9tO#wFf}o3kx3?%8dRanEkwj1({L!1aMU zUYATvXDuoe23%3B5Vp=h6&UM@8%Fl5rd78m)>wq*G<{X4bZx9$!{&9f-EK3aDCo^= zStxLHQq{{(i?<>57C7zqBAFAIe(%@T)aRz!u5N1oh#Wap%}c=?QY{P zQV3jCq+O}^a-@P`#EUQtlhnFXl_RuXtwZ$S!m_HEx|1pHjli@$tw0PIvhd!ahfRjY z_>_97>T$wYH%#v)vQ})x6*BMm>V<$*&VE*G1+8~`a~C+e{-BN6+F%D|sSR2%ACtlB z>0}rrT`Ifi)^|}j^21-k7oyzD_L# zq^QT=iHmyEO&pPxBJXtLcFyO}oakd10QH?QHJ*#hrm60JJNBc5_S=Sd!D)(g=V9h%&M6X5=_$b_3 z>J{8IgB#vc^xfb#`=o$d3N=&9!|l}S65RL}if^TOnUL<|Y_)Ga+dBf->=`GeK%spEKb7&a~Tq)|%?8UrsG6EP40qFZ9SJdMC+k!wC6El1aiq6hI;` z5lad<=`EfFV(Bmr<~9pSl_!{+GKr|vocG?e#5s-l=_vMIUY^E26bqg(8}{`!fn|MY zoYp*SCqrjcMpg4@CY^MX;ZCe}nm3lio%&!=7AnVtvVZ~#PYxBH94RbLOIusSCI}{V zqPFn5JE`nsWXWcS!~1ow)16!K5giR^Sobk?e*5)UfcCWL-LnoWGnK_C0_{rWZTKzN=4jH)tx7d#Y zMsOiipwNQeW()L?&oNs^7buGQ!@{ij8fMbXz4hs4(NU7FJAXe*A(psiZ?OJEb*tv}+oR={+Tg4xDWf{KL6flG9tYmg zM7hn6aSo2T5xMnrW~9v-Yjgbop7kT}s7)5h@0qbS@6q?xCNZX^HV+G|a+{BA>$iDa zdwj}pPFb5XgEnW%Z943vQ`@7DpKNV@T;E%poqgptZx>jDHkr{{Niix0Bj%vMEi$Vi zM5PkWPeLu)B-B|+-9XK=FWNp_9bWO%DoNpGsmb2KMlp8+7~rEp{9Y?_S=hQdGD!Om zq-tpX;!QF43Jznn&$6^RTjbP6^BeNAu-`>qmYR846lDR#_9El;L|zv3N6l8;cqM0O z%#5nRG@PyvuH*n3V=yZpzF}t)S)t~bLc@Y?#LIGm78G6Xy)3#J4ZbYPcErn4bDABN zw9ZN4M_!g%;bkEJbSJl}zqHqIKUiKc6F<361xDxj0P$rZi}NG-On85l#BafD#Z(n1GH(F8Z_y#TupEpOV#{@~Re*tI zegh?#cR=g+6{c$8cW{f^a#+9#`i=~CR+XMtb7Xk$1WI42Leoaf=TSE9{hH>eBSZEd zYLGg$(vbmhWk&{^-07sMFFP{S>#;5g1%aRpjq_G03w>x@g~N^vzilOPDv|eOjQ^|* ztj9~Mu(^+hY3n@M-)~)9Jig*d3*KQ#RM zeZ#N2hhK5Pl>5DX`1Q=;*KNbE>G12O;n!sNl}MR#Ljfbt8a!*sF$=IrvJary{B<`Y zT!)L z)nmR7+w*|6&&>s+z7IS`alYe%*`9Xo=R0tjHfQAtX)#IV3b}2f=4~pQyi8FYV1azp zUe`FUf) zQ8>uiTD3NG3=g@(4 z3L{;boA{11;T5ikhrOR`YeuD9jtN^Mms7%4$@MV0)tVxNwb6&M-(I;l9#}sg&Li#4|tv+FYZu152%nd&>_82Xl6jdDY2T~z8B%l-}y293G=Y?~YLK*2K9cZO!A ztI^G=QTN`^ik@@tSyJB!ExDdpwk!`N%Yr2}akX!UHS!@KNBc5_*=OZyM5)zutc`

    j^xgR6b8|KJzkSZGMnAZoNSijeqkS2I`?JE?hYTx?t)`A3+vlwrbpfR0!cCN<1YIVzE(Vo42D-9PH z<0g!?VHe|iw@1yKi`izpjko-DR{~x>wJtM+;->tXBW=bUi23vPnJ(EKa;I$sixUL? z%LJQ5@nx}az{HdRp0vEI+$5bE&4tCSkqe7kCASN2Ll2%7i<>U?o#9?wU_E%o*!rrS z($X=Xu9MhhkAUMU=44De$)x~?YTcAfb_6Ba*f%>m$#1%5Q76Gm~)~{9k;DBIz8*H?(RZ(JD zn-mJnuUrg2-m4AT0+QO@0lUw82VcmeZHGK)Rt((gT0EAMc|a1LARrA+{K!wbXtqxR zkOm|(oWIrQ)3j(c5wpNI>uA;D4o*;Wo3m!jMT`S?A%E#Bka;0dp!6ywOjHhIMxNIh zUgRb=k8K-Qul&axO_C`eBVXSp%#US% zfSq|1K_}sIm_^1XfjA;cL*a8et$XL6PF{3w`8bEsJ>=E$d9Uu|j>>641!YHujQ0Jb z$8HPEQo&{EchRf4-Oj$zVs=F#8||Nq>J|kqj&Bj+a#gDzgm0UHwR9|N^pB-2V%jZg zw2*W89Nac9h)73?RoqTULV|0=@8f}G`wQ{>M~>~9`s*{^ z@~(I8e<_jpx9S+VD&tz;O~V0vtB0q$TJ?%u#A5#7~2g>^8u)S6O!Y^J9Y21I@$ezMeG88jy2M zl=aSs*f#9kd3#}9k{2ps^ss$hoN&Jyu&BMZLMR(;*8)zF9o491iV3j+SjKZ)Zx7D2rdg=r+})VSN4&s#-qRPs!{km z@y5Jy21ZehmSkNu9_zAQfXs)A$;m~Jtcx64WHk+S(N^gQM^oLhtKZ;xU|7GuCQJsQ+l-Xb^p-HZ6M`dM7gsFGYV){q1u!R3}d1=c-LvVt5!>x z9IW;|(I5uid_7LVg*R#+IsirstS&@F)F!d8%nEkSL7;)?GOZ}o)8YfQ?!u-P5W=P-S-@wR$rV@{FuNFL#~vchFs6{?X|X@K zQ`$A)LcX=kD|;vglQgJH9KcZp)M2Mwq+{h&z#&v&0;Vd5HRM?X%{~e6W7DTmc&L8n?Q)sO(d$1oqZ0ulU$=N7=KlZ^&13*H zEzg`{>~K?AR6SR=T`oHaKk%@7YALf1)j|dAO&Qae?Ojo0Ml#yzX(Yo{8wMhua6Hd4 zOc1UwEfTsgzm8l*Vjmh!?Q7HlJq;(+%&eMkt=k7NP`dk_AefEI}R-Fi|APK_$i+r&oL^oE2&}Z)irH7 z8gZX3X}DDw^ZHKeL*y>hC+`sRvYB!;lP5EIPz`qs$q`KlV0Qa7+w9Y9>yQDsY^k{U zm#oCt;&td$vB~D2A|OUb#(4pYK_;>uQ=LVg71h~G=3B2*8v_SJ;QyCqHJzN%l~O&6 zMlKr${lIT;LL{5YZG_cn|6P4Ufzv|I@$bVJAFze;2BIupKr`UawEnPHjMyXoScq2S z2qcnQT>@R-HRMr`jc)`p6{_{uXbbXu5pdyTNl>)=F+s;p9DVlbC)v>Df5o<$LYk{#3 zuIsJM4e8~anW}E_Z4ryip=N&1wZd^VW!6bmk&j&(gzZ%)P~l*%scY*ssPkH_=~;+9 zYd_gWn{)u))#uor^U!2l@)B>5rsyU&MHM8Z;H0i~2LYf-J(#M9bLSw}{-A*QD^#ii zH&sng96+0LE@`?5dCMz}24+)LTdMs&wqi>)-wYMEF&@JR) zkRkN=({HhQY}b(|-gW=pk6+|B7)KmE*A0we7IaMyJW*)lDVVRwHaFwGsE1ROvK3Xu z0-Qij0=3u?U~L_4eyqQ`c<`(66)*B^8iDT;7E ziT&1~13WQ>`P0J>01(>S7h*54Y8bblsY`S8?9QI-SsP%s!R)Z*I{8te9D{r@k#5Y) zlU=(#I=YDpo8U5bj1My$Ih59H53Gd`+Unah_%d0-TvJ7CazU0Dy>Nb@`i6H-@r^#O z#-3;jOo)bj0hrX<1?*VD(HaI#G-*Nyr(h)0Ie7&U4|X>tvkj8Yop0NEi4-Y%!Uo8G zC&c{*RS2Jqo_Po5FtJbgdzg6ji-ET-n}gF5l^~|6sC@}h&QL+&wWy!>|IR;47^RWwr2n3`j0)TxpL)f;?Pbf^(q zChjDg+dDTt@agTg?N{tvk%3m1)6{qyL}}=`h|!FCh~PF3 z67Iv)hlmQHyMpLEXe$#nR4YmXY^DgWcJcWz%yqM)gu!xaYU|jpANhq({{6OBf75fA zL9?sny7pJgbsbSRMr-yxI_|FyfMV@Nz$2x-NpgnSBt?-kTRewj|sa z!eO)+R;TrfU3ZM`IU19Uc^{s}iH1_f6)R(ohqD-(sK6(xn7t{vX#KWCLe2l=^) zB>|!u0S@BP&P?2E$?J(+63oda9oT}zudv+>k$of5`Qh`bJ1;-)&Tg;0^LZbBRSS{| zCDonWo`~kC7#C+Zt38lSd6eKqw4+y#W$W%#(&hiy``I0L4KlNt;iEHW%5G2kPL;2m zRZwZ#ukpd7=_++i4c9d_RF}+sjSh##*x|{Odc$kBKa2cokRMF2y@VO$7Y6*Ha!zg` zsN#!EAQBu+3Aq$B(n~hV_P1ewJFW)fyWXBB$W!H|fZB1YvbWF-*lYIoY(i(Ma@yWB zM4)|)n4hJiK2UJnWlsF+gq%U{*O*1Ui8k)|_EJykfStv|k$=Vz#KG;Tb~ERguD7+b z3Af*pz4b;;kiEiYekcrY1jV6D{Y_bXM88}Sd*rqp;y9S$(bX95Sh_U}2eG_iIhHrd z1F0An&%!J41S~*V(Z#dv=TWh%%-3uc-gg^UOfIMKQv2#icAu5Nd{7zsC&#sZD(Vss zbOZ#9>&e4uQ1>( z*3mOs4KExgbsr)ucT;gzAhE*HTr@{HTQFr|7`4IPLmW<;h81beS`^Xp1qiPpBi()_ zR8O-5xzj-dCW{hjFfQMug#-uFm;-J)*q^ooL|VBPiQoi&QyT|QovH~L~l#zLanpWBq$$0qvW;O?4HriEdni_&j65HZTNDs^D zEd7p6XVG^>x}vaYm4IV;aQ$@Ep=n@MZ7}u9&C;lfvslzWc1Z()0~k`PCRg)|QIT9D zP#7v8Mt$Um;&xVjWQjW3P@mZ;_Hy~uX-x;5F@`#%3yVvz4 z?PF{zQ(ANyot;NF45|13z{6->o;BaRMP~?};$xJ#VW1t31YiN4gN!#@x$Xlss8y(y zXL{%FzW&WS7(;Xw<0ER5L9~?z)Wo=7q&`%H@jOux#b;@(R;k6q&SJBMt$^KWv?uQ7 zIQTWpaI7lZR!=!M`Jd7%29NOJ4g&ZefWU)iP2d>mC^*gbuU6c~GiL$~3?XkYI(~Ob zAZv}G@SM#IpUB|_iwbrHJc;rl`3v9u&?T(G@eCYD$@*Y+^Z0`U zQ-0ve0wH4|G>nIapNdu+Mb0>%In-^7Mron9Imgk@>euP>xCFago^1+loX5MfmaP|A zAhz?Nh{9v}Q|08xMyiyGI#)zx(UWwsTJ zbzB`3DcjJMbp$|VR-B&N{40vH7@)&0F!$y6sGGCMJoUZ

    DK#;E_klDrI{RpclK5gd5!fn_XKQSpTa_@Upb;>~nVv<*hcHK!BIhGA9UKVEDlo?t4IW5< zwy9HK&W2iu_QjpQp^(OQ^}+yWYPyUw9D2f;HAuUcYN&8ZX}4nlSj-(sUdV^dVZ3i1 zjl~sk75*<_<6B`te8O9lSm5gQv0Xno^Pvm>{3mYO;Vo_Xg=9Ck2jxT;E6NE_3=vci zsXAW2C_%*F4{DHuatAvcBJmaXvr3Z|_)e|gW9KV&NiEfXjLxbTPD zigV0To7<(}G;i}5rJE~r0IZRaH1Q*WNF+F+5G+Rg(lIq(MB-!v%1Cw%Y2r3F0_X6^ zZIv`R;pe(Trp16kEth7MS&NrpB4|O%ON|XCH89>BY&cXH&;_n~VMRUyBo?yf_oP*4<9dUm(Q?`73v+El6n2SJI72G+AK2OqZxr zikXNEq zM31*nH>g8um^KX~K)z;8BFYXpEQr#c98qe=JW|VBJ5M^~5Phjwm@;yv2go5N%g?<5 za+0yg*)#?@8x7={amZ0|qe_RILCNQW91HIBH5JHNvnC-&XG#^wu_uQdANA|QMwzBM zdj=<{V#I=U3RSTEALG&6;=TT0!kzV_)1elAwzASd_+bOBQc;LK9jX~QZcc7T?j0mz z8gaY_1jd8&57;T$UFJuK6$am8HXsFyNiND)1_bC#c%&`5lnVNJVV|v;i%Gf4xBh;O z5o=N|!3hX(tv=DCd0-&2MRLMXE$}koWjTJRUM@m5$wj;aoQtVRCMH6TG9Er^lMN96;hDPVc5G&!46eX%eaC? zjUD8!c~IbP671}l(lr?IP{*K+Ft1Aa3#I(kOiuJd2Eci46tgFBUGA6sG(~SvAT$;d z@bXTSdqt3JA3BQ3szm&Sx@1aM^za4`GhNSaK^O5Ev1BzW5*F;NUuMn-5+KZW`^>;F zd2H7iKk&?perMZn?l6SuMz|v5nP2|OXI}B6N8MsayZvh2`ArZoK1Ub~PFVY^i1FR$ z$=4bp6$ZZ6VBl*FR`a!j&jrAduk}TN)nnD*VRcShBGHSj?JJIHZGW)g4h1Yb0tN;F z)0}mYbRnzAf0-{n8JiJ}M_#87OTlqga|b80z~QhjFtKy%-~7edTUdq##$IUnVJa}d z1}c}^yZ5HvBwR|Q1Z8t= zv_L2#LdeaA-cbQ7h7b};Ado`fkrn|dii!{wun-~&7OW_W7XiD1*cA{EJGKP7D9Hc& zo!Pw!&FAOu{lA|#knHU2lrv|}oO9;PnHg(k`fWUJwh=NfvGM1Stqyt-Q4?9CI~Ib| z5nYChuy}l*%~Zo zCX2VUP+?J4(BL%`ORA~(j9BF7g~D`JrX37gkh+fsXOd7kR+)hR5lI0j57Oz_3LUF* zkx#uSj!TRh$kaGSFdJ}A{wF8=hq@zK_bFhxO{MCHi^(SzOq4)n!}XRKm@lB)y4(_zI9wx*)db>))}`9% zbt{?Pb7Fd25Ci%|E;5UEu+4N{)571#Z{`%hoCYZ`%aBfB_xmAC41kG=ua~dL|yA7W&ze zMzA_VY+$8~qzy${9k*xEseslpNG!KA6*ib01fy0?uuhI!0kj{3nhG)l&jcg_kzZwS z2pvWw?i#J_Z|l?y?`a-K==1|_o;X##Tp_?hhO&11SAoHt*XzI)iz{3PY}zmj7ztVrC&=Rbbs(qDV!QaS8{K)`HH%gQN^vOU^z3-!a8 zVwuI1b7aycFiM@oQ%YUJnLylu zwiQuA?{+Mfp)I9_Y({>-EU~;r&@@a)dk*VT%UcZBbZ;qIK^JxBY4GV=d@>LuOp>bu z1f9@GBLsq)ooPh@2vi7?0>S`9qyj?SRHA{1JOKy~IN^T*gdWRYU!>T({*Lz@fm4?w zsx1j&z#hX-6xOe`-=FrpR4#xJ&=6uG-S^b#i{S*9_@p{|ArDQEWw+Jg<}Z`^fA?VT z6q3Cj44}L1>&nW?vBGUM={`2OvI7%aQtrRWD94iUGL>v8&Z|a&eVkktm5#EYbMH|= z{NEcW$bgE2Of2NdrAwEQPa&U5$#MW0?uIj%7P6Bmk;5CZ%SIMH&$OrwirCWImg0}f z>kAmZRtlKz`R~Pt%DZo>-*)rT^6pa}Y?+QkaL(=i$d?_rP@MuSxB0#`BOFYDUQMW# z{#y(OTMAcEYQtEqNVNM%6xvNi(qIz};@8C`TC>DZ?LMp2HVet4L$CriD=nfQEXwz~ zU7_yD#gJ36;4k?JrWhU{cY9?30eEaxv1=@H~3b6AV>C&DJVWx8L@Ze;fCTdq7+Leq>LZVNOFp&ywIjn-D zGt$5o5Ct)lvGg{o87g0`c+v>sm1f6+s>{5JAdqCMlNAaeGw6gSR6v#866W*x=sy6m zBRee*VC;AAU2o6k^6tyu81Vd3DvsbXh&=b<8Qsde$NyS49i;legAd}73_rwh^H_$3 zsn*hR_JC3V(Aaa7>~}sO^%51q@rQA=7&%}N?30uXCMFK<7uIH01mr0PKCvcu_>J<>>bJo;x2c7urwpLtza-yBeM+3mxIGxa7kr zTv>pS6_OmpJRrd1B9VYNfCe9JAMntL)Z|n-!U1`5dSxK?cqJ*ewvrUTF%at}-A3U5 zaX+ncxrSuMm zUXR^y3S7FVVUtDKCgxi%oCkt=SRuluMt(ro;}`p*HKG-U6}sWRMinuNJShq*wiK4} z$OoB&8`)_Y(FS{*!)-<7Q?G$U;bnG;EF3IlSPhX5C3qaccSeF~kh>ttpvb7*QaF&H zM$0TjVOaM;L1-S#?jUamsaV5_0LD~nlx5m&5g!9~D5gi0W5Ih^rw*S1D!zIdc=K&O(~TGzwhOBzb~V)QHq6 zQAU2PbkH@UuyCmA<~ZlFtfnoN$$6bRD%Tz37~m%iNXui>CXE7s9hWBmcjJJpco907oyL1D7LiR?c z#nld{D7-i<6-29;Hl1Rzg47=ZmpzP)k0*2+`is@tWnDBQ1%<&>t67S}MA4tT(w>6` z&Erf85LRH-U%3ivZc0`}c8Ckgk;ZYpCwPwNR^r>6;5AHByzEpmPBdN@RKr*SHfdEy z*WiP-snLK*6buPb;Q0aWaRZ->U0p%^z$D|KsXyR|1#&Q&m1z`JDLeN6|5cf%sLId- zxZVjZtH4q^;OGaKI7A^^6>_ZTR-Ot_gOz}D`k|__35Z(9D0sRY95oYhK@x(EhJ4_x5A z=Lm=k+Is}Kx1L?@S+%B0DaZ!yJ_I9+>@oMX*C(cCeE}Uy)KBN`6>jLoihzgVA%7(w z-cng%d3xlGYLdOdfARAWl~IH*il5;J{>_#g3}dVkAI}XuwZuBm581aqcO9}q>QZQJFRz15`Cj}Z7l-gy_p%yX$epHIS-LTZY9bzNe zZdj84JU;W-SU4xa>|`6Z_-|wPdNJfk8*1tdSUl`28{k4g)V=3H1SekV0yxum#B}W- zu&?RPG0-`1mOgIkkIwm1&EW;J6--DJxI5H55WVGJrY1S2{m$AS=Bhq4?Jw^5xQvsr z@YPgqV5{Zf)B@QmkZ-Y?H9d#H!dUb|gp=-Yu)<$%a3nNJ=>ZegVajX9C}e%``N9QG zMF&3Ka(%6e8oM<%KE5K>qpRrgZgPj&Gj`Y83J_F@_yP|LH&#`PO4teEZo%TZp4^aZ zFdke_$ zfsPr4FfeQtL?GU4XTYk|UuiZd1NxIz4G~huY^u0uF5RjSP5{SxH`Dof(X$HSh?)jE z)Too$NQats!cvU-YIQO#9Xh9zd5#V>?_@UDq1K(u);g5h$xPLuj-AYoI@Gz7*;$9u zI+@3gmFq z377=@DPnXH;twISi%^M1$kRnUfabVbTxjUGefs`zr#s^N&Qump-O*gxH7s_0z>{y| ziF5PvmE8c*CUyoX!Z1h=JQqP{Vq*+dDrKMm3<_*jx%hrF^`6yP%4Ek0 zCE!KR^1-Gdt$qaz92e>%#v>!aPcc!~pFJ?Uxd~y@a}x64SZ_E!M#ZBOMeP6r4HBkf zMxlM(oO#g`0_yrgGzNZ-YAAA)GB?Ma*H*cafg?^m$abTh&!!z0PS}{$s1%L#qk(?V z8w0s9N+EM~sixf^9BLE}HFb+3^o4dKxH51?W3gOgy}l807FjfA8_5PR4JF`04?HvZ zP@`zoAs7B0E*GP!J0@$nr(=>B*#~T1<5M{v3TUIs$hQ%g`D4UIM zmZ?V(ZN$0`!OhSRoOi1sg=A;Em<4h`%sq&)UrVFO0;&k0wYTym;HiM<^Q>MCgOmL> zV=63stgN(mskDZxs2mDbR9N24fr!ku^R0-rcC$k2?pwR?n4B3~DxdcGq7{e@N`3F1 zqE(eOt$HleU-=KMsywk(4T~PnJg!w6ethc%ec!om)geM^A5`$lbCs%b2l#ee4^Ic|LX>`G&ehPhaJWef)o}=h(Lg=9~fbfBZyGU zgl+{G$eiu@-%vS6`fo=z{Gp~5QRG`=x>8wCi@m&xCsKw31P;cIL*F^EI)GTqD8dK8 zgVX_}_kg&-S^);y$Q_<+U^11B=8%&3)07r@Hdg1f2*2ny5_BQQB8ZAUPb|gE;J=!( zC^ta6WH!ysbLyJ7;e_>oo@Xb6O5&+XF~*B7#{+kRsoE`|BL87q#Wk-BHHR}*yzvC1 zrk3!EXPnf>J7>Xtpg*7t1)-s=!gu+KF^XYBVUAY*L%N&TK|e`vAOj<(3`arp>mP#8 z@KM0Hv~j|X!Q4-+;GKz%_YfDOgNKn&P*NPb9m2{U>=8F2#^r#5OpIfGXy&UB)kivM(N z9>m*}l(>B`(!Z3QdMv+jSq;U)F%37N_YcIVSuuzi8arGI zlAz05+(j^6^Lt#>gGjY{ibyM(hA@<@rlG365#T=R3e2b)C}=#Q>1#ID{LwcAwKbcA zzGDm3Eh~&nMI}(usQjGJxBLo(;Y@UV0CB(t6SUL>BZ;?G=W{@M^xC}P`_wt`;RGb3 zBFY*?>#5Kvr8i(#B;FcRXe|3`j7I|Fw&iLq?7`YNjRHu_7nE5s4zx5#`n8E%GXJ4!_ybOL^5H&e(*X#EAs1}%L~ z6C=Q_u;M`}1o-@q82)JAHm#n8sY;WDy|b=bw9rKFztOOv=n^!0d5r%yGk_6?p+rzk zjLId3I^)3z4-(UcKcG^^6vZPeHF7Fv_NT&;NlUHv3W7EVnS^m`mqjbK2iirj=wUT9 zQ3|o>_u_OlZQtdPQ>q24p54hDf=3zjcIwm^)oDy-FDEiuvr0P}N*_AO181N0I6DvY zu?#H9=nqhl z0fOwqcMKh1Qc)V{R*k0FR5Uc}R9Q|xFl`>{c^r;3z|c8)5HgDQ2RJyu%h8Aa4F(&G zNJta?xdB)Mhb_7j>LsQ+_&P+11R#!G-GH13S}qAx6@t#eGLkBW(gOZ5q=FQwLkUHS z0tQWA3;+j?HyXYoca8$_HUNs9l4z6&{?8GExt_A*OfMuKB1{e(_@>~%vjMeV0Ik48 z6&ftCXe!@a?`6L{rGy=-e8%tsbDUj$4| z@!g(H32Xze{=)|P!SHWImA#XEvlRX;d_0+UYH0)D6)K66;3x5FO=b#Uc6BW>W3jFI zCl!+j?Ou%saA7Bv*v+Q+_SA50a!p4g@lYediC+M5g5uQp)CWd6vPVVOc=raN_)}r< z_QE}(k(>vTy~5Xp$G_pXFOIF_i527_NDj9t&4e*gqx^yh2}DpELWg<$o0W=yPDdd~ zZGrRxUW%?L)d^Ja=uTr91spsm3uU0X`~bKSCy&66K`VJpa`C<94jt40w&@Re6f@Gp zgc0h-c7TU)1Na|to{tg2R%=y>E&&V=QKH)xy@?Pk$O9R#N>gzd7#Jcz4z^dMh}e2p z1WQsyv&(=J8pRkz$f;ZRX)?(mwxm+C2+ z#efQ6Z;O$vs95zIOLHS}K@^9tRvs<%6xyRurLbreXfjRBw`2QqCI)%m3x9AFVnp8} zD(Dhc(0}p7a)PBMT2$0I-NHW;-N%2HYz~;2as?~Mv=*)n&_5{HpFL=1a=54;nL8wW zo7SN%fKw{(1tiRtQ-G&ta@eI+c7I&gl+rLX*Zwwa^a3(MP(1~pLgKE zsoe;wqL{A7CF!5k`|$;&+wa+a`{-V;GTjx+0_ErQeV4&y!}#+hf)#W?u%cI6QL6!W z4QN(Ok4~+Ato!rdS9DVeDtdgde&rjT%b)9pEEN^Wum+27lUdubW~P~8X3zqxIG_hR z$0%3u6Q!Jk1gvv$@Ijev@v1zogmG#TKA=35Y}f~9IfIG$|3ViV_I0z9J>3OA z93bStM?9FPg9`9=({B&K2xGw3J^qP6WcM<-W|!-_J%#qqi{3x%8UH-;!u3XX4a*7Q zY$ES6$FB>{rz7_x58&Z9xaNQfLpEBba-mU=?p5F1nqJ=h!3SFgm*Qw@%j|yMJ<||T zf9DQ3&n!h8cn+MymZ1`-xXA7wpFi{h^J!GL# z2+D$$c$EpYma0YzPjoT{x)Q9JJOsr|@?mmTek|Vq67Ft177tmg-d;9*sgA6`TrvP* z21(OdO^(3H^R>dPTyDfKJ@w&Lm*42`8Ug5Er?>9{qOM{ZUYZYa%ho>wV#j9$6h^SGxRvw zOe?mDX%fEW+jAzOxy=ztCw{&MJ;pb)oR>>YRud0bXieN2X<0=c3%3Hhk`C}>DN zl?oEMl$>rQsKo3402&`Ig+eOk2p0;60rOt}hlW!?rpm(90bT_Np_?#O1ciTO1mYA=WUN#I z!RBgU&%)|2_ZtiNp@9{;2>&kB2033_wcMQ9ap78D5^6_px;6P{xFGw7`UY_*%rcc$ z#l(ubz>H{e#ht$34NpeH#E8puGa1BedHs9{0-p9WH&ZTAiEIP?Y0e#zI-_OCBfvC)m3)XIgEGgS5Fo&UenJI)u3hfAAfkfkwf}fiR~2o)?UW7;8XqbG zp4An=DEQ1m1x+Bbl6w*?JR%_obO@>e{y{EznHXHoim42EK>PS-+Rx}_*pI0vM2Bgw zbD}DAl!{yK#4T~-2pPnfWg?)L^iAJJ#{fgMK`9PqhGGe-ue?qZm!y$9;9yruP5zW+ zAOiXkjm)rzC?&^5M-UQhB|8n?nr?oT+}l6d16>SlBgt;oW6cC1Q@a3V!*07!nJcBz zUcvxziSy1^L#eIcJDer#Cn{!hAaX4a zr#u8Mhc4=-{4r1z1Sz_#ES)x9=pN?!8JQ{bXCz}=fMNnr0V4go31-w5r~rV&sPKIO zrQD%9%TyE+O~uJFR2TzoVQ}Ua^f^*{DjYn>>`F>qH^rggjDV@r1i(+w9REA6hIEJ< zjht+L0f!2QEB$*gOx-fd%4W}nKzF_#3hO_?aGXdEl>7>;%A*c7q^WvFg0Mhrt0{I| z=pNsXdbgRO|4|1qm5Kl_DB@!p zMF-{!WT#%5BO&C=g2|+4e5N7+vlUj%0{93*wXZ8Ho7NW}5u;K}8|cajt^%m2KcbL{ zx`L7o&0q zwI*6tc7W2u;h9?>-6}&-LR62!58gpTvNE{)GEy&cMCo4HI%;b!rwfs4Nx&jyerk}p zdwlg#H;}~&;WG&AMfdgff_|eJFkKL6UI72)nz81;w;P)O+6LScz<;s1&^GcdfmNvq z;!NPpC_It%hSz%*WA3I_b?mK&$nA(_)V|{|IECt-8HI3m0BY)#+J{gz#%Pt|w3QBp zQA;-}?blT93JVZ`%UK>Q%Dk-$#K&FEM^B}Fz>P#Tuj!Idc*7|hLCO`rTml0&<}Us? z>po}$c&=q)i?@&bO_x!719ZaAU{e*}^@h>}?e~A+VuP}|*b9G%=d2x878o1Q3ciP^g#+Ja zhP_KCjfIuPzDtFH$K@*EM4`Q$cY?dxv9O9LBPC0*V_|)vt$=ztGzAu{7F>Kw&`D}b zh#rp)6?p91)Rj0M`>42%?IPuB*9VZZ80BL}2vum2{%Y&Sb~wy0bG9jBm5P+%IMUNJ z!#D5+wTp2JSK_dOfxPgJ_aWLXPwU+43^6kx{L7-%!iqx+2WD3icE}wrh*L|z>|3pS z)J|X@<(2FP9)ptXzu`LVc<5g@4L+M;PBzk`%X(%q%>{=2I{YqGLYLL41ook^s;om} zaWTkJI6&)mpk~Y^JI>!y>ATsZ*PB7)dXiw!`bk8Fw{w`b>s|wtVdN>l8mv6RTSQOy zYdO})bBYChPVX8b-K#l_C+sDooNADb!`Y48!brr0ooQmWI-g=x34@X#Iq0+ER#(ft z<`cTtsP1LW;p!Z3nGC07Ra=b*4g7j)S6AC7hb1JTadfkBt0U`Hu1`S!G8I`P0D$^a zI@_q+sMhhkQPruJnszv!01Bt6%AzU%WD{PZCTgyJ`VThYTaQZ^0jO`)Mij4Pimx8t zVf?eOo5t|}0=t;_nji`0w#eXnB*fEZypUA4Zo0KkZw-v8S)KwELzBuY@(5>MK~}K z+($XUphPTs7_1u)*xKR^6o+yFlP(_Vz_?H}kdW_t&!9BQU`dv8f&m;{HNiv%Lys<5 z8gVKz06!g6MEp60v1rIA<>!Lrr^g&ys$7DZs1|C%u0HhO$UhlF%%v)2Z=sp09JY|K zgxln_&{XZx%S|AUpB1fm1!!~Z?!OwobMb2P7t9uS4`D0FF&W?15c`)yBrsSs{l6Ko zBmnC)#EHa z9SzF&wLy<)5>UP&YMsJyUxOl`{DqL-;sOIzjJg2TLPiV`l;;1_@HJ)gt{Vx}j>~9x zQCk3JYfk^A9v{H8z&DjW&sL!a6%Fx^8W{R0G}hy#4hYhu{=h6q?2H%EmPR?rjKwIp z^teL5!70ow&KWjdv>HPLg%+O@F{mj#Wa#l^*Z4RoY6K0ap$8yP6|J%gF~lP4BaFnO zExv|CB0JjfA4P`%2fz_bL~~U0XVL8H3D19_DAu7-RIQf+m5y{1>{7r)IU*c!s5_<^ ze(a7wv1kSS`+RzzEuld1_TOr^g%vhKEWk{_ofRAk&fB89;E>}o1tlFK>}^0D0izG5 zpPkGd2J~LIecNI;S1X*@!qObEoy^yOU^WNeUxQmXwmE}bRay*Wum3u94yJteY<&SP zkX+kI0_Izy9R?&k`q(_X%Hk|BOYP^-3$Xl@s&r};&DBj{ueQ$ukBs3iZY&A6R_X;7 z0>GlM+Yi`PYXev@{U-pqf*EaFaI;gZ4JaP%L8Xp!1#3g47WN&q4%dz0NQ%>L6JVd* zm=Dcf<-^$0>(__|Q$xvE*|s7{!rG?-IO6r#IvxqqOQ1Z=VY;Z$)trn1w}O1MldWc&%iqeJeQ54DON1ybgedT#a{G|*WuG@rxwnmBo+unmD^9#x}{)imib(HVi2vv5AKV3T!p721DgLmeAwW zDC}TUpFJg51+vRL`Jj7(*dQLKrIS&_S!!(^wlv)?UY=Qx>K(Wo(gt`oA!iMOlDO%~ zhdm5Bu~m;#QgYOKyp9%E9l*~lVR-5PAMQ4Im@_>y@&Ec>}Bc7CA~NeNN*U+~22)i)j| zRuHuu1F?3O3FGZst~17?!AODriG~WoTvQc=CI4rk?TGEy3+;(+dNQEC$g(;0gTf zw_lCMrpEd_gi-x-T#*p238^o{E8)&6L`_k49k?3yN@BZ`5V=e86Oz4&&QC&OoydfQ zgv3a`n-QMG#F#`QG104BPonH?NF0@r=u1Qzv_HyzPkP12#MK8XT6i+B;quk!xCjNi z1CxdfG*3p65G{u3@g_w?CLu#}U=7E6NgQ}=%}ZnV1+FU+hok@Xr>=&?HFRH~JjI>i zzOaNu_eEuDfa@^0S;~$c$Q`M?90LgZ0|-SjfQikpQQ)lp>$yvj5ksK-Ar;0r?bY5= zv|@bn8Mc}1=NQsi{PUSwr-GRjWsp;WLV(8@?1GMAk1}Z>QCl3NGqLbDGmwbR#t3F- zks#55eyE=+<~7FHuSeq(;-T03lYHpVM614k0V?xZxYr1+z+5Q44ibs+u)p_RTo1bJ|Pap#UKHTM8h?)+7`Kq%#)0l<=YTB7g%f4K@w~+luvr7ys zIHQn94zpy78UcjzF$yvi)(YfT53mET zRz%&V9F-XE(Q&cp9)+khxe&w=V>Je~0p}P^7Gy4kq?Vm=;={lbh(+8d?LpEgl&H=L zReMV*o55-H-fnD+m%CM)$}KA?{W1XV$0#X^WsL8{|xBub;kNJr;e z25=#8j%ecZ6}mn{)E~haDWOOnb$q}CS~`tZUJhsljFM}ouCcvwT3|Yy z{!^-)HdnjjKm99UPH6sr&HG;y014q9`9DD*EZf+3M~evh(^EGZEGAve_^?K)3>HvX zNPn`H61?JirHxpoIv`0h>kL;6k|v`JzH^h>D8$=P>o z0nD4R6L6x3g2l9B`qN<-`63+nivT}nFJ-2hO#&7aiA}kd7rekr(^Ui@fnLFQICCQ* zrc7mK-+-BrNQ zcezs&DnLCRtzEBYawE$4`tCgY4=&!o0?HqRFJ@oZ7MfiTGX$)-(M&wOQ1eY>*L<_W zXK${LhFOJys3iNzIQszZ0ZalTG)5)aY_(Gcv%3Nei%s|!2?3_|z{SGQncM)(iqjU% zZ0y$KVJZL(VolUtDHIt6aKQ8FRn8sJoa>_2qQDvUr?~P;t;2=iX?S7E}N7 z50;=PRI89U{A9cxQvlh7JA%%zzmi_bnD^LF@tBPhf*7=gEk-jS?5r4yK&2`vAT3`h z&Kj6)`FM($(lVi4YqYD$Buo~*QXC&b+~N-3LS93`c`~-LVcAg4lXQu=RSaVmCzvuN z+JT)E;RfL3bk+Cjc#oc(HlgtisYB>F6c4TADHl^LKaQC}8C3GnNN57=1wxLpk(+7k z7(ifS9^#5WIXMp+6ky_53s{91ZZ3F)m)Q$yD~1wt;< z{UFLNdyRg^cFaU|t~cx>P^HVP{A8c15ZC>pcJi1g5D)5PRRDyl0V16%Toddg&9FZo zfcxk?i`&Jlr~=$-5QUrxJ)!I4z(L&S)C)WgX&UOSOpXOFqkA${G}Seb`1^no!Bj4;^(4IXkx%v2BnU3+L}(G;%Y zSseUW(SUH?W6Lm5G?zYguL9r4^(tqhHNA>z6#0>C(3D7yp-50u%s}O&&SXF@v0zObZXag7k-2&>#iWVb5KA=X#040FiGa1Qv4GP8>h6QY3E+xZ-05f;{ z721YT2Jc$tCQA?`*ewSV&w}FkfKr|ur#PLH2s{5zn~pC2AbuN%T^)=e5di|&)8Q({X9eSN80&@u^$ zt&X*cgamZs3`@&I#PKjq?+N0NTU*#qWqP`yHE@hA-6l#pWha1$K`5pOe1g0v#;SwE z6g}!VoftCmXwJ=57vq2w&hTShgqzM#Nf-(sgjHiGowjOKi;YPYIvPx#RUyDL zOPm_P13irD2jwvm@|Bt+X457tdWyk<4w;epEDdIFJL#c;8lcanmZiwXnc`zfgE6j#l!&3xgu5r~ zm_o=`wA5q!(CapE2|PPoH#H-%zLvQdn+ z?rQQ|n1Gdng={Adt}wRi0O_#TgShJ1W)YYGl|R@Ll)?pB%rS;@xsc|#VMc?A8fJ?3 z@$w94eKadX1tO_f9e*l{QR`F`*c04&NQ_eAA(=L6rAmaYG=LCxA~-Kg1slLHKwLCs z1sE3|uC^zV4cUd%ZMX;uSOEht;9wA1CNM>wr8yR)PXo#y2+GKO%L68&`$}o5YVFvm zF%W}RTOQB=Dm2FvtKly`Dkw^Sb_pV$R76Sv?bYxKiz63jKF7FULCyKLxO4;~qW(Zy zIgK{Wp`*{d@hP9_&AvK-7#(b?a>~q__eLle?~m8ojRT{^P#$^CeKrW|y+GW6PdCd5 zFeo1EKmp3?Yxdb-rsQa4%&T_DVA~B?CsJZr$suK)Sc~l3m=IArFV2s}rc9uX>A9Il z<@MTXFBX6&Ibw@6cah@Jz%qSL8EPdT6Qc@nc`qhLJblJ~?0TFXsrIyx>0-*J^lI!+ zvyEize6?3$kYg0Uxs^wGs0R;b#|ivc;zWx97xoXq(%zXLu^}dagy-mlynO;<4pTdB z*TYAe@^}XXCn*dx>V=*HxufH`a@-9q0u`}3u1Nw!`F{*HHV^*qz~&;k7Jg`{>A%@j z%jUIWZZUm{NP|f*ZCkXHQ3tbU`))Teu?F%f*#%vXNwh$MnHkzWfLf7?Et?I`jxBJl z0CEkxF)}Nrgq3AZ69Bc1T`|~6s=OBP7Fmk5EAjzbZPl~OGVpn;r#C*8J?2rT#vYdo zLk*weO6>zGmwH1P;X-W>*Ptn}^U|14d~;JM@^qEA>toH9+ScEEvJObYMvWXdbOQhyY8$NR)W+fwEp#L>a6goVKiIR!p$@wNMhFHr4lGAZ9PkifZ`D9Xb3y^a zATU_SwBgNB0{DQP{35znGEg`cfT2Xu(4jBF(19~V2Y59@7&>Drjw*KG!%!uB@YGT8 z(Kw@FLWl?Os8TWHIfqi95eA%Mi0oE0$SxYFQ*~k&*A4|QqzpD4+BD&NO5xT^d#|b* zE9cx~YpLrI;d2npgO$Kfxc3n_AQ-4fKfvmEm59O?%T0(;ra7384lEQN{s5PD&^*MoQWWjE`cRFZ7ED0ZEUJ$^ z8MS*EaP>vGc)(u=AOYJ9pwAQlsD&Z8g@7R`4B;l-&Js+)mZwu|BnJqJn7lO#-1 z141WI1BO)`2u4u@*6nI_GON+uOKQ;lt*Idr)KH6TP?e??5}QK}m}Zh1FjWh)3AHj3 z9)f6s9<+YU_`?H74J8aRwc{AYf(@NGsPR>E0QNMBQx&lQ6#&Y>85Pqa9|(xXt186h zZd~+?uwT;S(}b0bVbld4fNDY6Iynq@a?6$Ba+Ub6Uvu zaX8rDt1>Mi%^|E5EOw7WZMAzsHxg)JCt!CtE#culV8b*=4=Anz0Fuai5T^u@B1roP zYM>Zp?`rw93zUuHJH+0LfF@JE&2#7t1c1Rq6@r=r2>t*y2}S;f{XL^p7#x^9-NM|= zr-n|X-8>%=)6hvcp%XYZF)$E<77nq@8qh#R4r+iQR5PqWBF&*t*zW_P3Pngr&tq;R zMdDy3L$i^*uX>n+i3AW=B<3kzT_|dW`A5}C-9^<(iz{ozu;wp`1wDYQfD-Xw=xBoC z5sE}lQ9l-oG3CL+Hy$PzwH<7Ou3Ggifz%w*#kD zlY6ApNw@*pIsK^!FP{?AMPF|emI4Vz+t~Qw*a(^ z5kTFGJp|q6IHUoO3SXpjg)d@4b8wvrVV#NW*O5IZWdgtv;}xkRy9FaE&z-^EYs~E- z;iwwGFA8gH)YtJ9$4KE7O0E~As439w#gicLEe_`)0aj?S{N?bRWqGwKi^)IoY2^%^ z9~}pdgB*=u&wvaM3qVx?dR20SxMFG@!;7nsm=bXqlfad348{xx9e1#^i$SrDLN1V%x*G%F2lzmB+zhMZ zs6wgZYMR19#9#4SZ88S3Qm))r_EVPOCOFoA!BlJB98@fnks&n_}CeLXfyx znRW@DxjdhlJ_W}6aXANsJRj6Q6}_Fj1r}9iq<#5Xh5RwksqLYs{1%n zhe$lLl;Fhz-rQoIpvKF~Z(HFBGx z8=VP`I%7cb2!NuyANCs{&_Qg?6ckp|7~5|*;MyD4u#)t#=@!ocB5RFdtMq^*@wkXV znLrHU8*rea)A>OixTZc}?nf$x$y}k;OOq&>jV91AKLa^AtOqY{z-cs#WiP0?BOmMxs)5at(J^826p*K$+8BCj0}WG6Z3wN( z+tiBC5k|&snL!RX2D8waC0ePZ$MV@e6=5z?8Lh>{{K&!GA zl04y`$vHL1lMj$5Qh~Nfo@y>&DmKUFVfDo!PdMo7*5aYO79H|bu~?2GMzEEY9jUUo z7~!0e-K19#c(DQK2({FvBaC}+7chO`v^E`K@~*5HTn1(VD2hacm2NP*lZXfm43<9* zFQ}bB5@3N{g$06$5U*z1c;^RLOZ5i;W7x`cMV5vEQZumt#}*}p9kGc1fr(?z zv%ZKL))%2!A4>NFHqH8A%FxZkqc&}+SZx#nc`DjcSsaW&(V&O}Z5hz7Enb9<2L$y= zw59F@1&OhPunV002@EN0Ap>Q>mJiCpq6nZOW$C1fJ>mXaQkI_fg0jHUHDw_UC=2lp zWvLIOEcF4PIFyBcJD#%4lPL=mQ-`t;QWGUdu!20Gq!aMd7`jMaVKbMdg%|{GScsiq z=mP9Cbm0*PNY&_70Bfa>9U^L?&MGPJh+n!WJKG>v#hq|yCYlN31_p`^#}NuWFLxq9 z`GY5*U=>`U!JuOn^+6yMy$+Ni1(gR^I76sjM09fI=pmCB{-pVH9$; zMh~<`=pLum8l$w*epX${0u)@jZ`FtATK z2dQZ|{A`uhg6Tup>=QNw0Uyo;MU}`2iYoCG6O@_~1%?WeJ-sPOo!Dm!<-w&cT7pkU zUHEpYImtgz7jlrg)TTCvx>N;*L+~)somZ#ohK8OZp_I)F^crpjxQ||51Whp`Qk9P$b$%!RyE_x4CRQD??$Nb0{PzNN{O`D|nG5 zEO_l*(DLyMFlZ2jsSLJjj4hupN`hDeEAd@y(r4DbOC5q8FwhL`9gZb@ArG@5GGGl% ziWmPKz%$(##m{vV*iozE)j+jyb|am?z+R)~A{ z$3Jce&WZ4S*=Xzj7bcF%EiTC#jXy<`{v!nwCWpg0lSb#}v_J8+IJYFLAiHErQTBwa zNkv&>in9MBDXlEaO1(UFnxv#&-YWHSgi}(dwMw04A!_uLiIcM~nW~>doM*48a&B=} z(bP62(@Gec91i7$L&b&e*NK2+g8MRRj2i-YZgBF{QEqTT@#HKwoSmZGjV zlI$_LS(C?=BkUKHAphQwqCQiu9%`TDV?b6aN8=TcME3@y=OIujox>*II zvXG)^TyC-Ck1HMO@7OQlj0_7I27gpiqm7_^y!32 z*`u=<9yMuFz7&ieH}RyBQ&DbBo5$(mMvaki1$mOwK4($^s3r$6mE?*hA?Jk@P@m8lq=_^&c()c>n24n-r6)8$V8cDx`JV_g%(5Cn=w zfx1b~IS5b926=+YCTC5~F3Q%4$PRP}%s{3Tg9CJNMqh{asi`yCcf_A|o%lzEFd}EP z;|CB|_Zg^;ze6s|wE7lIo>Fp2_SE9Zxw$!GdySirYYm=Kg1F3aCF<>}@Gu);A?(nu z3fHg)^{Uy8mDi!Y%BTh@L+Yb$jHP(hpeYkAekjPEs6T?HRifO&5i-agBooOTh77bX z&l)IsMN_ThZq}e-0|rRm! z^2UTC^G4N#bK0k*kD8p9HEK#;_&fOl+ES7mj$tZ2fWuLF=-rwZba2fJ`>*B=eHebp zX&(+MI8)Luo7BeemQrELd9K<38O zP&+b1Y7{h|fI-&+tzutaI`op3?ZRoD+@#?Xve%AsQjy$GNL4$^E$ie|935^(Hx9tg_Ei%{kPH~* zNNOgKHdv`@UNB|CgceeO(Z~GFrxX;A8&i-wx`o415D(2Gw*|FSQE2z#-f+33Ax!tDxy2+ zC&y~9=xBnKhk@M1I=49XglvR{a`?0fPAZqm%9NtqS{cqQw!j)t`UPzOVsXi6Cm1W| z=EbQ02#t=Fo(kY`1qvhr)5fv}P60C*m20tAT3e)s))pI#zdDRQMOc012x@JCP}Lu@ zMYR92Ot)Yc6O$BUv~ng*oLmHrCwH{PK5!AB>OC>bII>quGuIPSUXq(V!Rpm(C@@_z zZsNFWvrEQJLK7Ugb4zmz+Ng%g%I!C8`lRoYO=qSSZ~A`YzGvU<;qNlHho|e_eMMcr zx_w<&kG-+$?ueVZMwVXE<=0>Ces0t2!O(qY+!o4sVMFN2?1w^uy%&e>Pq?(JxqMIB z@^LxcT5o%-ThBAU>((?fE`4lzBlXKL z2qR%7%!K`+tjjhn8a{AS_2I=`_O-mb%dgpAZ<_FAYIU96I>X#i4$E7o?5ra%bA6k*|ch)cYp%UEvwscE)z;)^yIy&0AMJ zv3YOD#_5mu|4RKb%s75y8m46)=4BZyi)FHG*1@`1C+j8*goQ8>Ho{0)2{U2O5Rp{; z^4S@`9r2qg_94r6Zc_yLQ_uO0#xoMXd`3CHk#MC=_MPX&D}OxBZv~$G%`lGpwck$m zt!>0e{_t65s-P`m;Wq=nBmWP7E4JNw*MRhiQ?5%N(CMD^&)0?0Kl^HLdcN;i`l1ze zgUy~lCph18QSh~E2L->oAUA0CnHju))Q!PqpDqtJYrQtuXVBBZokL#oS5lPiDN|drQXdPqt@#dcp1tYuMKrg?)d^cyq^qU|wEc@Z&mt z`Mc$d?Pp}*cdNn#P=dG&{JQVbIp>G;JxF`a^69}nbzTpSyYS(5W0M0NHq>d*VQg|` z2O^yvz+d*y+{2a9V^Dz{X^|-JTz0-ejT`gp6Pt+);TKiwtg;=kp&{SV2;?3blW z!8!8oz)a~Ic|c;mZ6i&Wz9ZkA`M0!qyr~>aUn{>}Fh_bk*GBI8W}a*~Z!(s@v*g2D zFOo~=UL<$@a*^DaHBXu!-YkDK>ni(?-63_BM@Zea)e?KM0smgCyCj9zVsTr zQSQkLO3Jrcvg!OO^5u80O1J4h%I_CN$s| zBPDv1@mE zs=+JrV&l7I{Yx)M>wz}>CPv8onZ4xm!W6mlm6g(Al*op6XUK-NcgTgqK9G;nf0KLt zjbvcy5gC1VOPT!9Ly|M&54rZS%cNoA*Rr+maOwKtZdp68vz&AGcKPszsdDAevqhRc zD?i32N#mWL$f|b7B=4;8vf{FAdHAp1GHdoO3FK~+_6HZqS6fC(^-FKcgibLsBKW?X zvHv5vyz741f9FzpH_%*~&p#-iT|Q7=d855Ve}0A>n7LgVZXF^&pSe~V9k@!`)bA*B z>y47ReGK{a=Bs4=W3%O~Z+?pmjGz*XO-`e$vdm0 ze)_NS{f}kx`MKgG;33Yg0CV zc#ix&^L{DlQzWa-sFs_{@0Sg?{wD8Sda=9}`;%D9JIJs7XUP*eV`X1@mSl|Z$n}e6 z%dksY$c3Y~%EVoMY2T;4Ts2^d3@UtIdJZkXVS3x7<*(zULEZ;)e$?GE!aGDZbp2Sq zEqz%Q9BwFm^JmJL=WmkR$F-1Gc04TW8w`~tpN*G=yBA68q9Nj4^Sn%rDwm&ACyN|8 zU%o9|CwVXQmC*;f$sPOV%Durmq{0pnSbyofq>fzCs8mMXmnhlWpOaS?JuCi<&GPO~UgCFam?(kf%IOl-G8F4_Mmkr+{ zy^nQ~@rR$4DbN2b&6j;550#}#-s0cHyFF3<3`ENAFV2*1Pp*;6l5UYsZ^p==%x|Rr z^J}ET*-y!#2b;*?+;#Hqw)?~vtRq)VdsEInTq@IV^va@!Me@r1m&&Aq&!qZ0kvscc zE-&rbC=cdslG3-{l6TBAUlCbyRYOAKOieEF=WWF3+1d2HcE#dUy}L-Su!H^3%S0{19IjQFUson zog{kW8u|8d@TlLD<(6?@$oa>n!V$U*d_6@5zgZ#HeJkY2%J-!0h*;ThI8*BG*)B7m ze_QVSc$+-baI?Hod7VU$zgpT1YbfW-Fqz%pkbD|7UmEyE%kB0}vf%msvgc?^$v^jL znZBr_MEv}>JiFx{89RQk^lQ0J2ETNrr2G+*kFH!Uzr1>z#1FhltSwKH+unZ~OH(y@g|Fmow`Kt`ftt&=UzAS$1VR>Tf+j8-+K62Jy336M}i*j#dSJ|3z zfkf_|E(dzu{O%DES%Z$mvNuJEQj{gmrY&L zq*tR}GHgngyu0~VDOmc7Jltl4B=q<}nxkogHz>GI!(ybRr^nsV< z*he=>!T8VQv7@iZvgmCxV?>GMuYW?`EVx_Ji>Avfb;rx^Z#^I_ia(L3Uf(1eqPl%erx&W{dsa^!vj)X^^UZ;;B{$xQMPnW?jcFLUz6*O z#L8d&#!K6#yX4Xh^JLJ9#WFOoLs|~oD_dXrP<)MVmnM^+k#V<;mh-M0DZxvsWOm&; z^2<|o<;eD5rDG@szg2Q@#17ea%}5z@^PRG^L$$o#@EOUz{7(7wvXERn_Z8Wd?w5Uq zeI%vnK6$j!YDsS0ORo6&BiViJa=B;dRvA41PZ=J0M85pbBeE#aNjk3&$e3k&W!S+7 zWzKn><&CfJ#FZRtWJQO^<$;e9WL!ia$$jFG%wD)w77n;W4!_e$l9xUy)93V)cR z#;U!txA!plw4{rS`7TrbzWWoo=KU<0K4y(A?>frVVx?H&S$EskUW4!_Q@2?7`EXp1ky|XHKe#=fD?AcNkoHO|D z;jK1Q1zQa5voGqQs^Im*x;!>(O;zyCuCw#*si+E;WPN{d%Brg10^_^l2CJ)r^>+?f zvFN_4;Kvm$GrxSeD){BgZ$5V6#;V|wL-)?P^`)xdh;!4Q@O)4eT>svcD^?w>3iiI{ zub)bfRR!<5R?9C zf~!j3u2y&xIha{~_O1Q@82@na=a>E*vUAJM;D?vQ9m{O;l?LwddY&=Yfm^STVW z^T0>Luxd9y-S>k3P_SUj!X|^e-kEkmhrb@^_FHvu#NJ(Z)gM_H$}XFlzViF(;5&H> z{MTNyBy|1kf`f^lR|o6=Hs*p$-d&vLcKDw+A3nQm=Z&HLzwK+04}@gD_Eq+v-$$ms zcIT8vJzuR3u6VD*RbSk@ByH}`ue_1|e06Z*^tmJMUwKEGODIRGk1lQU)XizX_bzI+ z^kLL@SKGu3qgm$!>uyykd)xk4<`QX{JU%xeUAmxEaR?evoK055`Z$5voEbZc(?|W_ewbj8s z%kKL&F{v!%5@xsd`-dHBc1!5nn-+IIJia=(<(+gK^yb^s+<`E&PsvY>u33;4y#I;8JKI$U zfBL%F@>ade()P{xEVpN?>fkleg~931+#b3v=hsg^Ij1_PCA;^$J-bnLa6@cd(VPo!O!IlZxc~Zk)xle~?_9LBK|$K^w&@Q%8dn{B`k}`L zP8m2i%^i3HN*?~q$ef?nZr6Y#la1#)3S%XJ@-@vuUgcw z&n;^&54CLbdvffDRl%f{eaGC{dPeAubwhUl`c74_?!zyP{2`}%n#&-nM@M#z$-6!6 zGCA`H`;DsLe>|)Ae7d6`?d`N}PgTBB6-=#HCwTL*Woi50`{+>17psDgJ$mhPJC~HE zxr}A%fuY}RK66=G{Jx_ro(NS1Z@#xsI+ouOTHE^W(kGs+3iiEs+1?%d7lbnN-m2X5 zbX72`bDhnv?4K5L8Pac8PyfDGz4@U!OGmu1=5gfz=xC#e3zntrIsd6ny&tU#M%;Nr z+l|YoryYIuj`!=WuL{NtZTi`#IZM)9M)vJ1jfY(SYR9yVy{@?7ya%d+7i=Bf>Z|tU zX?>E{Cr(;h6!gi$gJcOP~D|3~k-O>aH($SR8U0;3MC(S~Ts_c_Hh?9UXh! zTNS+g^5N6=?OYZ*H!y5Y=gO+!=*F|k9`s+9R{X$#_lJQoHV<60rTWQbA(wH^dA8$% z_4USww(RjusRu?{^}xhus>kGn+BV5edjbsg;)Mr>cH3JPnpb}D;hA`UEB(q@qnk|& zxeWKQnKy3jS2aIWa@~D>R^s~&Uky8}edGC|*T-ZI{|@i(y&rSU_Pds(1xM^3JPzfb zdEdZi_qLxNav630)-gkmeqWx}ep{;X1K=Ar;lqbM{Vq3c)S$OI{S5ds-+Hp`%c~cL z>NQCpdOjF_#|yju`1H7CA(z3Qb*yohdDoPM*1vjouO`4(!DU6ehP+=M`eA90J9n?E z3d#)$SB+V}ByC0B4ZB}`uqwFW+e6#hZoDbY6%5C|e)+DEPv?df_ju}z_UNx3SwCMf z_qXY3ou($Pcm(}9x7%53o5d^(y>jeU-&GVqXHB^AnFmIMT!C`MvrA?iK6^r_&LyvH z@3E;W_~7AR0^PeW4GkHzf7P7LRl)u@=Y2Hcjq5|3qTZPN<5mc?owv3+@@Qe2D~O&e zj{Wq4cPFNuefH;#b6%?o<^)Csye}^Z<$gJ0dftwz;0NtK`+R=W8`Cn_5IwRRuRavUm9I7l(!ZN*w%5 z<mat|?sLK^!-c)oL_+PfZ^DiHc4Y>mIf*UT+|E%iPP`}94sgFfe2jAS6 z75mY#lC*cX^wNHRtLv6UOJ(5{+KjZ zK)?Icj=7C)C=31h;)r2B@YhLy9t)0Ge@ke_qNsi;y{m(LADGhlk@zK{pBBYOFBn`M zTpQKx{_F28Npl5zoj`_l&#iMp%jdp+#^)nZ|I%$A47u{=wCme{?D=Y3b+CWF@$eO0 z=B16?VEmk1Tpetdz9B04gE=8rA$UE$ch_fIE(*0+{cD3>^Q(jJE$lMV`}F_E-g`$y zwLJf#L(Ygqku>BSRLojcn6s#u6Nnf|63hVwQN#c$DvAPT5e1Bh!eACLfFh_E5EW2S z!5mOt?E$~%e9!uwch_C_pSRY#EM|K4{_O7RP+eVJRXr2d?F+_MyTrZ6IUzfT)n1P5 z7CGqZ&tco&V_p2+4ccEfocp6lED5u$+;()`x%%nro%?0HM`dxE$GMB^yV;KOd1sXK z9^1Y-baAs|RJW};vpYIoevj`~7PmPxbxpTF3dq~%U0>vMTz^hCFX_my^7pv&X8ho; zG4s0JkK48UeD!;bx#8_`USUMH`Z*gMFMMQ$rBjoF;5Pm0rqLf=x;H5t6%ubjuNe7K zBG@-Yq6!=`axDMKS$+m;)kFM3CEYK}t^k8(fn|z6+i`t5}AA3A%s&l@8W(jD&nIi}7 zzboc>EGI*?Y6B;3)^#Uq>mQz`CM{?isbfW1Z znJ2Gf z0o^w9{I+Yw5_zxc8Rs(0noyCH?j1%C9zHx_dakTR(ulLE1><3evefs zmP{L`@axh+o2I<^0$MDfaiNt~dx|8Qa-WvIo2}l2rU+=gfEJzDY)wUyWzL^=Wp}7+ z8Y3whfA?R|2q|3wrAYy;&fJ!)>XvxeVYEh5t-Pgl1=Rad;gPyq603~pq|-KzO(;p} z3TT}}ppxw^iB=*sbxhq_d}1a?f3+e?znW4XyaVy-_TnnW@iT z+FX`w7_Sr;`$XK7H(x;O1vH}2-*NCINw@j!ea@>JbeE2=6pg?CFKCL8H%ma{OvMdz zE=sz1*$$4LU*9we5mLGWT4(lcc)|sV@})TjZtJX?=z2@(3aGd1J%`ihC0q8iY_&JS z@PRiWV;|%a?o_U$c74Ox313OVQ$gL&Z|M0$NetCcai8`Ot391h4RB z-Vh1s#)l#`eMe^YJV`fEor9CRLsP+0@YuhA744j2 zUqI^xv|>P)fQ>nlYiZ+a+IMc2Wl}W0{9n)%A#av|rnD*TeKA`yW0dP)`^C)?R*Dw? z8yX>{E1=#l*W9T)C3zUyuAt-AW{Kl1pz)6w6)U2W(MieZNmqQv%Qj0ZDVp_fC<%Fs z1+>CwOPR-U$y1&0Hy%!MY90eA-G4*HQo4^hZ^WK=9sIH+Dtk7}owQiDxtj$vONzG4 zcT>%f#INrVxofQR-_YWJLo0Z#^r)AjhI1bGI4l_yT>5h13gf1{QZ)XFK=*$@^M$-w z0-E3U%b2hOl6R>e-1{^*dQ?XL;!@qzc zA?N;Q{DrQVvzu5F=#;5F%vyfa70=Cg#4B=-J6DsHzOW* zgsd(lN2l#YyI;BCq592Z86kl6Le~6b-L%aIaf!{iqJ#y_4I}}Le=eYpZ-y48qmteI zz8_|^Zf?GSW=T=S{5G$T;-anvL!qT+6I$_>(P9Dh?o-@#YZmUz^+dnIhfYu9W zMe%{pxyP|=Ncp}=*P7>yw}8gKU^Hdx;Bl``qN&NmZi+LT>r4WgC7}7QRqu*UW81eo z53Mt;ZQ?MIl&*l%*ol+coxz8FbGuAvY1!NvwE|rM^**xh+N`tqa>iH3h&Y|5I;RL| z{7WJ4Ihir5&*9zlaaW4_{L!QYG)q9ms*#~ro0gXS}dS(dYKJ=7cnMepyff=D^0yY0$MMine8IG$6vzv zr+#@Yh-{X&VkzBf0Zo1J()Kc5T{81!O}pmyR=gJI3aHlFydk5n;Cz>EPO-QD=p6!D zETF;RvD$T4@R@ni%XKaPjIV&!3#ezWmFr@zqC(I3V6AC?bZ`OPSi>yY`AtUNH7s^| zmFCr5sktKs@R$I8eKc-d0R}aujIsNm)YMv$lq!P;6>GY^-ENoQ6Zkv_8NO>VDtE;2xyjoYSmr&8FT~h zIBvNdQd{37B)kQ*SU}@SGP`Hp#P*qbUmY5oCm>1bO7m7XYL2*tZl657ZM82nje%G| zH@@ZuJ$`ZI^DS(-{;Z##`SqrPMN+a18e|^#H%`2bZco*(*A^NzH8;OTAS<9_277m! zQ-twD-s+bpN$unuh$Eo&0_yEE-T6`xzIxqFKekn~QW+tj@oyNd5m>GmjqCRLYMM7s zB5wiB63}nyg%f5M<8u9dUvF;zqo7IY3h0b+zKN1zJe}Kj*xUWh3@Mh<70_(WfZn=y z@O4g~oF}WAm5z#Pfo?6MagP?)<=w$g@}2{JBsFUe`2w0Hpx$?%)$88H>~7|F7gjb8 zV2Xei3#eA!-08FL;B`IA2y*B5hj>c=1pt`TiZS2-!WQrZN%3__wYSUeE0T9v+9s9pjnJo zXnBu)ntSgaKJweE?4YKaoA>eCf?A(1Xy~?O{FUENB;8kM40t=|Gwy9DX*)x$T#~6( zSJye=6D~S!rW)%}CRr($otaSZ5f|MKX#HyEUCF+wtJMuPK4P0wA3p9dDUzhDS6gH; z=>yg+>}q7PxIlvLtp^M^TaU@zGB!Q`enFD+a!uVB%X*x!ZoZ_@`;6p(DA5BG>hRX& zzNdBurAee6A*@=>f9ZX<|61$)4!eK0O1|FdIHt^!H9Nky7IWe|c^#U239A}rjqbn_ ztZQZ}Ej!XzX{TuD4MJkB}buX^P}JYw-)}lcB~Doo<|hvIn-k7)tbU?iK>Niz1l;csG!W)Hr zd=W4+ER64SB|^h}XGkL>g_z5!GebB+IVfboe-J+C;LEX=A|YN}>^GkyyhBB!eEh@x zIG{O5?C%pYodZUNoIYVpd_k~K501C=@f8AAr-g~7b(lMoTft%N;-G2b0KWjCd~QZi zcnCi=B|LP2sJ{?j9}*tSbrOdz2o3WK5c~T0`~US6-w6&1@d=sfzd#%w=rh-6roXh& z{R8Lv_|N1_etxq>Jwt**L!GDk3FO2a**u%``%HBX3gk>elxTC&qF#SmDeXlrnft6~ zP+%Z8UFb8RPdRjT0rwN1#rdo2I7pPM$3dw7{qVGKjzksp?x`_-o@o2Z9>kne0B zPHEdhm@~Kye~n+${bm;UYY_W~GDrM%>E$=SDO|Rx(|gb7FybcOYbO7vH+fXUrDvEt znm=%Fa`U7k9uzoTG-5%(lpz0^zS2$>`v(ODOZh`MPw>}6Ud$f>K7k9Qfy~nWmo~m> zcm*zz4hbI-^9`99%sj_+{m-!W;6q9OfQ1|!2<<;r{D&olhyHYrls*5$k)r?57Puf( z$SQQ--zofu|E4mFNc(nPP&gMJ92z;h|z4V?SZC z{MXF#_2Ied&$s%72R1R1kbh=Cu)p*?Skq_)FbnWm5n&>5%Y`v)nl$}+qK3_!Hj|4D z;R!OApYGK()sph8y-V`{qd6G3f9xAZ1be4sR260D-`GgdQ zWHZ}^a&)u6Kb|2$VL`q@{>|er^k{Ppngkg!)EeP zFk$XAj|UTO=Fq{-4gPCv{zG$K2=kJ(`BDiI+Em(qU}?ku!x8^=J2X6)rGX&8Mo2R? z6(VH#3lXaL*VTWrPxA>7WXOL%`)6+cPoPu~GpQZHONq0}Pq{pXvYS`tQ^K zf08eOP5J&VPJE^`wTlOukGo7`c4(5Ne+_tZi&@n0X*oe;{nZOXt^T^%(9RDTnEf4|E!g9WK{ZqD!toXUc2 zIP)v7R(}bxVc|i%7WmEg_4Av`mE)$c+?*L6z@r=ER(w~?UE|S?Pm&@_V!$f+rXGO>50z{26E9G4kzRPzK`N{N= zNfw<}JSYOc%sovGg`KRXF^S6tR;$NEI#TT+E{NWgXnA}If zTOm-vhy4P#W&Wrn1&Xf}ze_y@h9Xswp`oDwC^VreLZa66StK$PwNzzXPE|=HBU0gC zj}6!Hi;JyKWj?=Wiql|fZQxUC@)$%<5j+bSY{*A#h_^K&xlB9CfL^>l>i zrEeSVAN}qs3)%s@H-6dErf@!tt&A$M1~Y7M{`O@;EhZDcqO7sR&W{(pY@{ z(3(HBZrz%<3sEv^nt!gO52%PdF7izoT`q}JJp5rZwlItakQ0XPgZ_$gX^5_4} z=gFA!Sa5zj&hN@EE>kE^S{C0I?nQLvv>&HloceGY!0EzXB8ueCF`Rb;UvJ^-Bu<4g z_*vmO;TZuJu!!B9W^j6z(`%fTaQckXx19dqymGynF2A^Jpl-e`jFi+-taE%3C`@i)6-}|5Ci6Bb^IU>jq zL4N$7&U0Zt3v*ML)Bnr<|NlGv|I7dXM{C;u$LGHwBNg~1=9gBVCYkx?I_@9WT7Cb4 z|KnP#-#_qwTx<3J2mX(1tpWeQ`J7JvRvERU`LY*FolOOcImwpPySdVmEgj+GrZgzB7vXF9K{(ZPB`(w1h4D-8;?0e<=&WK#sZs67 zZC4DK$De}Uk*)B3`bx}rlZ*{dPT_#}WoUo&9qOOgBg0BD^{oEf-DHD3m-h`;#D?RP z>ATSF>_v`MdV}gO6-lL?8ENabq2tAdu=n>Y7*!(1+q!e{n$=mx?=Go;d3ds?t*8HA~vh9g52@XE6>XjOU&HKT6e*&WX@)?bZohPS4vmR6)@zZGtY zbZ|vwGNw*Hi<#obsG0f&eOfEh!7kcVF~EvUxPGB6Goaz>LwGUR0!u3f=71i(Lh!3hHqLEZ#C=$ep%JoVe^i@VJ~g6_ z!L~3!c|B~7EQYghr(sCDZ8&1VVVr!j3L}5~z#RqlG;)?ZDSp}xYujW)#7P^Rma?6L z&rji1`zyHTRUHO2iYPN(i;k;X)7HagU~V!A9xuKKj;Xe2HDx{bZy`QdT#NP!ztC&6 zCViXjLPM{wg>czpuq{vw zq8|D7wxto+hR&Xu53BUgz|}#T=wv?-lhXn*a^?yAy73)aC5dQKjtMo6cO=KJQy^_w zCe(b@K)akSC|(rL?cR@0=PqK8`Kn|x(vTtzY^lXPD>(Ad53IZ9fz={0%5L9`s~%;e zYji2@PO8IBsix#D>qs?2$3xc_M?t~e8M8Vp#H<5{u)EVE9JWuMVtGym9JHfjWo_t! zn3+5gsK1JU4)Fz$dd>)Si}vDTr!&}Y%}XpDB}>a5 z=+F;aH~RXj6GWA60?~`b*r&&7w9Y8SvF@KyzEO$BMr)JPIcvJn+l?IJ-63VfYUr%_ z0!m8VaZGD(1dCH>X#5Nf8-HLzzt*H3X+vQXCc-Y8O;BL+1*~Z~4)4DY*U0ALq}?CT z%S4`3U9_ps8&e9o;10STYhhySEqLxV4_nF{z|zXo_`3ER^4^<*?px53LO1$$Fd25g zRmTb^AM7=3EpD5+2csNv@l09`o~%%zyeF1aRnvxs>2`u?{Ue|>_!X3BMq-QNBn+rL zhf2y%aKN_DT&4<%)s3n2(i%9~`Zbh97-BEC;i#M*jMK9dG38<{Rt)&fa>0_G8@f@q z)Q-^Y(-OEa>>=ED7=~)w_Tr}D*O;f3sHLe6x$m~3?oMtLb4&uQ+o|A`-G1nuxfSEH z3-R5X3Jibw6F*0((X-wrH1dHhO|I<@PcOy6uhe2FA7+Q@G#-5}M&jDkI?N4{r%qb> zbiJ(`ja!-z7xZ+o(|{gm|0;mn9EV=*Q?al3A?7_%qNwG1Wb?v|f;6YY+xyv|5-7q| zvHehH@IefFe+GNaEXN+>f8&!mn)G_S3*B3w3yDjYgGY%uK6{shd3y`+x8Fxx^<9-N z|87Nl(;Ug8q#ecBxIy=lXsLYmIM)R$s~6#~F9|4LU4iA2-#8{tmzIxjL-T#-K+@&o zklQ#Amz%G`q=5Z+A-|Ai(Fd%3tVE~sTJxG@L)~;%Kw{J$nBDgk>`{!x8l8K%zUycF zdR30b)oD`acgFN>oi#=E$%pIifE#P#F}v$wyl3+StDp118+%=fsxze}$L(ptNH;2U zUII5qeSx(P+anhE;j?8M(C_MQe17!>CS6jeb<2#%a=I(Uu9^;Q!;?YAUxZFhWAJ(K zQT!--2`!_ZqtdD0SlXyYY4!S~9@h`j)3(A{HDg?~q8}1gr~(B|Yi_-R%L0qf`CmfCY@ z`LPJc?fQw`Qq<|!c~fdz#pRtF5093ng4&cisF8F<^URI7e&Zf|Wd9fk#b{C|XJeYb z)scEVSpjWSuY=4`z%tK;7`7-8?|wOs4r@Q-PG3#ZIBZHk!yIVMi$%~Y_5_@sD386O z2jlI?tN5twC8m~s!wu_{X^@v5{XT6C7T zyjG@}5-8Y_Y~Ly1cJ?%gMr-4%Q-pdIK^QlC6Xp&t#TAWmqRg7$Q^qlErPx?gBt*8OweZQz(Y3xjW^VDRQ^ zIM=J5=YTp*4L7GtS#4>#$8dP5xd}$k?Ti`LQ3zXdFs1DsR9p0g=ZhM3X1*VrZ$o=5 z0-!eo!_u=`FOe0Oui zV6}00>dQi`Z&`qoX2_CRgf^|7;Y59p?tp~S+YnXK9!o>#qSKN%ynpsEuOr1cvwbbj zG*KY6MPeFS|vrVn`a%AB*FYFiAfXx5nPbQ|0f_G(ewDCz+AfO@HV*ay?8g z(!}{E4&m775)@r|jz7ahG(bs>mbn>Ih{T@O?j)G@C<;nD-Gx)1%`l^O6!!CsLMO*! zyxspRUXiq*Vl<-ChHNmsR0{rC195QbR*e0%5BIBH$9Z{gaOt5&Y`@KdTK{mQB@5R= zznCMi#Jm9-4$j4tj_2{vtcTcz57v#Vlc%C=EeZ)RCib{P=Qi72I`8kuY`q6%l$i5|`a`r1;equE zJmz~E0}Za=BbOTNn)U-*nVZtWb@r6DBNm>1I|je|T40~Wn{Y+-e%95lp!2cM7^NXc zTjZ_i?s*r|o#zBgMImtDdKoC)^}^t+H5giU1uvehLp3XT)*}qaV}%`6ZT5!j@!MfK z>-a|=^~4mfNYtn}k0e*dwrNe{w5@3F@F2+Qa0({=HbA36J$a4XjTO$<&{D4or?*g~*Yho?VXZTn zj_3&Hg&}a(u@GK)ujD;hF-9am!};%&NOiX^)$FyVPkL_D->(a}u8x4|%b&oqM;&lY zSST84WTTd44bE3pRzG$b^$uqzQx_W<;j8f7I#eSsBm{S==9UWTFF8@ zwlW1hR^(xbeiiOg*Cf?Pru1utD@8bVq-6uOV9ORC__Ey;;};L(wKSU7)WbMox*PHP!`nDy zN)4_Em8CPmHst2uOfRO70Gko(;AoNxP6!{2e!Q1gbiIRtvF~t>SVZR6H0a4(YjP?{ zgZm%f!uE-_STcDY?i{!d(_;^##+(<}zvXA_WnfCnzBtn5&RxJ=vJlGh@GTVze|I$m+r%={dTyA zWrEeRBwSZ~6fNd_#Mb#r6ueoR9{x6`qv{SI8x;gbeJ_Ejzdi4zcj9TgL<(x?8~PKGPuE z^fF8pJ7SRE91J>pLb~T__xlxgxG6`u!<|UEWdn-HouHy%%v^K-HMsxHi9gjaJTt@pXPtohjS2QS5qu2^VQt`B=!ROTQ zMsX(w0od#z1-76mTxm$LpXi!E)6TiANM}7tw^4{U$>+&##Z$DwhMHbI1MH*mB6?Gs#uiG`@v@ttXc5|OZq8L z^0gN9qJ=4u_I|i_>>9kRcgLLRBXN%03fBFu;Wqat_}W~VWtt_)KCmalksYAkHwrx0 zN#H_&3a@EtxT13v&$r*0Zmdq8Y*%?`WJivv17X&xG6)<#jN7>dE%VOe1djT9*-L}Y zO<-LJU8!n82cpLWuT=Mg>$5u8jspR<}hM;<*9?MxDVn zx2iFGlQPwuGo>l1Zsgv#0~jq|4fXf0f@)p>UU1LHyj8dH%l5|^y;z~cWk(e`%>PZ)srx+ zTjq2nS`oF5^v4@pH{geDSvYh|DYhv6is_>?=}luRQrl)ndhxEbbxa~yt|$f_r`Bi@ zJQWQ)ufmu`DQr8)!!6atcyGKB9ZI&R+h6X3GbrHqK|T0;z*geYE?dx=Z6*fiYOvp< zuQ;`<0X=PPM_w0AVQbJ5$ZcTn6KOw&&~Bi)!iG>cS;6! z$b5jwb7ZKMxiHKW5S8{v7U8t7YPkKfi#K;y;BG5l~c+J3!@`S1?MX;_o-Ef;$6 z$r{e5dqYxN2?PZ3DZ@_d*e-el_rCay^PE*!w`COu+GR0P|6a-e8?3*2OaXu4(v+CEIclN~SN#s%7>_TGxF_Hm)2 zzNye*^AFgyv=cr|^Tw5%V|m|^f_)~R!7i3xFv44le)Afc}ht7dM3$DO`w;DKp z^G>`mB?l+9ypL9P$~1e40i}1gp@cpYU~!8K*tKmX>sE)@ejwrVooo|O`iULJwxGRF zEohvEGgXRxAaVJ2$lV}^9}?Yh?tX99OZMTt`48~t=-=2nP@BfzGNa|UHbehiXQ6wx zEq1-I66I93U~h*@Y?G?OHFLjX;w~}u00)|XHvs1DPl3l<>~Mzl9JK3y7O%S8Lj%8e zyyudkDb5yT`pk*U+z!C<#Txiv^9I%r)1+g&kk6oR9;`raef4NUfekHoa-|Q&Jz(>o zqtI(`1I(Y?9p88J!y9Μqw5sCDBd{#;h0ID-9A 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 OHCc!cW+ZBQ=WN*KH`MqBJ|5VGxgjH%%s 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 +b)MY3 zI}({0U{))5C*xGGc;3dQpcQ$j;yzCF$+P@aHVo93Cu}!2t~q z?HbY#l;ycpk_5k^zZs;m=LP>p4P{bTE^}C+f{#jl^s>AmWumJR8sdY_pbuWUW@ury zk}J0Xe)5Y{XTS+f*=$X}mq@Rbiyx+`$k~xj9Lkh~n+B=#KY5~&?@R6dDP8NOkhO3_ zdLCCod;XJM>qp?d-Lu&DZG~o~5_>ePsG%FQ*>;=N>c&dEJI$%No_vlUns^jBka~_^#G2DS4nv^DZ`t}*De3sGQ zCdw;j93)521wL@4x_R-60>-7mYaWv8dmjYzzRdTPCbivXjZUYB z{3^*wBV$GTIluu$QubCKo7p=h~7!T7Ssp0J@NwL-I=#?Me0PyJf_ zH<9f7%LZ?PyKGVc?0qsC9W(Vb7461-u&kYU6w1I&CBdt>l68F%Tqcp6n8oUywyor- zX1%n=gJ!}VpxbTN61{UVu+vjAJL2#gHv@lKkH4!wx}B4F;m*P*%+-f&*artUU8UIQDiD_y+S;I(Jk$c}BItQ(I^v^YU(i$eZ2bY`nQbk*c%-NE&bP;x5G&`li{*Vu0Ed#`ie-Ae4dht1 z!j~Asd~%tLqP2Jo%JR%Z@Y0>cx3v|WgN@*MdH#+($L-qFPv`kPHQ-sBp~EmSduQVb z?F7HHjopbka)9Mqb$VMzCFSmIZGn83o~jJG`<231fPU^c8iOs&XE{=}eyiD4?=MMn zqR}XALbI@5>i4A%nA;#Yl`y5*=+Dd^3*eYmbDl!s1jXM!4{XYx&o-MrBVDce#D_cg zIe-5VbaWdz*S5;QJI77W<8=0s2H-!5fTyt(n3@z?I9+<#J{?`fQMlIQoV!(E?R|8) zaR<2bdUzDW$)GsT41O3sCsXtJ+8a;vFy4=y;Ido65M%LUg`&9=e$;h^r+Yla%RJP? zGeq~1!8!d1#=4BTn|%8D88Z6|@Dja*lP*OqnTc<-GS46n9xaz%r5yZ!xSqHE1h{Sw zF#1USSH)R+%_pPL$2#F1dW~K^R(;&0vf5znEq2J1HO&8{%jK&rgMSX9js(fIGM5E% z=IPC{4E;vfffdE$A9+eol5BeP(!jGi42K>~ZRmt|sEzP1YAXOQ7fXzZcUi(7Q3tus zfN{*Lab!*;pp6WHt9gM2_6z*LE^>V`=>_u8e4LjeUw>4Su519W>m+}zU6-7R{`y#p z?t({A=m$;vFGhjQ^umWx0sV1l-9E7=`9G=XrG7AXhJv>&C3iC!F8DRtfndBoUAaT& z&_~+o|G8D>8NVjSuQ)riBZZdMpltrDRtKP-n-z>dt`gdl-G;{}#^diU0Z+LOEPo7| zkk)9L77LB4qPy>&DhsSUzQI=h zJ|A|iY1GN(_IJh$E}YNmgeUX~HR?K;P6@b$a8t(F z%6PMO@gA0>b~i!S^9SAGEOp(+*I=#Of&G)nf9MR)TpUeeC-O1<@n}24DeI<^Rkmme z3w@X^HmDQNm%Q>EJ z4)0$X_-t!9j4NQB_2J)Z4w1Xe}dk93G;0l8m|7-rVwRtN`3Hxo_Na3>GVO| zha2#kO87g=!yzY;OZ1)m^v$aAV=MZu1KhhyifY`C2G0sBclD-T+bNZ%)gYJ54c@FV zc#ShYfqd@NCDc%RvU!@SLyrze)82y5V8a=B&YZT~U{|okH1Ll#f7V#ENk7pvsq8&& z#a*!v@4-QN_S~{y`%B^FT9IAtMP^}lFz;s6`f>V(YxBt*w4=xSs!sip#cb-wtZ@PT z{d1A`fd}e7`zBJUX_e{St=a3hO&xu8DScZXaF>$wlp$bE6O?)r1Muh7MOP@EpOrZ$ zd?*@}T(F*5=pD>xqRnJ)yhD>dirVT{q}?lfqB3=%06u87M2!O15jl%X*`c?HdFCej z1fn@-Rg{~9E70GqMdLl3?{OpdT_jv}J+fdlJd%gyqnF1q_Z`L?mIc;YT5tTm5B{5e z%!F5Xj&-E#PEKG4*=pLeAa*hwD#{j{=9Hzq7vxL`tXjX;FqY5z9m&|DeXnmxf}eV9k|0;ddw;CQX(U( ziX6P9AHI)^;3=cw`$lpeexltU0+x1AT{Xa!{FGMO_>w_jKBwT9N0L?I%K1$*^f~=W z#Yc^npf32zYN2sLt92cX>;`#yL3xe(j#kSXz5Wa>!15~Ju`e3Z1Khj+!&C8$ckT$Y zR04YQOrCQDGs6k+q^V?2fbs42P}qMg-|uW-XW20P@}uMj>l%=b^v z6@JlCn%l$&?D#*?4{=7y^L=K}>o{=l&P4lOhWgVSjl?9ln`7MDHR+`;qkV~mw~M9E z=>gXH8~pMYz1T`Ea{dRcSlC;9?(SrcduZ@GIBGtmWmkcdC~|T9P$!1g)Y6{`@AUV}Jb7VwZ=nbI=D=AIh`+jIQzz zy<}}gyjw2&6Y#+Q0IRx>uHhEAU7`AW=^6T{50sHSH9dPZ*`(H*D*)6^M zuLZC8%S_uFOF#b)23tV3jRjto8_c%*c&CPNhJI`3zga7tccHx* zRSaC=9vKfi;RTw(FSml*uL`DDwkSh((a%Hj_}OjQm!b2$tp!*4ps!zClRX(0n)!4C z@SY~<$s)m`27;xwhD#Yi-~JxIg}X}jF3(|?y1ce8cu*T%V67!~v?rHisr>WbKVYjL z@EqqEdS%o=`&VC`aBL8FUrF{h#o-g$#7wtIpFh+e3>ZzB-oX^Kz6-l?3gFpoO}nQ) zK$BD&Om4FZ=Y>~g9eJbQ=uw{w?Frb@M7_k0Lc9d=f6tM!NcA^G9Y6n~wkoj5$j3o$sDjI%l40lQixXb&z^IzCCBl?@caOZu{ zmbKu&z0P~#2u`~lKK3j3bVYnojo}>%(M0so@zTljKlK2UXa;V(1l>kM9dEBZ;dunJ zmp`*}9+=T2_`9j>EU<(xe=pbh_awN?BC;_wLj1mYmj}M7Ww>)|^5eccm`- zqWQ3+S6-s2<`d{74v}+sPpb3wDwukZ(3PkoD~X+0mT+WV+>__{dCrlm(yl1~;8#T# ze1QGH)9S(DOfrng9|aD%i`st?U4sQYqY?i}JMgC`==f)&i8;lcQkVK;P{9ttekV#^ zGo0YncMD7s56MOT{Q&TPFEIK!a6>`(`m^CSV(C9SfJwKfcPopJd%gT_{$Da@PHN@j zD$8?T9_PL)My;ucM=2O>qphCRsXjfBPX8GsHCP*?*1Ox9|MnHVVGaED_=oG<(HHN} zg%9y2_b?uBrITVYX%D)C>>{6@ePT(Y(EqdNmpi)}*iJVvD<5jBm7@2r4=(+VostvD z-&l+9BbJO+Pd)Tr1Md42X6&cbgPP!%S!mh5qhaY?v}@Yjyj+pD)AabWG`+w9EVw`l z-f{$Atr0w-ypHb#tg9{0$^wk)xY~BLD_D%Loc?|={qsn$=Vi?HzC7Os@DioSMc;`R zYB1XMe0&$(nRUy+dnT!$e>a0KY=!?r0&}>J&anrc)#dolmXnk7h3rWB))(sx2E*Tp+;O-;Qm-a)mTN|BB4e|ygYUUHU z(Zya54nZftyT(}CUlHoKId`<7jf+m)@^{JkK}vF$J0I+Jz^}} zW)zsqVX5=3C-jXX!|iurTF*&EdTigkFK~I2$iF)-U7bA#YO+ASWZ}Uq8i$@?HT|9k z{IfkfGCbIkvlkpC1+K>hy!a4U=@0Z+Gugp56mQ@Vb_S%t3uS?MEHz{V<|vxwF_-gx;&F`%I$lNNC=VV&-uN}45i=Fek z>Rt$dOrbYAATJH`hM$f` zN6;CJ`UAe|*X*HZzKdcA2-t~DNPr+1c zaL(%m;&mbCs+F-|%Th3+NM_^R?3%iXuWB2!`V_dN#o(}Qm2I21@c;9fZ7Y%Iv7OA? z=VahSsc-77rzWlkzgnuoKN?)xi(Ks~yA}_ReX-O`5oBhOy!|n|Dp`>uSPP8^YMa(qD2Z-$<#noRu%oPg(>p&d3GNrfVT{@^Hy+(Bp6kR_VZ=X5djyX)naLw>_A zZj;4Km#}aXKf`VOW{URi^>lvTcz6*5*kWtuz-r(i&ou9C<;ZIDP<-9*lSdIDM|5qj zJc)?MlXa85xt*B326AWZpujnFSye8szelRNDIy14h;w`Rq&_AR*7 zj`(G)B)hi1;nBmmPhLn#S1O_TkD@m^4i7S&`*gU#+rSn=z(2~6TecW4mb)S{N(^-a z`TxP}0%}Q)^eQr#n~1C@{8n}Oc^ARYRTKP}db#kiVa1FF^y`lT+3k$RH4=Q_n{>TV zJLRrtFV5*1G}-N#2XpW!yhGF0m>e%(bmD&S^lSKzm%~nz3o^&!|uPOPjrjZ%m1#HZQXHk;Oo&NOG z1L+B4@jF&ROTAYDe`kgbl?s}+mmfC?2RC&@les_>e5UXWE|4cEB5y`|F#%6qYd9Dy zjd@Fb_jBu(e=i|1cN)UGZoZM5g`<>Tox~6&Rk!*`uX=$E;ul_EZ6#RR?-=6_4K_ z@+t?B!5GioS_v#;51EYb&`NbAbG0sc05NFp-g93yHo-}m`hBUyGl=HChz4J5LY8C! z+ROs#Qk>Rdp0(kD>W5zcJX*3TaIoVQ|5=rkgTKDPZ?s|e!$W%C=HyGvMU%J=Y&(R0 z{ak*&iRVgN>=els~HI1uo->RO|Y^u^rzSOF73hpJ2M-OQ-5tU z@*VG%tY>#roaNGBI|+C(cEOYEXKomaCU__Hs=Oq2v?W#yR$RBXC!36YRR0XY8+$-x z90#r%@Q1!V3hz`yX~m3X+^tsNKRe-q(!tywkuh=7CWHHU@IJ)T54e#j-I)HV67}P|)~1~Yn0iNc6aA*wI}OH|#J!n--rSMecmSR8 zL$JY{`X^(8erb}KOlJ$u(m%@YuW4Yw2c>llQ^DA61jf$Xt)Mx*#dG?DzQYd;=_7j6 zA83`#)a_pC0@)XR?+kj}Nb1&QbmbwuukG-zrHh=qLUNFc=EdDpcgv6Z^k&{_g>Pja z+RJ3A>$p_4>g$bobV6lnmz23|GI<8&75v-yXy>C39)NbMIgk$>G7Fm%w)Psqpx;Hi_wF=(-EG)8!yu_?tvGaU*DoRFsqZIT%COvj;kblzQ_uG z>kih}LGYX8`sC0z)smWxu1Z}`XBJ#YPL3ZLX#ar$Z{pvbkUGq3O06rDP8K)do7;<4 zqBwVb6z}R5b}hwdDZ$Uld_BT5tWPFMZ8A9)!1-CyFSJ8<*&PnNIJy-}beF~GOV{DQ zz}tP(9gMO7jrapRCN1z~NAMok#M@L?xeMo>KFAAR%~=DR#pCi>TfD!15!Zd!^BMR@ zGV{O_^qVJubKi8b^v=+U=d$N=a;E7i3S+4+|7NvW)*a1emLud%pxlOj? z?{$NJf6B~Tl6_9K(ICa6KfEnvH~v>ij(1@;-9)zRQhLT_-0gedK-a)s`QvHaKrZBR zebLQGaVPQjOkhv!OR^9aa<3joe-aHo)DJG_J-?@eo-^b#85tK1?X{uY;mP#Ir?~S* z;T5h#E>v$kQ0wq{#E@GGr(!oWiqx8(VkJlxmiK6%U~;8H4)McWS?XKj%W z%dV}L^f>D>bu$TUu8@5MiEz??wcXa!@Z$_4qu~*KaX!!g8u=oFn5!Mgym4WU4uq?y z${yqpa82PEa1y>$zPEGCeBSJhUd*1GWoXNNn2FuM`yBB&)}#(sN6+dX?KN4}CTDc9Ut)Az$=uec+|`NLyd*Cbzpe`sNba%m>bBb(W#yI>cEI;;x%Qj(k&i zj%VD{uDbA63I1R~?o9RRr|0-|D>92^m@3xvp^qN{?$nN)kSgS=bP{I+5BN2~tAQu) zgx@(zjz)}pDCmqvP2g-?E%K-)Bpg3)AGOF&B7`M9%C#{H2?ll*(m=l4glk9C30ejRvTe`eag^1^B*lsSEZIae~izPa#K6Tl68mFVFi z@|IG$`1Ze>>fL>V=A|Fmm=%Num*+Eye86~m1W49(^$ zIA3Sp1y?YGA^M>pd+r)9li=;n<%s-}2VfI8XOGv0Gg(W|TN^GWm>na9viQ#$grE1Hmg}iKN9YMX(L_$d6V*|la7>c!wC%{>Hx>MD449M~ zxZ`>9rPjhtMY5~*4;X(6ID$-1d=)PFBph@%I6r6hBmOW<_pAkGo(R6Sot~*HIfN4R z_O$x(b3gnRjb*Q5UVNS&XfoTQe@Oz1PDcx5OYNM4rlUB!e+H={`>OWBieM?h@Qy<3 zuoF(*0{>Ymz6~exFrTVIN9&nfPC5TgWRm!b_mG`|^ypHybnw?oawEo)_cTiG_vI!U zr=zmKrt2S`h4=roeI`knA`Ll1Rqg&Tu?ySuFX9d0$3b!>Ct-c$aVT9V{ zS5;=%Pcodn8u_|`z;d*B{MX4)x*)`6ct=q36&O&o6pU&#@7xqD@)W!2Du<_J!%T>UJ1=?X}k+N*_{-v#W(m%tsNwE z9|plYXOJ0Vb97AaF>yIXy&2u zC{3+g!yIJAo!?gQpv?Q_^_AU!$!*%jpoxeE=UtCZHBH)W?Lr>xS+X8$X%Bqud1p)E zh5iR!)oN*%mouL`p8u{lIIAOjh)oi?VerSr*a3OgVB4rXc_pKn1*dQpDk$S;pW!ZB zNPb5{YWoRth26+KoIj!evtg(GtU`Vdp5~SG(hbR1mh21 zY-g&KX$c?G8EvBp+_eTc#}D*ujp*a-s55(cS37`92J`cUfR*Nh?Ubgz|CL$}G2y#d z%)ashx#P*_@Es57Wi0u;>v?|PMUJBM$yg8VhmS7uqR?caeHudU?`EQrmJMBRKSDSk*obUf3SrlQ05dq`~U#dW_ ze+vE68v28>=rrt^YeISF&d4W=9}_v~JcFuW*a>2{COVsj_&n^;m&}0o4TBHLp_i(x zQESOr8BX3s5Lp#bcu-DrM+fqGs-ih$e_fv&^xKEQQ#ADHtI!M0#RKw&Iixy!17-01 z_SE}0IM-%qgfdl|=Qi|R34+Iz<>UX59dlb2Su(B1{w3e(ki6$%9rh`uo6wVk?bbyz znqX=uV>CIi^n09`A^D%!wFt+5m9nab8Sh?Od^Z9o%IdTfzAC@u5uD?u@C9er+$B>BDfYSGiMj@WUM8nV-cAb`Cv4 z0rR_&=Q{+wm4`;|x2Q|td)|d22RmSLr@)vMJ+uRghscO9gx)jCTj#_wBb0_83FJGR z2`|_M?z<6v&OS}L{Scx-8SuPl72*>Df_z`N^$bIs(rIH523NMF|;U38ex2*cOf zlI;^jzhnXT*@@mJjXclAdL^3*=kKiEY zg9$ppOPpmsZHfNgi8_0oJgOv~k1H5buDXhy7PqRLVJ5xB98G3Jrxg8--kAGqUXjme zOoG^1AaF0yXKZHQlB+zrby>K&(|DQ>kyllhd1aeDHL_@1(vx@7k6tbgX0n;Awv!V1Z1iqlRgulku3-G> zQ_w{_^B-B!FV_)Yx>qK70(5|j?k1G6#78VQ4Tb?dDvm*1c>ip*HB>E1Pa6qG1#rM|= z?`t&K9y9Qtt&}Q+`f6S?dg)fFJ9tk^(Q~D6SJWZHq6KwkuE4j^er=V>NWp`I$F}bm z!?tqu@p^C2jUQ{F1uBhxV~ce5%w%+!LT`QmPlq4%A_whjI{EoK13hcs1GlP+#%dPc z=nZ6eIOyY2XHid@!l(YDPWQ~v<`4Bl|CY?1>;m`KhkS%Ue0c38bdcKhO~Lx$6i56& zkKp2aYU6xVvtvmd zMpw}q|8@&}O|JA3k<1baXppZ<*~k9{Q%+Q?ow6lsV;^}p$zW@#;8S@5dnViEC-+As zc-dj}*4|*pY4jFHshN%O@_$ps9sML?jZ9tvp2Id^j|uobdTOHItCjhXY|ltF-~J(a zCQ0)^2!?VyspW$b(%gh>sU%V|ig&iK>2JG-?2bNz&U-YvW z_3I10`B8cYD{7HF9)VWuA9?_WWGV1D^7=Y3mzwE~-W#k^o#9x@GFPNZFGBO-`MU`J zp-E&GM1OvaE_eezY;O~qb_oqQTEt~0k!|uue+Xu>S}(1x;(RpauFBE|rv&3adWW|D zlO*yfc2xDo!@Lf>)B`;61RVYU*vYe2#*WY=Iz7&tO^?W zI6UJPOHAixnE=l*Vkc6_tQctd-Yg$MMT*6~$E=6)~T zYsN-2OTj{)qOz-5s`|Pg`>%GugLV?00M1JoKBjg$yt_Vj(gBeRXuzXry0xPpvs`_8 zjlSrE8-PJ~0~1Qn(3(%$>v2w=tV|Z%1k$YN=On{$oR9Wix?hVOc3siScJpiY>5`TfKN&Kwj zVMv*keTs57@pO}2v=MH?e0W8%3;f*6(E`GGJa|9z@&`0eE$K&x;9s@j zd-Gz?)^Bi*JZ2axG!wSUGr6_4#Nj%c@RpL;iwTxQUFilsSk9PLw-y?WUn;W%ShWo~ z{ZZ_*s|t2GNb28mq1v=Ec|@)I7&cGdiMHr}XwX{Y2lc1c--lm`HcZ^KjXa0f=&07p z*PT3=&yUOaM8SxUfO|Cs3pRo&r^xNKEI8B*c>ASl_cdYK46Dl0t0a+=-vb}RA25(a z>heeSoj9{=&r(L)A27JMEBwuwKsZ2r1>5M~LgjOnZZZ?rQeN3iX8)%hcfku)c>m#G z&?U7bA7u{Og5uPVG;QFY2;__D%q|gVDlXw8za#owt;?@2VB8tZku@du-r&#kBfs;1 zlIYowjwprJrZ_su@;vwU>_iGfQ`ds|y-Q$^ZoTnAmqOogihF+rxOp!y$Xx13RkX|< z(1D(j59}%fMm(l4>B>vamC%N+mP_ooqeeCRN-k(?GV3$c?BgBvj(y(=Jw5uL`Sb+4 z(O)~7JIs5ogAbBbUnrGrvWoK)jIZyz6rXv4pZO?yq&F(Nwa9O8MGw&yUZ#+9Z$lo- z6y^lDD*U#1i1FKjq4@UXE-Aq-gL!DRW#;^cXogDQIeo#Ln#)|i9vti;JaZ4Q^KRgK z4e8bT;?+IOo`oPyXnWY{$t*xN+LN(pyH3zE6zA{B)TCmlW%&ddK?DxZo`r&JLU^nm#`qkTH_sJqZ5MFV*wD#~Sh2D4?YQ(x*Qxc6AXBr++=$kzPa0Q zt-a-xyXDYR&P7YKi}!ex(yHpee4gWlThbI|X6H3{h-~mhV&Z3)6@HGQJj$N~Hi0WA zz#F_rZ`2tM?T7UAHoe4Bx8rOTr;0GpBYH z+K57W7%gW=u-+}`3mH(^%+wcEv9E&Om<*-jYQkGb?&P}UwG5>eO6t0XPUN7JVy3Ld z98n8>)=!PhJ5~6J;q&Qb753n6XYnU^}_#pnjF)I+ndsLna7 zPDb2M4ZRrmosE9=`CRgQSCgNdj28JNIa=Q28I++H`l_*Kn>o89?@3oQ(ss;H8O(7r zIG=OD5ymrX+2Akl$;>|pU)EwYm=K|6O=!@FqCPXzEq@_zv=ew^QS~OK<8OmPAGlx?}vw z-PlWVkGtEFI_-^TdnfwaMP#vDkrKBJ1BZ%1)9I?Q(@_@x3_mn}p0jFp;{vjV*U`^h zrtch%HupXL%>=!rG=zR(JKhTo4)YlORzkicPLOA%g@J*Iz1ZI;*tC_~+=SW8{ zzm|mV*2-rz@63KMy&=p6*?7G6fzxlni@q~pwp|JK_Y3#K(Y;&aeJCUkDG9!*Hr~TAV78eW zpcZ-yRc4RR;R-+Pz?o9uL37YQ7Kc9>fOqXH{M<^kRW0Cl3(3f;#EvBwvPFC8!u#CQ zY(f4=o|NlbS*pZ+()P)r-*)lTHYG%Kp6Y$YJdSxmR>(r{OoAoAV%P@-sfR%Wm| zG>qLTUS#Rdp%2N!n-W6a>Ui+EO{VD2gE=pM!FRTyyWPwCmV!?u+`!&%aG{BKR=3c9 z#Dm?{(=N2W0JlE^9{L4ZSzmG)+~CWrg0a>nryvz>P<$_8Qq(E2+jp7l@L(I>vEl05 z^x9ytoAF0E!e!B~A9>5Zfv4m`JmBmeMgQne&gweO#4q^EWfD0TJg4@24_~}{O)R`IASlD)7zSRHne0B-$gX$7hLsRHj}TK6vTV`T0(n z;7Q3Ye~U)G6u4n){pR3M`k$r(M35cj#7U#_($OHLuE{aoA1{IV_%IACJLQ&OEAbr_}FXH1Gvz0 z<$`CdMAzM)?=xLF^|UGV>>zle$m$Z@_dsTfZ}jh7(0CnF4lcLCEAOKuybVN$oWVVi zOwXh;o9JlK-ojlcpnK}i9>O_b7p2sPcIfn+tP9)RIDl@ap3d%Y@BwRa7U_v=^L*x! zbsC_n8LsqcRpr>;wI#3N7ySP4@7_@o0A=(B7_v zCn?IEp$~CEvsfP9z9hYN8G4tLBF{0Ix>{Jx)y%?wrE){T1}E8pB`<|f90~q<3a^&~ zIjgtSF3V@}&whhVen6wYo6qmdOjT7{+1(!PhCR4SJT+|x`jQ;^`A!W; zg2Cc^$;228SF;0taV(hWC~*HHXl$IwmYB_VYoxEp!aGq@7g@tm&HV6RS>uJPOh3_* zUT7)aXKQfA&Kf%>)h7}A$lqMdj=F=~>sQ%nl1!gAj=kx=a0nLzFkBJ1Ox=+Ki!fq7m&~p;?#*)a=vInvUNr;$P<&QC;D(j;?8dhE`I6!A zv(d3`QRwN>)(w-GiPR4Ed0?5@Xpr*Y-M4DNTS}3^=?+foPfpqsvaau-4f;rb+zRgE zEbqh7KynGthmjwAf3V0EKxaOb8MrNc`$P4gJ(=`p2dTNq?DRpe)&`teLulG;;@;jk3V^w$VqmguD2Kf4q!Q z_Bgz-0a!4k&Z+ z!ZgCST9LW=1{{SW@6R9l)J(DsD!}vLnQjsT7b|iTx(h9sipK|DxFI{L{$*wfBa7!a z-hjSj(`+RBDw)3DOwM%;wV=EUy?s2Hu62}{6)$)eYw!*xGSlp0J{rJzo&$Dr7LKhr zyG} zoA=Nl|0K_K8`-h9Og+tg_;Xjvon5_|Czp_!&)(CjbQGAma>6J>2a z8?Xkg=6W(pWOfoollgu`ClenGAQ|lR7<0o|;k{BuoVkwHbTw!3I=yNZI<>Os2J3?> z=g}LqL2GabZTkxLQ#%xCZX918rbiaJZlQWYnd-(FRtv!??fLVPz;5livp>TnIHE1T z2LH50YJP13yH_i-kEs^()MNBFN6C)K13%bD{^t@UvBg2K1~+m-t<8-VH#M-=mY-Wi zJD*CAbc@`OO3Jg`yZHH!Ywm7u@C`Z9&$q(A*Oj_<6|OJ?jJ*xs`IW+}jxKwc`sWI} z-sk;~T%5=B8$Zy^F4K4HT%{kMKrZL)Ot_UWdX3IxjWou8ks=Eokt`lEP1ciPzh9dg zQw;5aGxu5no(+3)?5y#zy6gBb@W~~kyE#gqTMr+lBYmk4`ptZHwt2uKS<>%q0qeRX zbhu!HyUFxh15Q;DP1aEQ{Ox$X+ffhuqF+mu+CS_^O={1szUs^fLpVDN@h49qr(`B` zMn8J8KI|ar%o*6tyV9L^sWe{R#q=p2cs16lA`fCqsi`{nt6H(I?NoSOj|LDST&tIiu55kz3*a zES-1pE_>Fyv9rR4TmiVV)J60oe&_>1sSf@^i*k$i+<|^@A6}};@}4gF@SMBRLWOeQ z_ool3D+_Pl0vT;c@;>q^j&ZK;gKPeahuNCB{+S6az9jZ2lVw8I@gB5J(M3Kquof_? zw(Px%($adaBzI~K=O{>boSUwTtlVN@ZJ58^$Pn3#hxD#=E++yWf2Gjeu!q({sr2YO z{PYtvxG&)hYtxVKMeA&qelLw9GiZk@ywBZ&BGJ38L!&)V_EtIp9yt!^8IijHEj=$Rh5YG<@W$;ppY2_?`-sJ7W|uNFUz4Km55taJW`z z@l-IVBfO(6@r*R%ym+yX!h4j!-ZU%xXIr?N z>X6raLlSot**csFp+kAix$dNowP?y`E6XhS15I-=JlI!Nk>ACB3pB3V$UD3wba7}r z+mXT1kldbE)al_Sy}!_j=BUoH2Ruv&T-K4oB@VTyE0y#!?_QGs+goDSG@9`e`2U{J z_rB(=KfzO!30E7=`Mgh$SRH+BNqXGg?BN-VXEu?ZWV^s$=pV|l&!(nkdb|YvWF+tU zaTEFu=7sb051+Wxb!G)`xS2VM&`3;;QQ<2tvvYL{7itg!7f&jt2qu2T`%+qe#*}Q6VT4p z12?H9va4jLEQ3L0Zy&BzM%z|SXD{Fjb>DwinRTt%hbiIRuF9x@^qRhzO6jb z@6<4SGM?uytVLcHS;n1{so{7kPCU>?=EQ)NjuF2XJZPMDtojh}$B!NSa>)0H<%$1^SmErF~;X*yx16~C^ zV*z@@yJV&Xs8xuZTxN7+2CF2Imx%V?k9j~vleeh|H}b6QhvuPrV1u=DIS)^$EhFib zx`Ow_piMZ3*0~oRo@@G@>$d3LqVO9pVfG)6&vi8Z{YIRzVEFy7QtSWSmDl90CVRjj z2b!khdu+kyIgY;jhW7NrI_8@(=oee!C(1`xHB*g_JVYi&F|)gyBRcl2^kL7L`-aJb z>s*FgwMFYh=F0gfX<=L??MInPaxteya6Sv!zagPhsV&hHGRu3Z78doHLw3S1j^ceT z;GPJV@3cKChZbJpZkCx#4&cG_<5PSAs1><1aW72wDkf%_=rp7!FiZ2>QTOpZail36(e4)ZG6wiEQ}ZI9!- zE(wQMn(z7?9Q^_AFZQwAoQq#$3Eqn|ePoV3dWviCr2BX`lX*|Zvd1h_xjDEK8H0X` z$oD({EuWnRfAQ>llWUSl-fO;ke8Orx)=7B1J8}LJOdGy$)7ZO!7S0kM)KThRS+pvS z=uSG}Mct)_-Ycnt&EQx61-ER2#%&`wj0-y=n&H!QXKqh4u{W1&DSPxEQ@}}9NROK| zf$s@H?`qBboxzz()!D0zzHJ0GAs#Kl^dfIu_VF6b5k1ihuVHq8Q+MlFgiV$`aYz+A zD{C)&!))~40MDcPx|iWy?kH7jRtAo;E_y;2?(!P!iRewf048}S^-c_@~`=Us*%B{I0Q!f!=(*}?qoTKiJEh_YnMA&fJJ|CK?!UWW z1V7YLV^-1YEJWv63C~?mwC(*1$@wSq%1QK>aC&uQvBw1c9_KAw_*W&Licisl+yVPe zMT2&OJEJ+z{$F^x{p{Gvq&KS!&QlwYR~9qH8@RbyXaJ+hr>?I&9coE#o(t#pH8bA- zv?}RMxXU(yBW8jJZv@-=BDh+yr<9z=^~}3r;Mfkl4>QTQ=&3|U{*O8I3m8)u=EeUp zXIq%Z9G>a~H0D6PX<>ODvE86QyhH8u4 zc4oPG8*65xZq(b8?D9_I`>z3q-~+eRlJ8)y9vV`EdutB&`WZOHZTQc2!vo_VZOlGi ztLDt#84_6-^hoJoV=KT)YtWN=;AvQcjxGo;-~sxV+2H*T47;rdqoGUEF5g?M!e_IK zCJ0@-rGozqUkv#%0sT4qYb5KE{m4u{ONMR)`>YDlD!IYGECPpYhDNg+n!ny?P!G!u z)^-!~9KF|C@>t(UqefN0n|GhNX9jq5Su_qNp%>%%L7bRf$P0Od#-xe(4AS6~I8|=! zO1{E(^dFC?B|8Gi@Y4A)hN7?0P~WK z-EI4mb5Z~n7*&+L@V$FSKGS%3oWR1@kDSmcH)l8TPI~Tg%CVJY>B0QqX%`#pt$G*r zeR}^)w4lD|ViKia72C1vDW3Us89i45d*e!y`w_@KgU9r^gVB@xQQbb!&%Y8DiNH1S=4HlFugqt39K@C5x+5FSv89STY0uw+X=2l(QJD#y?4 z$MdN~-!e$-ASB165qXlR}bd9IY}l?6u$lqvb&po(Jn!&LU;I`Kz1_s zH{fl;o9d44um!mwetNU-|I^6&65f7h`iIoZG%{XX*!xioA3y+~sVq6^*QmuMnRyf0 z#}T6jSo)IjnG2VeA}?{ML8jIPGWC~`vEVH<&8;yUKsAjDcS)L9Vt1`13~cdj2Og667Y=#e+P7UT3)cA+k9bU43|(R`8&uHS(8D z=F^rMegpN;tw-!?z@yYEmRaK_*l!$o+hOu+TAxr&)mmVO1?_>luaRQp)DZDou(0*3uP6~&cx)1L3wI~-8 zkFTEAGa26hmDnZ0KBP|iz9rScqi<2;w&NkS07FwaD;98Sy~!%uZ*plrf*yN-G}dC5 z3{D0{To&FrT54Lk1lp)X@^Xg4OI^Yn7lkh%oSxI!a3gFu+D>ow0KdU616%z+furt% zd)$Q|cr4n6)$~$|!p>N=;Xju6Mr}D0rS$(+v;trFg5JiJ^Kw}}|E)W@YERHpr@^5N zrMC%II@p&qX9TW52j>kowG;2AFZnv{(VloK)Hd}{P+h#M39_=;1nyi}I_+N_uT4$f zgVNOU2kN(C^~hX!XISH2jC}&wutb_LJK@peSVVJUpa+MGTW(OqxGe{|lI{=O-= z+yAsRd3oF^cj1^k>05H>4V*crLQ@hdbT;^eGHCt~qq83g9~-&u+33E{QhQ%hPuW{{ z%@J(y5_5hOe82#D;;nc=yx~o4;HV~P<*R)JD;Y%Y(=qgZyG#L=%kgrcoxgmTJ~15K zK?`!`&IYz=cZ;k{iJ#q;Opm{0MD&0Ms(~iZlDq&rv{63P&s*$L@<9Kd3r_k&MT3kU z>MDL@T`t&iiXQtU`wAPuD}-{Fx5Pi0OmF3@2pkoEmh9LkNS?!vbZ}>r$N0L;oejxP zDouVyq)F`OqG!bOF_IlUcSSC`IwqkSeN$6c|F-c$&kKus(K{&0r;&&!&)!>;&T z5O0F*>4U z3jm8m8&kIxo^|2Nehpp|1zu`JALC2ki9WsCR%%Td@IIx8TfcC19dr0*`hY%oM5n^< z{ea8bfqy%JKesIN$|SO@%CV=SGv3PO`V@l|^V&ST@Vnq)8lc}*$tt)CPdk;`^H-jc zcmo~o7Wk{5%!onY)_5D}Y0>^G;Jm7XwpDXryzD*wi7CRKpUkZCt zmXUd|ocl5h?79z_-)}sg2L8E`ObSObjQsG>KgL&emJF1R`U3fwteW?unHq;~a2{CJ zQf7jEaM+8v+Xj#scZsZtVfZ<+@K_{rZ?qtvW)xbNXtesrmZ$t(@)K?a2%T+v)Inqt-5c6HGIj8bFV%IVp?C1!9}G|~$5Vh|aN zw+$s@cHtZGrsua&QfEC8J-PbthBnmu^P1n^uJCpJ6pMsTMOlUicCj6v?05J|c8T32 zFC+xqEEN8^A6oXiD&7ueuyE#>Q23nTa3NpShrr-OX-OAZ-SwKzv#(38%^<8#OKIO{f^ghOhWO=Ei16?)r!8s5uPaQr5m z&)4v|L!`tOebFpTgTMX=-am`qKLwmPjdOX6-s2uUY!r|#T6XV}ZtpIM;=+NC}wJO<>Ugz_^)u}{VW zAK)JC%%YQq7OQ?TLk?xXNKaGaLEXp)n8}Vr5Bxpz+2vtmhL}hWZ4Wf_zrmkgF#~tv z{U0C||6qj{<|ucM4YegRo>S;XFIC_lwWS``K)%cT* zyUHMTMf>+GR4VJs&{5h`JARQ&LtvFFigY~Ljq^DZd1x%xD7MEM@=n}C zQ<@}`Vaty5rsl0LveDAsKpX2yU!N^8!xYX^?Tk0i6(_^61ijaOFtzje?((QN7Mzg{ zTIjuH${T$xobh^kKAAZp+#q&QG=5)^Uh%m+2H`~ddp_5;x$KuOZej-xc^0l{10&(w zDv%TGF4r!T&--{3|4vJ0{aC((JLvFi&>B@>hxY<7!Za}39Q1f)(Ofh{tL{Z!r7e1I zA27ei=-mRym&pY?KBj1;f032Gliic#R6X`G3@*L|jI1}Bs3iU4=egua@8CYoBag2H z+We#FFgk$o8@UhM(S$c6A7q3sJhbF+(*rD(oh>XZO7hFX3N`6x3yc5v|5saD7%#mj zVHZ-}XkpQwUz7P2$FEF&?d8`=e%;~M2Yy+#w6L(}R|S4m=a)CX8u3eNX~`dN!!JjE zb!lW}Vch+)gx&qcwnUp5YcCvT98i6-(Pw73Q7av5EUd7~*ymuZ@xi)r#*VLCjZ=2) z;p~(XdR2V(!SI9G^u|~9`oWLTL7bpQ48`a75s$Jb9^gFmstwG`YY#S`_8)G(@u9hS z=l{x?Pjsvco-x%tWaJ9-gy+fVh;s0=lKYb(^6wU-)!mDZ>o@)$8+z_$WV+QwC%;{< zc3_9OOzc+UTJKb&XYyQQ*Kr+<1OGS~(VU^P2;#oFM*SECud*3kt|t0qux<}@Jn{5s z$MvLItbdY{u)%#IhpVhVVlR`7RKG^ef&G_UO5*t~OWbMw|Y z%b6Wp(tG(ywK6|~L7zv9)DYkOxq!~QMlh3XQ^%ziNB=ZXZ+vf=IscWH@xU%WAD8I3MrgQd71u7Iao;N2-r&Glwq zNps$zaJabzaA;EZdNQxymII+i={GTJ~NT!)U~D%v*cfJ0*|?(E6R@w%oc&GoWh=;Vh+%ioWTn)Yx!i|im|vSPd;KM2EfFlH zD!a`F{|&(F z9EEo;9-Ys6ZJzTQ{O|3Bp4$Yji4STQ-h+npB3G%YU-@&p8WY}jF}|{qjNm~=bG98B z-8M${Rp1ZWho@>K81+>8xd?m~4avi30+wGu_FFMse^Y_}z7##*5gCk^ecXZ6f~UHj zr-!+(i=VmWkm}}w^56KZ@7agsYL0PhZqA?A+>DL`PIffDFh}(J-r&#O*>&QiJi@&s5eP{wn5fgWKm| z?LW6q^hCAvNgqPUdhsMv=o#%rZ$37z6Dv}G|x-n#$2tpX3l&dcOhMcVe~KRcK^ zzB&Si-_`j3R7Yc*8|{p6EyjTRU5pbO8I94y%NPfz{DWRF0&ZVXj!&pgPhLz3vv~@p z5sr`00?f`AP9ToC>mYUi60J6ue)eu>oHG7k(Co*_O7$p7#f&q+%t5g z@ny}a)I)=D(gz#z;j-9YqzKP3e#fiQvFi2JuH*WVh4qPE(G4B2AGNWa9{y;s{?Kk3 z7~)#|Av@vIbMXfh(!ah$i)CZ}bH$GQ_sVAfXO-FK>12Kq;bZpAv!pMqibty(`tLUU zewnPP&GaPIsa2ok`iHyYf!hE^xCRc?)oe(!Gfr}huBbX*7M=2I}BGxcsenO;>^ich@HmwnjHsk{Yvs{jPar zC|uO-3a;oGf&b7O-k|p>VNSZ@W`5kn(|qb_e=v^*a6pa8LJ1^a=n6d4NHqT4Oowir z1|Kg3?{Y%N;$-fBdAQkpP&4kiP+&x#VeBz|9(PVFuRSqRjgr#hYVxn`Q7_ve#1szZ@jTjZCkA`)+7VY>ImLQr9EMh3zXlMGVot zUrslB6^k@VFXkD2^Ez@)+>Prt+8BGkDZ#txV1&0dwtwhpBvaV<*Zn5DLgy&(A>iXi zFzmz3F;B^7z65`jk1sO|4Q&RQIv4P-f2V)=&5T*hynAX%^VQjQ<^{Q)X4kE)%}+nI zH&-_!Zz$-}g1%vkEqL z-W6he`f0eaTdhTCKZY7JmpK^6&+de;Aer8DuI}@7KOUmDWN|u}KYlJ}w!Bxyoc{iz z{=V5=W@rgMwhui_0QyybvI&NwTkdN(uq#6!w!z-~qk)&X?dnhH##C^;Q+QrOjqm1H zGA`ZPkvsP{{=GKLYc}{!mcVlfzIzOLWbu0NmJ7O@?Ll+w@59EnUT2I;Yh5&!{Bg#Z zGV!p{|68i@;oL!d=N}ZYSL#(#WxU0?XlTFU*QsW19ox|S?MVKVUxuWkHfY-p6` zI2%W|-ih}*h4Z+Aykkqg+q!1BRP*3EiuwOII_tQowzZFoBB>aZA_#(l4HhOdd)e67 zSlHby79CO&B8q_^Dh77q%I zfNmw8%!4F+9g$>puZM$f4=#C@v$(Rnwz{!=cc!Ckl@ciD_8ft~Y>@obDoD1`DYE{x zYVz~sOW^584aR)mw~M^dlXO((KC~6hodSjL(L_P-q>QA(7P$% zL4&|=yW$alN`GMyJM;#+6lQ9SxqEt_Q1-Uk+*v-dRB~xCKe(3&nio=x9S0vO>{^2Vpr z&71+>K9To5j(59(Of;J>=jl`BzRt<=p}xKBC%>Y-7|gT(99^9${SY0Pv7ObRI(z9t zJHQ>|MJGg=k{u&B_ZqXmD$fti785V*7q1_yqO+k$>|IzaCOO>@v&J72kF0l#-YxRP z{SRwIey1U#t!BG&Gp8wj1#4MqT35NJ;Usy}BTRY>j*}0alVzHDvYcs^Adg=SmPJ+P z$ZPdN_?aehPpp*L`?ibeJ@$*#Bm2bR^7-O)mGxqqK3uH7(30Qiib5VM*#1kjhJJXK zcksNM$iMAs$xn%Xa$lgrv*0CjOrGl~L5sU}MQPJOoC0hGz)Es~&|y!%Cy ze`_#a!!4WviRgzb@-AnPU*RNMjO!k7Lq&`4o?>5MMKSlGGkMMi zFlcvqbap){TUL_`27ZMbvXh6_otEnV!i4FIRFV95CAnrRMZoP;@$OJG&t9OoJKkQj zpO8!L#(nm^Pk7>X(mPvTzHrgX6T7F&+x4TRY5!Q6uyO|fTyIIIGdOG*KIHLeCs&b4 zm4H6;I(Xw8wb$=joagO1vs%iT%WAMAZDSU5Cr`6F83SG5CcE=&Ou=K-5f0fEocXuG zK7Nxrb>C)rxl)qIE=(1TpQnn-xv8Se_Z0E@Pn_s6at80bulP0Omva2eK70q8mFUen z?!;nn@(YUh)N#tA;J(J*dG-V+xhd0M#vdLlkB^?uoH$?BA2UG4L^k2K5|VCjnSUTf zw!N4rTX~EIgEkYkAMcF&9vHbTu;9Dvfv*+2#UEst0!Ry+AovoqoE`{H5I~eB%yho$( zROf-41)`@G%Fw@bZXCU;+zKr%Vm@D0N+10~Ke?T__1;Bf_Hz(64eBtfb(TlVj*z!P zKcGe0gg&}Dyu~*7!5_S%jv{4<2j5#=(akeiYq-eePu?ZE)pQO0j_5W^;q$5wFZPSPZ!O=`DDIijvgTo5 z`FfVQgpZQ5UWUri1)F5Z>3ySTuegjXF3eo&F!BL^)}b%Q!sG1Sc)MFzwa z^vYNCiF1A!wy)XEJu`@NaGF@XYKB<%ZocT+IYdM*8p|xui&YGO}8=T+KLaK z47s}UU@0BpvD%T*{>8|7;myrJ6Mq}u`9^TlN9d5u<*UwRm<6n*+bDZ!b+Z=pZ4=IN ze|D}x(x`>~b?!cxUlKZmb>Kg1^hOS$wFzFC{yn%ae3guDmEhX;&HMYeWU>*X)c7=$TH`!atB9a~DqM2UuS{vdP7I-{5$dx>i0g}DC0 zQ}|wZ$E+KT9$Kdz@IP;KuQTY}*~_!Nm8=p4zQ)6l-)V#{VqF9BCa$n6xN@&I;C!sX ztXP%bzpqUEk}lDz@Vo7oE0=2xOX5T6k+2~H&;(A$&*%X?y2WHqc zow_r3kMwHPL`FN*lQXK>%BVA?d4@iLM_vM>y$7c8lzfMO%+lZK_Ibj0cagJKg5PbV z|4pFVGa=v456piby7~XWmaZsn;uE@GH__X_F0*`d@#Iu0#E5luH0usG2)*UdDT8>9CdsOgLu3fEftyT__cq4LRR!~9-p1b2@`tM| z|1g(7O9VNWf3+>fC4vuFik)eV`7OqZN~flX;d7ga#`9{CiyXjbe#*1d8=PIzKM_xU zVoT1-k$SVrrNB3f;36wZc!OP3&(@>p!4+(I zhF*giZ(;8p#9s8;=q1s0{m)eIZnK%(>Ve|zp!s5PuP~8XB^sy}H1Lx}iaGQKJ*teKD^#^zJXLi*$a5DGUSMT!Bb{GYkZ%{cNFz=W-(?wHyXB4Ff#09#+2{a*HF(Fh3&T&LSzfK(Rb~ME zaU9y)c5>0o6XI(30x;5C&hj|%e)CvyG~JKc+)3ERvwkr!wIM1CaTIkYuibmx}&A-$9`ZGEqJEdOY54mWbLE~ zxzjFGw)noBKB1oE)Stv>8>*S7?+FKf)|iiDFfYoZ3u7KLzc08|UA0Zo2Dv8NL`=;bZevhPchZCzHc2GmQR_WaVt% z?n?3-H)T!sHf^HWF1V6m%(@@Q#t6ehuc9Mzkz{%JP3b>QOb;3@a!mS&b;GnGyMu@5 zaoJud8=b_ShCU+YoDlJM+KXK?eZ+)m<=B}FVDm0;RHUC<>ZohH(7C@o9yRP zQ=aXsm3F;C(_sPmm{dm1n7l zJLsKS|Jio=`G1#1+lMzq(@N)s$JwKz{i}`Q%DYhTA8+CC%b>LXX%Aki!qYZJQ?nhu z{0}=}RT(y`8JJ01`N-N|)~qe$mpgo}R}bKMI`Ry>M5mMtK6jXBVi(%rS7ZlzOV6hR zWO9WG?DUp+98ch#U5*yjOW%INPCa@1bm)e+xu1GUkME;Ri|@yD#@@X8W5VQ_uPNLy ztHs}ESwed=170DRv#pBwa;Ke=nsISu(Ugg5j9Uo{GIB!&UAoQ=eI;lI*tW z7Ccr>^-pwP?zUTKMWWFHY4~0fz+(I0jd)Dvwln9dll*UmsXP`{O1^zvL%ce;mkgvw zXgB7SX!6eXt;+dO4b1W?*-x+7-9C{Am&~q|!*kwO3_Lqm{Lec^xQP_8VBi{YNL>lO zH%;K75>M?W@Ls3syOis~oLtB~{*QaqUXpn#@0Ye?FEy7I+fVXdyrk3QnAYgQHfA05 zU;G@tZ#ie5l`MU!2N4u72sCf-plwEL;luFw^2LLs?PUD457;I%+!n|q#Kgy;B? z%7LqtBF}a)Iq-YfOO}W;&z1=reVn*iIhq-MqR8#xC%zp1j6cFoSs1?4(0)QF*y3*R z!rRPSU(tA(Nv|w(sq1aZ|Cq>`KVHKz{y{VR2mISaPHp;?@AV<``(b#;`S1pzaR1fG zKVJd{mx=GS6*ELbwC7{#Ukp`Fw2kF|u9J;-486p&lFxYId_}ZI&B3r-4W--M6SucN z=FE90-oCysx|F*pmj0K=oJ(-POKax(vG@Sv$!R{KIxlhtm+c4^6ClM0Us=KW6*(U+ z?9%l(-@BsEEY1G!#OHRDwj(OYkD{p@`z=tqoS7r*wwf*P?H?{zjOi!GY_(JH3xRRi zpwD&nBl8mfZa(>4JIIgnLnqLKoSoWyrzZ{SW%19a2VxS!2R!`oa@m+bScZaK}uRQzMn*LV@ z{B&Q*yKK%~*af{=TX1z7xQRY^Tn@+s5nVY0yMr|fal4u)cjy;%Av?JP!tjr{aldRQ zAKwYhMl_na1!xsFk=b*XtaLwcS{Pe=ZG?hDZ4gA-7e)D{G zy=`duc99RE!#{GCZck%|bvtnNE1GNd3QIDa{$4wz8MD;~AKN2+vv(PqXCK%5-Mv|f z=j*FFLl-0N)m$d7-VYOjQNf(&^F`k$i$$7wh=>|ASy*gu&*!!l_fz8(a;VTej9@>! z$Lwtf&R`>5TAX3O@nnbCir$k{@Z$sUv*mKWtsz_W6nmJj>>iOI^L=;9)U*AM;@f?{5aaoJ&C2quYrM;*%*_wzeTat>U2g0eho|^p zxU|<&-Q8<2*=xp5lDqh=pE9d$S3kMdWfsao14_Q{+g4-^M8V7DmhkB0U}z)OmB;Jw zihPIT_z8mOq~1Ahrf%m$B zeyW*zqp%K{ZCjOADWB+Hv=Dar?qb*xZ&7`7n()47C3^if;a>TN52d15oL@(nzt;$M zsuEo4d!J8Ay($T4e)pr7u_oL11s%GT(Zi-2nub&(L#h}r3T2`gBqDm#AOB_G=W zFDSsBBP6+oa%tddIkC-hc8IAm)Uz2pv6J{+O5}iJA7l63ss3uU zoj+>>G{x7|^Y<>wm&LV2+l#ftmoC-7uN=hT-xY=T)PKtGXL`=sy7XC@ao5*FE80$7 z-pJS+pMhs!J2PY|J9AI4CY7wcyM}sI8mYmjz+`5mfXAGN58l9i9SEm11imSsGt`kh zbmJ~GlU#t!YCoS{Qtu=2I9x!#{9f6n`9e>7EV*l&v<=#o!%K45s59pL`N5s(1y=3F z-B*zrr|rA3^lDvD$aS8XRJs#t-_@eh|Ce`!R8}kd%(BRqrt0PB12XCUGBNCta zEyJZI`@z!FMEjpPa2*@Om{n=Q8M1Jk?LUe;BU2KKJ%nFg6Rg8V70g zUpg_9YJIh+^E)r(_m z@tNYtN8Ac#HiG<`7kFh-WkmS^(Qvt7zp{gaE9Sj7ps_lRcQjA=krjuIHG=cp0S?v; z&KCZLTz|JwR^Uo|$-5}a9@>=od?>TUTJXL7%)o^_zngiM#xj=;WfmHY$8s(CskzLc zr^zk93KrFk9Qmq>?Z+|bm)yxnc|j+7YqZgu^mSX!g!4LK_}<5ZUD8IzcX5(vEtKg& zH_;s3!xvISXUIN2(-MB?XWS=C^dCk!!*$eQ_Vhr9*b>fi8h3LjbL2F5wMaA^%ehnC z(Q{;@0jUUQ6UG_up{AUxfS$4!om6L;vBH^gw{iA)^7{melXqL1e-u!14Ul9G!iYxzA3}|AlrtjeBhxxfc(}5$r0vl$#;_ z*M>0@&6h{~{bhBB=2AN#h#fYOewRf2pKg2?HgIg8$!#b`BioH^>;Q1YMq03GjnO+i z@N8u?A4g?+yP2ZwzE}~}B26S$$QF))yV$o53hRwqh5El#(XxM(*l8CjJV!@}EdvIM z?)DEAr-0k!ZJ+0N^^hNTDRR+Aa2&HK()Yr6>43hV+oqzO9`KDhrs_yD(Z!XM> z&XI*VlNUg1bc<}g>6&iM%cFVm$LmoMY>a&7k?ZmP zMr+PhY_6?yt}^#|W6k;m)3!~szl%j5F9?q=t2i5ng5kQun`X0LE}}y;1dYiodXWx- zU$-vlfTL&Eua(DE^~CPdvTyGi%!duo8P#Owt_8>C2=8$a9m4>4wUuy^=Xu8~^Pjhu zy$_9*Wh}?beWyK{dC1OhP^`uCOt1Mu&aXM}?19`@;Rdk1k{)$q7fkEv3+0CXx52|N zi6C=>FbmxZH<2OQ4v$51HXjaYoM@vP&U-Xa(61tvXH^$J-|UBztBP+R9{!`Od=%^@ zn^y9d=PHhoj|VQ0YeVL->r7|YSs;&p371m}qvY?5B)*SK>C<{G_fWcQc_WwEwzh_x z4;@{<-UC&%}M&{%^gYG(n8Sw%7FLN=v^*L~-^-9ZqX>gutoG+6Vx@XB<*`zV*m&T4A zhROT1)dAAART(!s=j?$CK05;K;9F0hR;|m6|Ea^tBt&BL{j=lXXo$+oW2R2g#yCz@2M>@VE7sP!+Y~Y5s^AkjqIGB}_jM<+(9T=j=wF+A zypG6nsv#Qps~|=#y`wm(dEm)0ipv>4u*kdg2%4ey>B$U!pFcw_>C>$%9OrQM)=_e| zVTdeD8jjXrx{Uc8EE_J3kodsmrM=7Kw>eq(oeyg0`-3NRE%_e7|4Oj4;mVn?>`T69G<4z940J8fW9HswY)lS4K{@zFi|{}!A+u`^ zd)q6zzAN#4UN_{{F9V+B3O=yCjZZIKfR3B!u;bQCXKHPJ)#fI<2WY>B ztGz|jY&c-wG?9=K}O@|Jdg)f>jleC7!ClHM4{Mz>8fTU*&Ev-AeFcW0)z+g6T!e=CKK2 zMI+(k+MsE8pgaGznX+r zXew&#`ig(tl+Rj?ersP*e@svDZ%-%oPDjzE$4)rq`piNyh_=r->ODcMbb7J<%y<+RbR8br>5-z8@u+yFg z2f(9ptO^+)rSL;rldn`B&4UXwhCBYy#%QJ+@;PgP5l;gT+DiB1bab0%)g2RDyQP^Fwgmb@-o;#1-ERa2{C7PqD>fVL< za3{y<1=>w^*n9PG`PDMmce1F|X$#NUHL>8$cFw=xWFpA7xWXCSQM2DZ z99-Zw+Tg~jvT-Ln=}|H{Zt$I5Vh1?OUi%Kbv9xTr!%Ft{x0RiHm6NXy+JVbekynqp zFpt%dyk=G5zT48_>r03Cem`S|XYi?FV-AS!M^=Ak zfeE79rlq2iZ;aUZK3*Ig87EAJMTl89CxEB5WG^)1-9CtCvNLl)7v`yt=>O8#Pv5C@ zU@avGsh)ySy=R}Xkr`86!Fy{k@0XGl);v?s%=O|s>CXH9QR&>P ziumxkmME86TJ%Z?;;!q09<>m>;(@y57y;-vX5}D#gL^l4NUGdx^NTteFu1acWEDA3q4E?&giO=eS&AE7V}|U z_ET51E|zlQ(XxDxRoM|5pgC$GhtF-pzST-zy53AKOQc`v{s%u}rn<2w(%2!``%rbf zOV+wiiC6vLXxfl@qOs|Dk-W7w(xU!Z@#^$N@wCi&F(>Red-*Og_IVP&eGf2b6EXN| z7~Z;B%#r^YimI+xcN>1g5!9ESeLAB>=mef#kLRtdMEA_OSwo)|-9cmQ&RO)aDKl?5 zbfc5_edA?%<5bxtK8AB>EL_cJyiCV5yjx^Nb;R@gP*1Lu?(r*o`gkko-nED%W4;HO z>Q&TEA5&x{->3KlThYhSmvdO~&MDw<<6tuZn>_t$pw8+ z<&&NqBKrSo&qsXU@(=bWHZ8%>^cpP=}jI*C$elz z{m9(X8TBOrlg^Sc>?Qw1yP+Zf4kv6OUc{R)+rCjwn@chdW5B?g;kjG@w{n%;%0dpk z>xw41oxE^92(D-Xv%>&>XG<{8ih6uyB|HH-O3t;<;8)>%AGi2yW#OF5;CqQD+u;*= z3FG0?QiSierQjl+#JmPp++p^jn)frs$i?-z`~&|&AUs(U{`_^&L04z)+(P#5Oz_Y! zac4oKXs}@w+S^mS+n2HIg_qt?X7>?H36t1o}xPU)geLaQ#5iR_?5f3NR zWbKjVjlStZJ&)e3Yrsry4YsS5;Q`-x*FE91I*8*}gGAEPiJaf#;j;sT z#~l|mxku4*z0n$Hy#1R3)H^?Rq1XDQ24y(1+k0`()q~%xF6T8cMW2@oW?F3MaO=Ha zPD*9GKPk+X;oyShz=<5unLGgdvjz|B%bq!0EKBs~IrCwDxr`U0F6V}$Y-G_$_DX0f zAHS*xPl6V4P7WMYJ@lis#K|e90)H^s5G$40`-MVAANTw-zx-R@$e77erWctqUseb6 zH5FSn2(<7fe&kLh}@|IKT~7@+?@h6LjaZbi&)?B-dYf4?bRlb1RG) zH$hsBZ^j&08gIlhWnW+obme=slj`Nu_0&f->h)tH_3U|DxEDXD6G95{SS=Pa{N|%6 zpDQM9i{Q6T79pJz&~F*>EpxmTN#p@l1JfEoUT-IM+4}g;$SAkFPRHO}o`)UuL7rfb zt<4P-f4*AD#`8`o71mhOO+H0qU9%j! zoF_WR2WVurX}Sisf`ifdeXV_0xADPN?yfw!^5199^DFGG=_TEQRXknLAx(pO2od$F zw8ZPP5?#VD-Z3qF&M|lyQ*^(MJo_f-QV-+j`l?5x%=h1i=e$4{aJvaU+8nZPcIbP1 z^~ImES9MY?@OoTFckmnCN>g~Q4qyvsl?AVg@WIyrXS<9(ILO+)UX2dhWta&L|04;8O}WAZ~g z@oe=pBrh@gNDGw@pSLTaBiE5Ba=4ZvHPlxn;fm*v-TkSvISg{7kVKDjdc_C@jx$j20y$4?fL%Z zp+`+c7qCYCcx690!C^9G_t1~92|eNtd;u5mDjmfmUBtZcf?X(@9la5lRv&UyzLG=L zmrS9}=%9|$g>j3|bea5$a5A(uqqkebF5ZVT$AbIXA5P~0pR1gx?$8q4wHp{!b5Swa zs6Vz51Gm%__AWl+?#&C_@e9ahjO5(@3b*P4X6GRv^sLIvXDk2bZ7n-=swMsE_h;@E z+&^W}e@XV01L)93idu6jqPI*|3f)5B(=6fMHj{BQ2@WZmT*sx%;>mDG#o)qwz+ckI z+-gN1!5sF1{pjf5!hcs}7JtoNu^R5HA$R&P?SR3D(Gt+Bs!fE4*#efkgn!0RdKbo# z-`@odTb!nDUJ&}gT4>12DAl}m8aMHZ?D}?SId`Mu&1E0mrWzLSM8Dh!Zpw<8rh}4y zs~TP>XRwzxXul8R=Q@FRqB;AJpXz1GD!nEX3^w{p+C?8< z;-#Grul3$|uQ8W@<<7JR>y2f{XrsFSF@uY{L!N#IJemeHbvAr|zrY|O(YDqmYrQ?n3plN+O7=)rFu0Jhc)-H$cr z{9z^Lb2PcuvFK4Z^3G30xBN^$Yy4p~^LbS?eXZ~c2s!P&yL>z7IX&CBV|@BKDe)kVv(i97BcIR)tF-hsNz5?ZjqSa=x+ zK4U2@S+|@cXXzgBRfBV#(YmfAv-G6)&(~VaumzmyvyB`Mjwz6u$@3*e@s$%lD^ zNBg6JZZ~F&O=yIS|GxM5WLLv=TZ>nnt-0GCqn{apXKExJE+6Ou@Ixb&fM0R}^V~i# zrTVgVg+}D+)DSgXo8p74ES`Pb4F_6|j@YUST>)BS{$ozcV>0EO=sGf2llr)U1(HFW zJp?`1D7eiP{4SyRp)~59Wfu%(n+Bjk8>opWKMnlK5>4|t!{FWP@x?gk3cR%7gdyZh zgpwE5RxZ|lQpwCDcfpIj;W_W^MzSd$(pmJ5z5NW@>x1Bd#-72(@B|s)%WK5O>1pD> zh-K(f7K1xa5~JRB<@sv@FI^rDY9Sq>{@lk-hRrXt)KN?A(0O*0&$U7P8N15`uRP#h zq*}?hje$M~?eWo-(UtD!ciRrXvWDIzE3_!%RoAZ(1_y$^m9m>S+YvJN{DpOt@RJsQ4QGzn^ z@iJwj=S>IaNK)Ponn)*~hV!YHl3PDk3H7`|EIM4eT?!e>t3$}raB$ID38BfeA{(73<+)SkJG0u%`xWj#!KdZnyJb)!o?Yxk9>GlJ1Yr^r&3R)deP zL=*P~Og;`w*#e!7C!XUi`U|b|wZ@E}?K_5Wu3NybozX2UU zf`O4wF`P`8+A_`wzu(9Kub0V3ZvNmWm7P4DzBQM#9-+YK%S+M}k zkpT?dAOc<+m_1K`TNH|1U4d|4yjeJQW(O;ujIJ+|KUW_y?)p7`=RxF7{o;J+4F0rO z-kP2)^J=b>d*gHEzs9*T`OP|ccR)HjcpTdOC^^<55k6w2958tmn0W%6rj7F6Ax6`G z@l?%@2{zhdzg2V>)+BGGUr9HjvCqBd&V3rYOEnE1XLGm{is6bLi-V7g#nm=v(5LLc z=Q^uIr{X3|_%5@_OSa_P_W%Q)t-kWy&3*k5ETg<6%M8q}j>P98pXayWv-N^w9WI}Z z7{%_|QCcoD7(JW1B`(fNopT|~u-5QheZW&J#C6Nk;@3I4$~U#;8Ia0#6-;YaFyod-siLU+Pv&7m7gYj<=kZRtU8#xqrbhpgPmgCZ@tCW#YZeV752rt4VpYLXba|%I@PMqiM!9P0T6X^^G*-ZLb^^_L60!ddo-K-YiKK|T;^YCa5;f!Cb44=D{ zGqDnT?>TZS{gm@dRj{sXeLs22uqm^>A6=wc+mDAihr5DD&xMEbK+|$rTV}ovU9l-T z-SVh=U)Vl23_89Itwx`p?MZ?_gHIm74fy2NN>3$Ri*FIlhdy||5gX}-<}<^>**=@kH&}sufAwWH6rRvGvRWk zhd5vwB4)izgVSCwa{bbUMg8UQN>ON$ri;aws_^HkfL~|^TA9D#O|5u#mT>Q7$QR|Z zWJkO8yw`EO>l3AoeySY)Y=Lw+vZoY_@H5e`Yi1R?yriT#SBe zC;H*j^exVXhs)HAdi&Ur{AMp0*m3mMU?>wWh*HTn`Rh56Gd7u^f%MLY)8F>tuH{rV5)ehkI(@5WK)8UW$ORr;A=x^P*!xl)VfN(zl zT<%7Dv{MD}T?OoHMvqyjVIhR{UI&$=RJJyc+Ei=W67jb&kY)?+>Ts03Y|7nc@WVM-e>EbF%KQ zF>^K}V`2A2>5e~^x2w)W^{wBmysbCjR@g+43eEMMY4;fO3nCKu>D)? zF{8-eIZ8Hmrk1WLc&aEv+#dpiq&a>^7q#0aPkJ$Cs{4xbz?57>nfc!MJeq^?bP{J9 z4-@_kC!!f1Bfib)2yS8{#wTxJH!ufdDNB|{V|eQb=EYRJdmYec_SUDis>}>SpKgl7p7n?H6z$=^~vtc3_>n3K- zOm*D#n`km0psl*8PAFAQZhWtYv#5dp-;2zd>Y|m0CH{nyO8cM5bh|mTrzg@6;i)%v zKbdqNtu+t21XlQw%x?|vPX}`URvX|e=>t3kKOUfVJsoMxwPX+31b(rOJdKTD)N9!< zayVb|I17r%BuwM1j!}0%N=EB>i~G7Ey%)F0HLI;WyEKzoY6*VJ&Pw{8*MT^O7Utyqc!IBOd6FVCvJ*(UtX^JEMRsk95ut75w?7nt#Am&bnDg-rnxc4har-bTC;g zg^CfUZa<+D9YWjb>fBCt;zs%mZ17+&SLX-!2TyGy-)~N5&dFdFS|!+t#NcD;;8|19 zYFdfUlN&1o{&y2!X9oD;Q!oY_?pr6>R#OR&=zVog>HiF~_m5B}OiLv9^Q__XpMB&( z{9>05#ZNU;Llyy#%P52Hi}z@x*Q;O7u7Q`jPjAjyam(bVsC%S<`Ro%sp#@&K{&;@`UX`=#vPC@K zP0^(mp)VfD=eeR^lkJ7BB7zxe2Yb>F@U7~+&kdNvI^Y``C>;;>Vy^0qUd10@Ur#Xe zQF7g|$@rot!=pAJ|0i8@s!obFs)YlbZl-=$ndXL*cjxHWZ<|8?MJ;-Z(lq;iF0i5%Qy+^{nf=0e=BDAjmp=RE3{TO>tP7mj!yf9+Od{3=Z7;KnY|Tn;HXRBkCT|gyMp;OQcoS3PsXk!8`%sF!CN$1br#;H zGMZHvqZU_ruI;8QzVu0J?706mnSnw27!Qq%B_J7NXFtif~d3(NtM0O+!u@!UMwbYA#T@hsk8B49;Sz{yKLQ zKBubOI=rKNv#zh~zqk?Sjx{+cbz~LKxzgl996R_Tx#eUlILb02CNdrWOBXcW56Rje zLx$1;HPP%4`@tqKuOaN51!P}cLQhc}oq`8BE)Hm#E1`2W#lP@{xp6!1j(JIbGdL3& zAG5%1w(*_qC)axo-(fZ8lyJ?Q)I@O0zdSEy))vS0p%Q3de&%Xyi(h`#~23`0c&@5oCgg(p|OEPxqu3?_?@E%Npo_ zyMPPdRkJ&o$oS^<{sBmH{vRj~v%nw43YcKZsz~T#L49D;RPx_iYt20j$tmpCFH-4*9i% zz~@4^Z=B@D2S2%ME{SO-#qhva#mc28c(=ER&b>lJ*}_`lh0A7gx;AP@^u0~~SRPzL zIr%@e1?R_5{HqJl)kerSOP8O!o=#x{|2>`|EBXT+*&Fq6LObD$!_@eeVQ48^g2UR= zwYUaP@_Lcn)3oh2{e2n!>- zR&f6G*U{Zg?%Ga6T68V^TrJ60bOm?$K+i*K&aw^gLa*qadB-mDnHNHT zgZp-hAje@0_<%P#HeZ;%rEX4YIy&aF=*@5P-kFh;@R2(?K`l%&p?{(r*~ZQW?|awq zeb?e{kHMo94yG7~R^=7==rgdGW{UsXOWOD@!Su~WX#DD@Y3RM}jIqGe1`2IHF%r^40`9J>uf9ZuZ;XC{Q z-h3aOhfX<~o`|ON6WY#EX!K6g^KQ%o_ro{qk50;;y-TX2-Y(|(nk&xC4H9Y5Ey;9o zAaCZivT^!)w7|8%_Lj5DJk#%(Fidx;{Vfe1E2U^_HFO{vbkmE`o+jgW3S-u-MOIl; zZR`~X_PQPHtHp3!mF4-j>@syL@I6;UQ_%$6vXAU|U_9sNaz0y6<$Irkk{nyx5q-$w ztO)Plmwv$g;A=0*zsz9Y-mLm|510LI9*VBTFGRqgSE8fcOY!SSF?iWwQF?V68Db%V ztW@+;A?Th5z;iu8_Z3B7!zXmu?a&}h;EoG{GmGL5j+K{AER%Y%O!jyjDbqKEq2UkZ zSqhV9_e9A(O1A1VMm}CZL`$#yXN_>Zf=*NS}{F3NcR&fsRXHH&?m-j7wIl*XMxwq!N zMXTb74%!jTLn^pQEVD|8QuFY9g_#D9^1BgJ2EPqv)(vGZ>P1FX8L~AO;o(cu`eoXK zyFbxaHNAn>Vkx*llCr0v20!i!vb)QmeYTSIqRaEn+oEGJ=A{UDxT$i%tq6FvDDu3F zGgcY$26iZP*>VQqFMl@)|IuLf+HstbL%~u9!#k}}r=^^eqr3eTj;B9~@XMFP5c~== zwvQpt#T5Uw2bg$6HFD8ucBkK*yH&`Js>gY%VVCrWukXdZ-I1BZS56PALk57I{L-D`xHE&yTA!ek0<-D6J1GaiB|D`>I=H(GQmJx$>Qv+|KxfM z-CY;%?li+kQ3hZ1HFd-Hi+HKh@gbzs?U;ckZY}pTzUIoa;MnciX=m{qG&5ANZb=tz z3Vyvzc$irB_~ZB=n<$n)7AXlU8yYr@I}YDg3GaG+dO(ngQ z=v!-|H>@a+OsX#fZm&{Wd@s$rWKTb2X`}v;ea;20D}ij-je288eXEqgV8_8~wS-iB ze(%VIdr8K{UGZS}d7)x-m49EobokJf>^SmUqBI zK5XF0?(Ybm^PYaalgwU^z~7z7m26FBTz8)JzS3YbK-%;iFAJB1$eSr~a#*WGyu>xh z`JG4~Qastn)wOLkG5X{snflAgclD8r-os54>YZO_>o1&-H^h{Ums@V8ivH_Yi?hd9 zGdrf?0f;~|5hwy3-QZ>}!6Eik(9>y~hPbLlRrlhL!V~US1MJcp&ZVK;IK3|TimQZs z;vCeeMO&BR-7SwFu{`g`88k?tYV9Sa_;(Ge!$cP;!g_&WRTJyCl@m>x6ewO<8^B2Y z=?V#hV_1S;V-|AA{tu*)^z+_!?;9i{~P-T@=L%AeZ~kAEAy>%-Vr zMsnW`mP?B}@$URXAMi|_9<&3!)H1XUj%f0`aCb~o=s(dERTYMBW@VI(4?1!uc2)8_ zHPRMUz3g{zW`DO`uR)hAV zJoCm~GB5Th(}P-rk*@;dNd3IaJQ|ar)z?CSl23sQqwMzv6M$=&lPeO!wdnp$DuVy zmtBijiFumM7o2Fjn`b{s`7mk-`Od!N3^_25n}WYYp(7uGpV*uKJs2IqRo(?RzUw<^t*?`9 zbsK%na5zoDe0!Cy-~v6JK6G;Al5HN2=b!`n__eaE$8qube|oUS9U?Dvjfngm%WT$* z@6%M|_E^q&YsQ{_gpQUX&5=pPhP;jLXepfVu@8VxJ;S|ch6l%p&6|+f zGk!WVh7TCjLb9&o*<-@tXPd}fGavJwdvj)3kaK&HjM<*_`PrjSDT{BV0r?XB;2)Zy z?eQWnG(q(qihjUi2U&_+g=1hAGuiSI51(Rd0p{VaD7JZEX7TvF50c+=io59&c*$M7 znkUrjmb2lKwi|33w8gJ63oqnt_yiN_Sp2ah-)&DrPk5WfaK1;lA2Y$|W|Ik!sG5ad z8m)2G zMQdY-6)^^5FL`>6BK_%%0<_Jy=t@{4kEUmV&lQrnKa>2Ag`5fZwYT2?ujK4Fc{iEw zG8SH;C;E=BS~@|rQD;7D=zs;QR?)beLgSUGJ-@UC9X8XzE|w~eoqdeG$m}J}*kkwO z#~w>BVhlU*DZKJI>cPuD;r%_t-v3T1>i;y%6hYv6X40&35q{KIddl9?FZF=@>)G_H zhoiSmhufLJtQSl!v^)2@f(~K|=Rh>`V|#kJE1_L)uif8#KHaSrC3>Fh4hO($ZQ(S$ zIj`%04cg$DD9fy|fahodT7eX1)kv~v63`;&(c}0`DPwt?KjT=X(W(eEgb&H%DkqFN zR{HhJ(EiOu>r{M%TMuU@Dfp;sAXK6ASNIl5ESWNG;6uWyBa6j)9wg0Zd>oA9W zp}OK`&H=Oyhv~ligdJ3#Ze0Co^m^ca{fdUKF|n4Ol?5*6UalGwN4-X%=KM zS)g-&&be<6Z_^t8=rFLL-t1-$_(CtTPi!V1CY|@)8V}A8^0%v#L79#YwO7du-FV(m zejA0eqEMYXqaxZXTXEXlie362&zqfSx1&x;E_=!lQ*sq|DrBCquO8IKid$N@QNy(1 z0hao!M+@LdE29I^f^~NS8ymqrJqZqx9Np-2-jNM-UTy~ekZ4KI(3$rHjmRDJ??3r7 zJc2I>qi;D&18<_KR{o)%I@pbFGwo4+cRiiL8g`Y|)yh|-yTY0NT6?ljGnjAIk%gNh z{Hkq6^Oy;5JBc~oMBG_c3%>9dSWhg^)mHG4BXmM+C!ePU*k=QJ4=3>~G*!Z8rNbZ3 z;d8`+%SYgQ^WoV-S3Khq`f*1&e(y;9T(MFeoFTWb$&oK7zNX`DkoI!&5Y3fR_m6&Z zy+Xf4u%4V3I#<%Mp0#PpyeqRHMZVoLu^F?C<2F#Oqo zpC*IZd$K6}TNTe#2Dm~p+`%t${|4Y?3@0NoNe0&nK{H|vW_J|sAsSxbBb|aS^eOJp zPbhVe9L+yG=k4XtB`f9NKD(u2yNj7^8y<$8evRkt(A!-)q3=7pCOUr&ojw)N=-k$Q zIqamVy`&qsV>lg!zS_aZ_Q>zY&T|fQ1?RVg)3~qGub*h38(Qyi$C5K35gmdp7)e8R z!rO-Z_BmvRWU(t+YTE6vRPc(hZzb^Adb5XprN?On`rk$La9!}@eAbP-J`S$U%Ft7> zHS`!6W4QI+jc2+S`^q7>j$3FS)@d`k)gmYES^?dJU}(oQeahzO*h9zz2nAz#t#a%Z}r_x#Ccn5z7%v6v1wH}<|T_?7YO&GzUR zo$(m7G$hU$N?y1zd%GQb!!&t*>0)r^Y3wonNm3lwfCVxYSWN*WK;HMHhVzMia%Yat8~md zI%BuGPq*bt<=pOQDY~P(Y=pMpB)!_cx;0Jqa4*m&|7Wft*!Kx@V@2lU6mpv$3v{p| z{rF2U^vx~i#RBm=BN?7k%Ph2?b9j;#KPY)O_wWZbN9Q+#e9n; zS}oVy5yhxa?dz1kIk0K#-%dUbP`^P_FCH!wmkRobXY~v zrL+~_O(gv)PUP9;Xv)v1kB`#}O;>ral3DW0ovotgmJCrXfxMm;#!TEcWbL`&Rey#a zbUzxaD01iO(Qmv_JF;Si2CuMTNRk=aT0hS4C2CJ4noP4~aGFi(`Zl}B47g0c({J!| zYo5i*%#3zue%)l2Q!V_Z_0hii$ftH|dAEibGr6?<^ZZs@{Ngi~)qi{XNN+}d^Woo{ zHS|(}$NGa4_648TO83Ny>}sXS)3nqsdK3zt_Z}Q2Sd7_PiXP8gbisqw;m=HjWASJ> zo2AUl2bp1fRj;f9FmFqEk2UJ8_vg_dhT#n~7^b{nkFT9g&fQ9Wr}|_~u4YEcM?dLE z-{uQ&pa?Lt_uvr!w6&L%(~gZfu8-cl)6lpdoXD1qezR^~Azxw%8GJp|>JDwdvr@@Q zPK1|<;9Z_aM*MK}Jsr>|)`0i_$(?#Y`CTO$|NK}qX+hvTjmT}V*3yYf&$KBzY%jD} zBfxj}FpE9IYhl5TT^%ib1Nb&vt6e*h*3_yc6 z9*lYc*)rSVDGhvYFYvql;~ZN>|5L@YDNb;M()Knn{l?0eB$;@on}->(!skf*TsWPavILW`1Cr z8vFROe)NbKX9+)J*7=|4eVWDE{eDkQ-7=hsEOr~_u*<}X9*;B7 zs3(gtRcDC&P6GV7Ii9|L!t?0}Z~=Gx!!G0xuYvP%KwIW7XYU^hk2I5fxL~}ZqtH86 z;~u|HrV1WN(@wId5&(`dT(+vbhMcp5WNH2bgY5w(zFQ0bquCeu#c%JzJ>2op+}%ZF z0~FGo@=Z5p>n%gz%Hwnj{1G3oye1?3I+i?R_r`xvTbxMzf_ZseNuP# zdd7c#SWVxv9NhRDz1WB8PRuU3N1KMMP?oul;~wn?&TPuR;{>`m$=g^pM9VqfP28!JJfq3NlgW(TF zb3c^qwXXPJoynv)14iAD9QMk1!RC?a_?VmmC%k|4!6H1#qA-((cCKRAOa>=ur_bJ} z<-6VowzN&1lWNR?W&di|2M&8S+Waxhtb(qVe_+DP6!PHV+E?gJ`!9hn-Ar!IM$XY_ zI74?Z1|6KP#4FfG*;VEsd*2t%RVy(qv>aL~TXE`0P5eIfMV)ijJg0g%rARcvZpx`T zUC0V)ZpeIo9nab(@)H-qJ6A?GR9y1;_nkK8EZ$|e{>VSyl6k@kEZ1C4C}j_i?TF^R z4$tUc?We?1k<@1vId^{eul|7fFE6=QvSPF7OLJFx{Z7LR7ONDxxoKbg z$|W<-nO)eITtjy`e~mdBj}~&<#UykVdu37GQ?kYUGw247qd7Z>HvXz+^}IE0`jibP zW9cjJ%?e|VChv)=so^@?k8U3Ql~QjF#kyPgt6GrHF`IXI3tHXTqN=GC9^87&Jgt?o zIq`VmpK45BOy=x=f|eLhE8^JIa`7=eXOB1uZ&DpCO&I*6k5a)pfxgf(itjcXvV`oIg<2}T{a4Tt z>a1%#&kBEXTeUDNUF`jpBP?_~#K|FtMd&7p2ju@8opoFl+uFxzL=*)TQB-WfLTqZ! zEL2Ps6}!8;n-Zi15gR2H3luCA_MREL#qRFTW5@Y!{&+v<+ZUI@Htl!^EZd%?OH+R92)r0-#jy}oGpQP3xEo+8ljvc|6G_(T0@- zk2%L&>8x(uw?(V-ANssLAz);IVt;r|ydLj)Hdk>cFOcqBKZrg=!h1Irzdd+5e9k>z|I!v>FDxZ^6QYVMeoV%LA}A(4~fBNR557rX|!(-#P!6RBJ0I&5p5Ss zuE2D(Go#==fX?l|L!V#X#fh>xu;Lok#BV~33KhC%Sysg8@Nb1JChEF&|CI_)CeZ^gQMmm$3 z-kbZXE}VU5-@%scnjw3aJ)sY*|(g@bMa)hZGp!0I~aXbah}%kNvq{ay+6uXFG}DWi6=j1qq1y7 z40}jE-+dl=*HcvM^Q-XbeB}zKXphJ8m@X$;+b+} zN{lC)?=ZX0Gu_jo?MiREt8@n3Bj;cvxdLZI+*VEG(64Z_Yl1krcC2V`-h%9=zwC(H zx8D9cN@xvdt0FUfC?#mc*=xorjl|p}>OmD_v{CnpWI^&c+ZxpnZe9*Bl&wTyx4vk?;Cip2VD}E z4PRXcl1FisPG&blax*i!^S%Pt$t?q$@@RYPxGp3nFMb7diClOsH8J#sbEnTc!ACB73Jv?N)$jtYK3KD%dR zyqM$VYN=Ms%2d~F->t1Yv`y5B*eQ;BY!UUUr;GniXNU?Lw+OF{6yEU|QT@_DcAE-x z4h1vw+9~mequ{$vk!@}OPw%0gT)V*#QrC+nlB|zQ?sX6&UDrH_V-1r*KcHj|8lT>fS9((REr7 zqdfeXqeW&Ngj=OMZC@VxmbG|@;<=~h!{tYD{%uy99X-SSbqDX@ecp#V%sa1mS8X*q zCCE`KMF!9_vis)n*_Kf@cXg6S4l3k*XvX_hAU{ZM!goQo+kX*aW{b6Ab=n$H<#h_a zvB%tblh}#f6(i4@fImJ#Uvh~*-yYfiL@XTFV6?}L0(Ybu)%b6b& zi}kPfAFQMAV-0$YvS=9U;~%ev{^JTWyDQl8T<)GQJl&_|Z&nt<*dNrXR7IgI`a|}G z6Z>>op1U7%wX9dLKo4V=E8YzBQwuMyLo;*I@cI*=VfFzl@<59?ZVsa z55_u@-87G#e>^fl5XXmmH>S;%AuK8fxw9o}{`{LM=4;0!c_>-d=s`56bn z`=6j$vf%q|%vrh|Kkovx1Ou2$)^a8uReM@KhHt&X*_X+E(;eP_rPSbSIre}vXb6tW zYyR1z>2>G+@)V(uIt$+ot(XU_z?YoiW&7ea9S_F#2y8rA*&n`;thnRy!MJC#VpoHm zubmJdTcB@UOCH<}FulWaYSdaetos`D6uaR{w}6|CMiYG>O#Zaau2G)hrmrV?T`QD_ z^Q(j9IHSQaBQN?W-O}^n4%g7Z>%nZ*7u;e1|9v=obPzn^7~aQ)@C3f(S*0m2#%D-; zzTg6t(XF-+`o~q#(tyu}IFa=<(Xi=#Gqpn141C$A(3O5x#}8hL=JdDv=He>2%+=sH z)8N<}(5-Nf9Ntu8mKU5}oNm(d&r01V&A{M2$fumBa(1G#JOEdA0`C71*yu){#Q?OL zt@(`Gqor_HUA`ou)tsjmT297eC81*vP(vRrQ9Vk`1gkbf<9CX4ekRXHNp(@qY~7Hx zLEs8W@Kb4IOOD1P`VzgjOxyQ}HX2;W!X6&5FlgtWRfbm_Ij9EMt517KO-!IPI zCmR=B{0Mh$Yi)?zO1PS>QkO01QojfjdAXGdKF4Q#w+VQJ2BPiz1lL~`{ak;}k#)So zt5wHet2oD(!cnn1RNJU_c$h?XbBroy?ogXPE8?BcL`yRozTesK%Az5<=;!i?ci!AF z3&gya(fAJTvQKUx+ouECkVSCbj`Z6dH^jNV)$e(A*$Lrp~68iKDiiQLQuU}4?iE6tfpT1m@BY$ogS7kyGEm8eTw(6p6R znx}s;_~`w}t}a7n?>sy!@kSn#b3BQhiKS}rfdure_^PjO!84f0=jtnU2wbQi{Vmhb zFQPRXimC>5EcAKj>$6_G&~1AETz5OVDx6vx{oS|Nmzsb(y7GKk&`)Uq`&h)@w@5a< zS08-iI6BEw%$(`E{A%rV|8??|4qU8GZ)j_H;SuO>L-63X#$#U6|uv^=rL8`^Q_nf@QI&?no zf@`d$>^9%S>|yKy|1E7Pd7c?$j+FL2R~P?exbkY%VQ`^RJWuZM^C}uNXJ pRF; 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

    Gq>WjX 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 p^Etxi zGR%(%o69hT$6SUfa+=F9h2LC;sbPH?rpRe7!_=_84D&1IiQfgxq96jhtK>n^5=x{S zEOHQ-N~i(B!z?dMRF(24GW|Q7-8YZk>dIZ0MZDLy@J1E@hnKziXM9wwyH=9_R*aCnJ-uG(n~Li2;!w|impiV2QCnB9r4eHl3HcQNvN5QxHU zXO-*h&SV1-=*5Sp7o>i`9}KXM8;~SUzR&|0U|iyAG`t!p-74(TI}jWG8K|t36YmhM znq-zpNfs1w?NV`3VMcbTc2QZXVTkcMAidNxPtBN*lGVQu;i?yl>b9;A^u12kt!GzD zp0t&t+pYGbZV(kz<20V?x&J_R-h4ZI3_y@^4#veEkr_SDN@a&GwprmU;VMuWecO;Gzqg?RNrN*6_`5_JTsN z7qS-IghsWh&|u0>AE~vW(NG7V^7BdU<%kW91o{U$qg8Vg(JO#*-D~Cgp>m37iI=b~_p7-3TzBfdOSyKsg+MihRL- z`CnEcN?DYv`)}mmr2kr=N4lW7>@Am*QK;7fQpSlW#-#Cups@EjZ@VEF`jD$W1I1Ne z6}8tX&G3rCOvxd|zgxK2)F4>tB$K30y<0$Y_BzV=0eN>5Z3L`Af`z5rdANBZ< z#Y{l#f+*64n6~&)k3Z{C#_6PnnNOIh#RVqtG$}ml5!{QxqmkHB1o4Lvl)R0A4>CBZ z(hmXN4lrR)gZ{AY(o%P%)X7_bI;#Sy^@|Ko2T~_R>NA0g)a4@e&wYQI+{@ zm{14g=uRiKNNODI8gcj{gHvK(S1d%BLR2w{bNtapb^1ky;Xw6^3?f7tsD6<_gqROh zRF`8~&tHO49v2~gf$H3oNc~G8_#y-1U3L9I2#w`*nz7*dRyXrf;g5#&j+0Gwmez1eH#e|cvOQDVAqN3#vR7>B1`Xp+E zjhozo`aEHC2dakk9jLF8Ztg%8y14^Y!}<O&q1tn(9yMXTsI5V_8!x-){YXqg$VoHQhStIXsuu-I}kMNVi63=N&KGck8;AZp{r2-lH~- zZK~N}zn*YNpGC7kce(Z72FankU!I2mTUKad@nZB9gi*Bek-&9ugBYgn6Y zu6Y8pEwC}$$1<%k+d?;HdphZ+e+%81?NdlMW}Dlvz--SVY|OUs7_%*M8nZ3@#%ya? zn{AQPm~9Pfvpt7-7MbnWP=~;5uL2yVU=gNhG23jv5Pw++Qz;S`p$HM8Dw;;Pwb`x% zrHFS|rV`#zZ-6lt8REV^Oo4TN0cFwz(vC$~~vs9GGniRJIC~LjNv*8A};#Bvr72`FlGg zh*5+zcQcL@pvqt0hHY^T;yl(yvw190o)R?F7dw(cYN}pA{;nD{t}uq~$9D56bXBgI z-$vG$jPMbH0RmBYRgmR8hbX<6lB+(Qe;M3b@CfEv%XyiZ&qVM6MO+AAH2~%53!~=( z_pd>qLfq==?S1gb#f_juZ$)4pqwpLgv|F=8pT+phTSdqbBQYi!Edu1K_ljy$zZ;yj zf6%r00)@jA z?QE%!n1?w}+nKP=N# zRpKK8=vzR;&4}g44^H_8ppkSPz{=qOqc0#>1*u$Oy*h!OQZcrx+x=Zo;;Rv;79p&8 z&KJN-L~gy&c77(|NwS@df3AuiR;YV9)+ci}>AHV{Qig$Jt5yq$L5)tUWGhVtn|CT? zmK*Mz8AL||m6Jq4@pB&bik@rFLY#jF0@EVueZZJZii9{D((VhJ!-3Fk7wl-jA!im^ z+m1ena=ks6l|*QLhXUq6xG4IB6JwKyZ-z7zF*cmoQ$*hc$`0m8AC4rC!8X1GXxZzC zjkE>YMAatW18Q^EE1FIy?-9U8@+dQoa!hy}6EQ}4ZxdpN^B9P~Aoj;al^eJ-zQDtY zJuByS*Nz2t00e?_%vsLa$e?(XvtJVrMma~Gdn|%D@=+dZYloP~m*8SRdT^Mb9J&I8 z2uDklaZz%qJw)2W>a@zPkf4KBqYZw&gGCgID-D)7iRcFQ66Ug|JN60c&Tyl z!c2zn4qlkak^VpV!i>|U_=Op_@WKp!BWihJ2EP%tyfDMxi2lF7Fyj|qnDOJ7trtSc zNf(tWeqqMtZzzp;S0sY}`7;oHPHK5D$SZN>g_sSb!x@HO%rF-(QKy_A0HhMXBa}?D z!TqS^+M`83SHt4)Tn)LLJYcyel|M0s%sVxq!aFq~^G?l?;0u{|YNir4@6^m9T==Ca zK|U!O@6@!2QK!;n7{C~ZEennY6drbaf~4=H%H#vQGK?uC?6OKKQ;B4eqGV$dh>LBL ztOd6gNLqQ`RDOm+%0iI`q>whbOv4I=kx92?Y!C z02X1_Z`L-B={D1XOhy5)EXu|(K{I%ith_P7V!2JoAKjW=H{*pHRzBe5F!$_~#;LQP#z?nb&638YzS$I}t zz;psX5Z}PeIJlOjCQB~xjw4~01Vx!l_2PTM~Y8AuhnFSh+Ih>Rk%1_^$EUVG zEI@kxY5RwQO)A%`#_?w(MzY>*C&xb>s*=j}-pld#4ywKTP{+R;5{RIE4t4yMK%~&V zQyu?dAW}}hvmE~*JKq|M-uC5;iBH|3%$Mq|r18LxWN4x%w$Ur0*e1hv=8mM=_ zxvrl4!e+`U8+gVuroq`d1>26gqsJ>wf^`8KxPr z#q~!)Hfe>CSW?A_LLe5x4sO)Iir0pYZ*AkVbmQq~*Rp z5p1IPBR}x{_Q+ZUJ?bmp|1wb3(OZ1~WTcVSo*WCQ&~n(2@S6xKg4w|MHx^SrMEmf~$+*nj*M$5!}8A z&K1G+%El?B`VDPlXFcZ@tc!8&fKlJo_?ZH5WEg^w9iv*~Z2;460T=PaIsh&a?;=M( zOUOvaJWKcv_6Cl5mQd*CSwao#X9?dYk9n3*VDl{DdeY6agaVsq2{)2%o+T96JWKcs z>E>BN4Yx0)chPU8)4Qm&Prbofo+Wg`h%?U;@~s)CtA3WSoUnP8Q0V4aLV?Y*gu-K< zB}|jwJWDu|uz8knFw5>eBoTM?vxH+9XPzZIg0Oj(Q0VY3l4l8}vgTPrsi1k5@E9gA z&k}x4*gQ*^rozplQG_zj68=CQvuG4Lyo+MgaPo5m`XZjKpCv3~(PdOv@bx!gVdqZF zotKKWLZ&6+SmfzN<3JERvuI=~o>??fB_0-yvHbv)rx~SU49mtLh#iig!aPeDKM4pO zi*Q9x>{P%dJhjilca2x{TnYlO=n3)CM;Xz+iroU(xs$B2XvF%Gi^h*Z!1_`ajch94 zEE>zvvwgE@WG+4yjj_)FREDTv$rK-B{RB#q3oot;!-toM|4~@43aJ@f=p(Ne^454< z=p(NeHWN0h!XbnUtHO}*(F7HnqdJwT!}6{T)Di3o=j1T(YT1n0KG>m(_dqQRY$cn* z3%fCztzR`6(c&~&$9r(A??WJeIj#`>DiYHYu$C(J5^#qjHZu@KLcuLX#>%+8_~)u04o7IVmD8}^yW+okQ8)_ejswRIcJ(-X zQC`cY-kRqJynzK_v4?djy|Fw_;tJCgQ;J&;7cKR7jOjUL2f_@q`L?Tvz*Rg@lKv% zsjIPCx10q;#{uODkL6rTv;$Ca25`;;>dyx%Ctlv2Kvjsc$f?FWbGT%js={|5A|h@z z(YEAViGMg@D3bS3$b0c`THXziw+tM100eTLBXYilD1E}9Pus3BcyQYG3NxRH;8)}$ z=ZJtIytG00xd8vq&k?B^S05q1z=X`(XBH|JS&lF+pJ2dk>{ilF$3It{G!dccKT~i# zdJnwfcyQwEYM$2%fS_7`N2j#h6Oq`t4H}j6CznS~?!gEWNT$4mSa5AD2Y z2S8Af!HCp8g~eTo20$NH>0W+2aQ6-fMrU}-W3+cFf^uZ5d{IWt-+_m&W^f||Cc$qB zHz16fZ`R`v0HI!;dFIRX$kU*dJdeP9L9Si`?5YYhaL{%3=?#;K-;P<0I+S+~IP3rj zs&Rh>yAFq!^D@Mw%acKqQ?;?R+-I5fH;5Il9-kxEZHw5xIM}vAOM&toA2ktW_+iTr z@x+liVpAKsu}-P`G>lql-zWK^Mt|2E?vO{7!%=2pMuIvr#hTn%RFm(U;R#{unt)MF zgFUyq1F#0!p0ke&;lZI?_K2wR^htH_V8b}_oe#c`slXOK%sSsDad!t}M|#eih;Zfs zkxar8_EzD`K=Je`c&J?|4pqqhPtUn!FR(uruqSbJ4LHI!u)g)25nD-At|IKS)~}wk zi(f1PzJLxQR$~Nf*LMOHYp&MI@(2FfX=*M0`7>Z5Cb|4&!AdJM0AHlA69Ku*^55&e}%?L|kO$bY4 zLqSi(_D7hE?F#;~Sa*b}SU<#;$Ib&i9lHkux*~Q5!phhf&@-_Rc(Sp%2Ve?~%|Tcd zs|US0wg6#H83(?2GlY)+h$VEG^+DkF_^XnA>Pg`1bbM=6 zw_JRf-xpC+(^2#fkkMM9@ymdV^V6Gxr!U0#-i&&t4~0U?@%3l=Z&(Y>BETsAr7z;@ zh<_E8y)4xl{SO)mEqJa8*{-ofBVV6jG_uAz9vLMc2sEw9W=I&jh08cQ@b3b<%&jb${pM75=c)>->%4ap;@);E@i%0gk` zBVlupSD8lL^M(Tb!Q${ry$0cAqW|3b8il1!KHgGK(RzPjarC6_1ujqIel3+ty$f7^ z(J^=!onkREvP}B!z;}TKvcA;(BY`(m7xG&IobwP)45_SC<%xJ_jb_&1!+^_lVDLwP z*FlTcS0Yb&Tjs6dlsg?ZxeEAqIBb&-EDEISrrA>L4+UaXd+o!((&~Z0(3j*&F_!+<%y$$7g0;KG> zJAl2>N4_L*9e}ZY0jvRV9)TRX!zKbp0yqYr=%i-@c$h#0Lv%|(VSf|Kas3cQG3F8= z^W6kkM89T3Sx$gFZwHjm17JfC_1}OJ-xJIoP*!UID#IroogQqMEW56X&p_DfECj|! zqe`yFaw@8MJr+BNQ>m(XJr)O>lX0tgJ(h;U)yvwMO>;J0&Fis*-YQw$KHzVauIBYv zLa)kJAJb&u>RdIi$BLs8POh$+*JHIMT+>+1>#_DGT-#Jle=AAbx>I#*?$tc(*Kn_DUXR7PIrV+2c|DfE4b9cO9*efsX&g|^>#>C1W>7V+$C|>j+77Aa z^;kl0H@uqHV~r$#)2M2G>@%J`?Z;NX40$++oDLJJc|Df!bevSp>#;=6PLr#7J(loy zo>tB4u{1oZ`fpu~oLy#D^Li|ixyzhtej9WG^M{W{+yaoJ6sC2`h_kB-o@E(XqAK2T z>zHPsCT1R^2Q!*Q>x2R^U%c>)fb zG6x{Ogt??13T!X{+;Kzb=2$ zS(dh>*U=E?tAWZh3)fMI{1~8Ox38nw&hG|P%yVplYZoOv7tp|CglFHq?S zj9P1>%=&Fn5w(CmJRoodLxQzHmM|M-2}6RtKw5sIEHct`zLLNCsgUUi6bBZ6flShC zrILG|Y&5b~G;-8Tqu;eBv+Fbz&|10ULDTx+Ny>#z7F_cVQXq8Q%_V((hjkv zN)Ko^W)N1NNS2z2C`o^yPJc0QNk3ZBmtV($qT$qX#H~f=wGOnX+;&$X6EuWM-G_+H zTzid`Ob~VHzLt6vHB6m%nkjmUL^X}2Jdc1V6`r9h{BPijYnGXUBmKGiTWSKc{t5T)KYshrVF$rF^f&iEr_{-F((HxFX))`jVSaV9E1d3B)}C&do+ryH+Bwy z(F7PZnZQqAzJvf*JI@a>QN19Uq}r1JnGYa9o=bzMPXYka=%@S#f$(aBt;{%HDFzO;wm`@I!LzpLxFwDmhAkSF=WnMtJA)wq5P!<7D^(zo! z-fOYkOGjWI*>^wmmG)v~@~|@DzA;R5je_%0h;YC6pr8)naKCCsGcw#yRbO9+xey5f z!`AU2BD{`qSqZ*pulEk`0K*doqy7twn@mbqVg^+#eaZBXtwDF0AHKfpelYPgQdopzW~c zt7`5-n3r`irWI;^IMi*GJC{LclE-jWaxHlIIZmXq6IuDQaLN6kZN!vdT@im6VCO8= zpB0_QS$>?`;F7ly>_)E7jCF9Qeq*bj8Tx-VF*+_4jh*rqRDCya2w=Zg5Lx2|7C7Pg4-Z| z?&?;m1h+xA63(~@Zi6%&PAtPVh+g$>HlE-%Na(GS32uWloKA2XByd$W!EKPh)wu+> zLC-R6t}elC&{u?O8WY?Gl|VkXwn_Y#g}-&D1h+v{s$17B!EF$wck|s7+y-g5SAyFh zR@JTVli)T;;D+V|w?Vrx&&B}>Zi9s0W>A9Lpk~tB;%Pt(5TUmlp5QiUXXev1D#2|~ zJMy$2n|Qe%ws4fmoa>+ZjY|n7j?<&O>Kl9++FsXnQbX)7(DAM**@A zLXd)LRoO9sI2gQC1@%MAQTa0r=fgk(L*582TBR~ZZor_Bo?XiN`R@Uh0aZ$A{ilG+ zl3JKEKLM3Nk$f82X7cA^BCA7IWy~tP9x1ww#J8aYc!j!(Rxr<2lq2S2%*A31L|t(b z<4NE)ug%MP_aMRJpve&L-hftC^RQTcP1IP6}pO@t@>;v!4aVLK&)aehE&QS7q&tPYMMg~2LcI7 zOnI${tAD<+X$sYcD9Kf$k3nec_wLO~UD&Z;zq7DiNT>gTKF2R+E$;>pi+;KBZZo*q z7kMul+-!@y!&um9IwxqHrr$n;nfOfUKgxh<{C5xpKd;GmrIGtd&=W|MOKJT}j`__k z{0b$>!1Jt0IAL{_X>O-okVg;avy$bZF$bv3d^);}#~Lw=f;c zxSq=AisWR%yHAOf|Bi|Z9ez?SH5`Gfv$=q2YiErpi;hx7#!zq;3bnM;A{#2q4L?3Vh{02Dt1gvKr@lKZ35bk%YKvX-+uT z`@BF2`$Rg|OV?vAbgp-Q0gy`2dtNflD)XIG;9O7DOAI_o$mKR6i0~F6?OgAP8&znG z&ug5hI5^k)yv9i!>JJI~yvAt;*x_6+QsBBWMdx~R_hW*5QUILmTg0eS>0q=4W^pEt zW5PbyJ{1STVsUy6`#GZhfb!?FuwMqWl0QX-{XD=7mruuH)MkDLFed{G-4rz%Nn$_v^_6EoM)BJ;8yHlt=f{QBLb%-X0G8rqIonj*ayjQX$C_$e z?%m89(~SP}s408Q9AG}ZGJHn+PcbrdDFQuv2OkbHtLQBVg0GEOl+?Iw;Mv0|Up|5HA{>srhP`|k z{9TZdbu;ex>vaLXJbnl2TV+|tMBVT4bM#(l3u{VLxtjyz*r@9s)Tk62)S4O%yJrT- zanZPY9Ta*rV~&p|-6RI%3?e5)(=M;s6=Yg8>plY`AsL()&AHuRJp`E^t#g+{Zb4>5 z8{OUsrIs>-nb9V10FZZyoD}V5dC#NA3E#=lhb(VlfSnS3%<|etOx&#Kla@CI*~@JX ze~T`*ysCP0soWXSC6>1ai-1=!+N?99Z(5#TYSNt*eFttSI5|_Jp?T{oC>3Tm%Dkx^1=AQ-lCeG?>!x7B>xZV)k(WLcp*yT@!BJC$IOEkxVtPZ;_mk3N} zeHsqCE1?!a)`a6KMs3C4K(Lo8(Tm>Lrva%>`5Z>)vb1L-k&S?(!%$kC^+QX5e z(jJNE(qyK4G@?rrT~YsEI|9q}v&_m6#_YS$8zX;6%ne8Of;_$s&|(6a+hI zeHj*IT}x$s9rn)$_uj_ze*G^*;_7@-{5#^^OH+knv!{w<-qgo=s zcBE!|5<-@z<`)p6G0n-(4a!psVQPZ>CKX^2Fw-^3)r{1<_J$Jg^1P1;<6a z)M{2Eo?^Y_&wmt!jD*Rt&WT27h$0j`!hW8794im&-eRTRTcp%`wNgcS_i5#c!tU2} z-Ux0zpcO1i{fF?Br|zei4~inoQy)?sjj#%XU;wN~bOy(>RUS2oMBj^a#B_{h>v4%- znyyUqvb1WsZsJ#qn)nrwz%<`$y7`z&GJIPy1SSpmQCU#~uGTe@2Gp==K#d@cG~nv8 zq6X9mbC(8OT~^e9CO>IFlLZ;2nbu0dx|s|t&9qiz2iFno9&3#%ilTHmYfU+#*tNxq z)dVvdO~0$|hxCodDBfwMx>u zq$YCERB8IY^?<9BH2$e|r00ZQp1Kcnk=0QUlzIo|ENdT~{1~zg(#gMP%kG;TgPv5L zqWQA+7bcT_m`;zlmzn4|llMGW7wZIJL>)}-m+Ram?h2EM6m@M&CVW)Xde)S75=(o_ zWKy2mFAH>0lKlfYN;m(HmQj3yK9U&Si#`sxnrR~HMROQShr?i6C&u>*W{%#$ey8F7_nWR0{m@+#3vN*X!H zO&WQX)B^<>5n39#;!Jdl%`m2N6!vRZs5YBogI8XIZPRB-!P#>%&m+7ajM>K#Ar0L_ z77^K!^DQNYYgb9ws)}~v+SJr3aE=&`46+sHS@PJ2)l1e8*+YTvK|8%$itDP(56F2Y z)Rnyu5pqV}PZl28$AL>X(s(8@+EQ3wsO+bRkeUn-M&xk{qWE({_CQD@)BAAAJbN~9 zS;URd_yXXvkQ=6j`31O?xxX&6;Q~{p!A}D&Q@z3O1}?^YsMJ1l6$(c0R@qmPku3N| zrewjF`3GWPrBrqpl8CgUwY0DY*aeKi6*#gM8?Q4;fH0Qqi3=?y>$35}UNxCIT!}oy zUT9)=Ly)JzJ0p?woAE8{wCdw9k}qHj9+lcPcOH9)hYKO8J>qo>j;GA;{X^y?VrSU0mg&M%#)CP(A|IhS@RVbv+N6**g<&c z06@)YVCoK1&D{W+$(=>i!Hjwfl>Hg?JAi|jOl8hNWP3)ozZm{bWWNrS6e$OSauV5R z0N}4GnVS&BCaAd_luIN7m3ah2QPG1S-b`XuFVv>yL!kEqtr|-#bO}78fz`AD@FK~x zNWKu*+f0+$<6zT5cZ0MVq|DKvG_tf$LE*Jbpgnbzey*Zs{Ec|_fn23Wo8sqz62YRo z<_Q250Pt6J84LLg1b+BhW8H+2MxZr-zGTVxlP&c-fZF|l7BD*X*Bk<_NdXyqZdKD4 zloOe*Y9TZJ8_7>rb~Ub&rWM)X&pVx^)||G_DqHCtFwTDL>c>df`XAeVU(mAyPD zWxg)uS>R%2F4h^gehH$Tj?}wytA2GVk^2OMnyT9#)SLp~D)OELUMy5q&26CED!f(0$@&KHhk#e# zhpeW7V!f0st5Y~?TLMDeSOBj9sObb?6-%q8zx%ahd@os1TZ?UeZ3hH3-L64(iS0#f z7OL>zx1DH45?p2YHi^r`X`lrx53FW9xH<=98DM*Y(wph3vds7lprgro z4}c@cc?YuVfcTnsK{NlTWFHH#>M}qzrB~yKoE)71oCqLOb-4c3vF0*R&SaWQcaS9G z#URZm)1jb&S$5nq;X<0o2@nJ?PjO3>~G z{8G=jy#aheU?PC^WXjxrq-nh^Knoau?xLI~f$mPuuK?^r z&i*jp9VlT1O!6plX3hdhT5lJS=nQQBTAzl|vd3ZQARt%|Bui>4uf$FAAZAFFy6*+b zO`w=TxC(_@4`UD>54!a2>j6mLeg}Z`?W!LrS!-zF1N4lV{Q#^ba0&o^l8(RpC`{}V zVMqj6762ayKpR*Di5e3ChY>ghsSbg@RsGL79J$}iC2hlzAgb^*gq5h8y}*1F+qg4U ztZw2Q&?DR|wwZ-hL~B^r;J1Y>(2{jmsxq^{taR^^m2Op-%i&!?ltt)HnL>kWw zKUVks>@K&qlqWlf%oN0M2xP}2MozU>q_|VcT!{$whU|5SkRwVRfv8^)#Q~9Bi744Y ztw?bPl^HfwkBjV|h>)X8BTvWMP%MuxHIB6StNMX;ku!o%^gNr19H*ZF*Biz4np%~_ z9y}$R#SL1YO(0~)FwarQbCXuxxxhtro3!d~1um-7@v5qs*~kWRlUChWX7f7OM0J{& zT@PGTr|}Fwl&gcZ*(-0%7+oV;5ZsTFWJIjInXKL}hD@~7TOWKKQ- zqX8o+^(~THPC2U~M4v=qb<25JkzJ3ZBAr_<4J#=r-Rp>u&8u5J6p1qDAWMvVrOy~O z5%OI?`672(N{$}g@&mz}-4(cOXkA@$cABDJ1XqILRRGpAl7Qw&{<6;_;v$OkvZMqtKf_pGF=gb+ z_lG4Dpe3pU4L$zy=LcD}(}aTUIvzhTSslwA3aC#4JC;+R$`2kgcB^AK<0_{ ziJ-O#f!?Q$0g(NFsQV6hyNV+2+g{B}@=D4hjf8{{N+_X&q|rl=-di9EDAJo$3B8LN zf~dd-5DQJDBLbm{bP+^~R0R={u7Dul|39;P&d%QZZeD_)AK(6d``*m?&(6-y&X%+1 z+C#sd;A8+|!j`K0TJZ8d-BxOn7`uLE(N0<;`uSQQoik{~UUF^7 z1Gv!rJc>(GXX(Y4c<~cllrWvGb&S2KkGZjGo3n9I1tIyf|(P@GaZo&$3m+{w-)LKB2?D<)?nwd;U#~LmBo@=&)Y~ zxD5N>i+pb7`T%6;KdVFkK=3m3pNWS4^D^}FLgzq8hS6W75E{g73R5<=WkV*H!YsA< zQia0ED^YT162AqpH;8L;q+U`iIV6AeuiA_{vPbO7hgLA(46 zcgmchJ{>R%JVkOiv}@ zYlTDmGc@EwQB>@ZT0fLpJETUX^F>k4f1hI&T?5(agYF5ob!nA5{Tw$R@Jexj@N&-Z z5_@^zz=k31XyovhQ9{lcJ_jM^48u`I&l#3v7&A>mE)E{pHga8H4C!GE=UNTOJS(RC zj;0M!(@sHAX~YmU?XzIo(A>1ibo(%vb`VXw3=(46T_D7?7eUlAZ3IkP_6k4RHU`m? zdF|&T%8Kvx9mP1*;q_i$d204K21W6G0lGTh;=RL1ec5ZB@>2P~`^p2XyD0RDUVoo5 z9}Ddt9evjKP!#CuL=YA5ORh4pfoyfCb6jz9xw7{bc*O*05wm%vqun!8%azI}{XMgO zxw%pd$Oh%M$`QDElQJ8Y+biz|v5m?DDjx@C<8pVUDU{iyJgm|lm`%$gE2rX)MHEac zk4YluEIMP)fpo@_SC59NJ{9*G*fxAN+;~4OO3ch>$9&MYVaVg`m=gg>$IJ&I9dic= ze>N4A41XTieh&r18?VGoF^S0_-Xw7}h<||?!f9&w4d5!UVaP~w{{YtkPEz|0+}=H; zk5fAi;m}v6;|&gbr90cP$0|OoPgCOnEV;vRLs;Bzpp5HHuEN<5HF$nG@S;WeC3l0y zkc#^wqV|TszPLED4a5;3Mx2O0OY*EPq~arO4KP~M@RK1Yez_Ec_+Djdy1Cuf2zDDPdMG0xa1|Xybdx7vnZrQQEq4-yv zIJ2)BUDnR@OA}FiZx;N4mZS*+CP* zchI0m`seqetGnNw{u$hJ%I^h!INS1s@^iqq zlmDIYow9&GtJqb*Hew(?)5Vtpx*q^9-TtKPRk}X_FFpR0uInoU`Y_stAO5Ww! zL=xiR&p?XHNJp_J3r@OrnW$^U)yoW|t0_@(;@fdjB=5`i@!ZR9Di-)PXj9p9cAQGr zZz{Wvjtw}DRjBj3blo&5(A6nhx#=R*`7kwYE_7F?ICKlyI^eY@4(qLC$Eq)(Z0(E7 z9p7#W$RpHUeR0`}?V)}V7gRZ56l+^S+B@hqM5>s(f`cvl!m_p;#UFU!OietxEuZru4u~cP70yBvkmwZ#@Wn{vJR}7GD8nK;6@*yGvyVo zL92nE!@)6ACgkp)5pMuLOYk9+dHZ%hF3Qp1J}UGccs_hA?yW*QQfS0Y{vPj8x!64o zyd2LQDldg~e+|6cPb!Xweki5)lZVQSVnZ&Vn)4tg_mg_D`#SJ)Kk0>Tq0pe4v$~S| z$<=_!vDTsThM4rq`fyeE0RZHFQi1rs;%9*5e)3RxFD;w9yPpIg_mke1!Y%%OQhDit zOj-{GPZAFmhCI&3$-VtK{>oo@MGge#%9SC_yn9)JDz}9z=c(6r1TS8jr(Qb(ym(D< zY%Neqy*5w1HkoQJg_w9vFLo~gFJALPGbl9X)~v3?Yg2)U*XAW&I~IU=O@Y{JHvtl_ z%}c!Y3IOq%x24~&yw{W$uMIhp2CV}`8aLlJo|1Hi=Z^p{&X}+76%P4M*7*6__@D7Y zB+`8yiilP76RXYxAcuhS<$c4v+vK!QFY=&_c0CSRe|bCJ?|ceg4gs}RDa*0gJr1|3 zuWTm<>mi^tj>twpd{e~N1ghqtfn5Fu%gQlmZwzahhX>0_F=!L;vcf9geKL5ttzAM_ zl54=rMAiv-e2mlR-94{H{m%^^Qq-V5?G_iTN)N=_9N&^M81 z%S$~S2XOJ7t#7l*+1uW7y-QzhJ5ZR;3#j!VrN2%3V5R@UP4^-GRW-S@K3rc(l9}fS z5u$^(M6MJ@9f-gFla^<0fG=U)LO+3U!9n<`a!8Z{5!SQmTnPJ20aTujKk~Nyik0<7 z;TW<~;BOV;D`z8}^VY-9gKn9Bs$pe(jH%Rso%fnlzEneb*f;T^hN)omCvm){25iTm zk=cJQ(QSBsS{n0BL`c(o*tS&!^~c5LA7hao3Zmt15MxPv3gRmy#@&T!mc&LNHU`nU zHU9M34S!yPsbq_m-scc9kN z8bUtEc28lu2MokHdTIYcnTGMHR?$^98ifig?Ubwv_$KN*gmw&?g@!*yMTgLqt|oZ5 zbR-K6rtg?`LM|P-WViTm33cF!!Ee`q5Klhq9Vot&azm(~o1J=8Q_Dwy>H1a?9&@*M z`&1BgdtORh&hp}NA?R`;*c(EyH-rdKp|CEr;8&p!!e1Y=#~}!Z;Y%#|VZ@O97Yt)R zr746^!w&G-!0+K=pZDm`ElOjy2j1TF3tah_SC(iR3-aE+h?QHL?gRN7yrNOst+~ClbxR2@ zqa~$n@E{UB^D^mO`4PKqTUM&zV`JpEFSPuAB-)31OFLjbX<}sYrI6Ctrhy>&NzL-p zrR7EeYHnHvS2$!!OE*mbc^kny{BM)@p(TZtak)~Mb#U&!_29nCdg;D@qj}za8{A{u z*A6yv-&n9U+_xfXZ#V$h;=1pCx^G{&Zx3;wxM)V?zOU1Ldy4xyP*-WDx=-j?!F_+G z`?f3%MPu*=HC^i+O7|Ius?Xj=7~wN&hvYsRkJV_oZIY0?3in47;Ns#^2kEa$`5y_p zBwSx%wT5kgUyfd>XyuL5z)$Bm9@&V9E=(o4T;nky_1jA;zGHX5R9#ti6u0@!4BE=F ztAcKM4ikN4(+x@9g<2{ru>O|wNsbrt*O(G2D+)QZ6XZ%l&cKXQSw)IHKyreRFQRN^ zRUxnA)zyUjDaqA^yo2N#Lh|FLl{JNYVr!6V33(Fs`IWVmqz&szZD*1EijddQob`lk z?*utf$PE#(mB~V`MskXf{3?gaR8dwUxxSDOZVht7X>9S4tZgG9UtqE6v)On?R^>#w zTI>WlO^Wen%`2OcY;C!j_H0KQ%t)-+mHni`A7O-74iNGCY3Db1)r)^qF4O0g!>~N! z`_?IZ_|A|(YQ%@v3t#Vp&RMpiUv1Pl5m#oTql-&ccE!y@rM*nqGEFRROEte4f*>q5 z@mQ?5jdtwKh_m80(ux~+d53R7uuwi3fBUpG7q{)Z(HI<^g2PYa^u2H-DgazW6c^AU zO>*rmOW4-nT7=k|l-!Z57WB%*U39IAt&x@SU@V{^$ z{&zmkKhN>cYy9&r|9r|nO&BMgo%}PLf5zcY$AZGD{MTn9|9;+oQ~B4lE&rYHQDF~Z zPb=<=|DA{P&m8>enxm<578(9-D^mGx#2x?{)Y-d+c}MOcX6JR|;?8_Fc>96<#glOB`Gf5$1BJxdWN<19~CP4=V@xwkmmQ zDP~tIsHqW|R~sGIUe0ddU_Pk<85ZnZ9aq-$SDV~qP*asd2~rzoSSYbQuI!k}klMw| zR5CkoL41M+7u|@c0exzT6x_;@NM~)4xsga$Es=_K^MM#J2g~Hl#*;ciIUJ{jru+nU z;sJ$sP%xU#YtCfit1UIJw${AbH@o@(R6JO-mVTK`Tuc9&SKDh|?WnpcF}82i+=f~r zO^#pMv!{BbRCIBHyc?eYj%~Yy(~wLJ2V$`y4{;lUwa`+JWy|n&mRR%>tiQ1{@)1RJ zZ%p6;Z7f_2)2ex1!%`_m_se2}M&=zwU3?2Q=n|)~Af{F+*xyYC#oe$#Pl9*}nOX|2 z0mb~d0yh}kO2{I39EjtQAqcOMq6IA0$C2W+r5Gvfhdo9Lvzo_9y_jL7-t=65$8Vk( zjZB^W-I}1*Ru1(+NSdVBDY*XKO!65}&t;ONKJ-|d<2M?7>bd@o-$=D_78#_DRt{&6 zq>lAi!I3)AW45ExZp_CVU7w;hK2kKF-dOe#1PBw%6>sIUD_flhJ7u3qWUYsqOjPm( zu6$TL<^|WjRWuseAzo`!{9w0r7QY)QONH^&RC3eI2O_Jy&qQ0re=d z=vV{oTnm}SN{-YFDhvmyxo_y zonBosw&7#;HWC`>H9<+{okquRzUiy2M=cg(IVQH1U$?>(^wb+u3zLoOtf!|h>I@cX zZ_SyM@ccF*NwhJRukQO84cg+;oBI}y#KjOBe+13luJ*y7K)s_J=3o$#So3baY&)*7 z=6r=GdQ{>&>*suh?~N?Bu7%-ROVVGR?iO6X*ISV95U4e_55v|D3Y19QY}|SxTZM%C zC25=u+_Qk%P7z`GkOp00hZM0`Ivr9eo(`$T{&{(7Z*=EC-MPrxMWoJC4wzb^0bE@& zM!TSwsW;)hl9wF``9%$sNxp3DK-nd+qF$gZOm^`CCAP0_pwRhtPN)0edCA%t5r;hl zaVEwi|Hr6ZzxRmH;NbUg?LWw@*KX)i=`^HLJPoP+Yt$CmmW;CeR;*S#^81_`Xrjr^ z5ilb5NR@2Q7PXsM+s;d|)~fFO1`f_5wMlozC_5o_Yl^3Cjd7{^5!Ce+^GwTq`0%PI#9LXv3ZO*lGY z3R6VEkqVo`{2r0A>tkyLC6ZZ-wK+zc3oE<16=po~C>({{T$n584s$EyP77BG-H;*2 zU+-y?O&a9nDzEUfytrCuhm>BWtxUD-u_O1o$Xfbr@XfzlYYs}DfK0EH9jOyNS8}9I z@?6oK0_pD_4kVG5eS|lJ=1;qW7FlU1ZS_ijLHBxCdqh z{TwMis3&K~-Cwx1MruJ09u2JsJZ~NNZM|$`(Y*sI+>0&B9CHN@!Gh*Imco^aL>JHI z#v|uAx%H4+1?Pd(+{!fY%#5Oe5=FeaJFZ-cTtZax|7FM;p+%sVgX11mu80STWmGGmutVaLRc7}0{` z%TPFk^(9Ho^;lm=YM#dmj?@o5R&eiw`Y^*tec~}20p-ECjD&9Wb-=J}KFALM+0wPK zvkGX44wj9hXKnCbMW*%L?)#wpXu;?t#iLt#q2x$;dl6R`g1bU7lmj7&wY~}qYt_nY z)Kr#rCD>n**$!jNw+3OKZ3x@lI^Z@}3^Nc2Nv!2xXd6?|WB2=3cGD$PHdtV1&0T;7 zd$kW$TB9XKLv&1mz!u1XKOgj^$SmFB?gPbJS+=z(H?sl~s4g2UcI$XTB5MQ69wdB@O>nHq+LWU8%i2vz zTGrZ_qPDduY8T^`hN0<59Q@LW>x0-38E!+IlG;-_+**;EnPH@k&oELaWEiQ7GK|#E zJ=f}<0QEw~{R7lz$Wr;Qi&)N)g&B+f8Rt8@=t%9L94sNlj{vfBTis@5V94ZJ+=rlw zenqwWq^EH!3+<9oh589vd=!9?#NfUjqD;``T_G&~5Pf8XQB-h00dT8|!k#Tr$xLLm zE-pwqSU}WvMvB^wOwpdpiufW@plMOueJvUkJS^^J z1M^S{5c}8;W)K_!HM@zYDCfu$j0Get!N)Z zJ-yR30kS=7dSwwbvBp@_qC~`EkIl4F>xdXNGpre3U`p8$37CAc1!JBbH^gF%G1C+? z%`wvwGxlJrvb6P>HU1EwOgx{5A@Z{;vRegHblkRnLy?jrahft^M}l*Z7*B%t%3vDg zrui9V8XXC4_<%IY&aXc@4@|SX9>5ozz_d6Le8mZjH6BI(-*@+-#8_-FTC?~={=Zl$ zZDQgM<*u>y9GapwR`yvYFDq@M(tK?r$HZ!W5{Xt%LfiAU7b!2>^CUz$M26&QO?MMU z$~DEZCATWD)say$nQ-k|cO)!|OIq)zsCCOLQCV@z`lv8$l?$>}o~9;X$v+PiZvfRG zQamDL!|V?0hGnfmw#r#NDL~4b-LnHvg>2k3+wc^%4Np;P1ucj*TXgN^>!F(_sI7O) z1hqEr3X~~teQbqYNiX)YeIRefqc8{K>Y>Qm8>Eg@F4WqwIX#Z3>-2L#p`%f9iSFw5i$A)#fZ9wq@7TOV{cJ^3nwz8?@>*#g) z#Woqyr2Oe6HivwxXcuJFLW&;&WVu$iAMX4PKvs;@p~~T|@n}%|4n~QI?}GSYU|s|9 zS7eqdI#T@_RAYxDHNmBUO!>SrEnb$5fh9~t`F-P<7ERVbN~+T7>3Uc_r7 zS{d_Vd#=@;+l*s5WNFT;Aovw?s*+R@JqZqX#H9Fj0*w05|o8wvaB;^ndq;~OG zhaqY2^}Y`g6Y^ zh*W9M$78Tk=$LOqCq~0bFAeZUprUxO!N>T49V1oIC8Um14v}>{sLL`8ge1Bvt_41^ z4_%ub58OjR`}pPtv@Do|g0^KbSlzN1MbVNQhK}WHwd@Cd!InpI>@fS9W>V0O*&SEQ z4PwzYdBSlC8bGeqT@UI;!5LEx&K%T?WWEac`wY5 zU(^60N%U*AHTBVN0}i&fxm8d@&}-ek0b0ql4|0f#AAt5PL(lg`S>6<>y?n8AuyVji zE#a|}8wzSvhLIZWv7%cV6xUF;(+;p7c?&oT5*=>Z{r5F+87T}^eZInnCDocJhbpp& zwwtmTl_-fs(SZ?%uBI>(UC;k9YWKm5geLXaS1eOa_7t9-!o;WRYlZZ>~ zwV3sf#cXfe{Vp33)sZ}=OHj=6yuuWhslLj#JpAjkm*=oN7n!|OcBH=Jxstp+%AV35 zWPklcIox^u2Gp||$2Y9Gx>B;>NVO}6DFi~2a6xQBs26404a!RHVL*=}Yw>#^d7l>V zp*i_F!u`cz$WU5vzW~9PFQKN8NAmt&gjelI>A$uZCf|%oH1`r?=BpkJ16{XBeoaKb zYgrwUO?-}u6l8T{HV#*)*G6hrO<6uXvUbyk6TK|)zMn{65v4L2{k@#4dL>n%KzOzp1`U()FQ<0$~?-*Kt?|On2 zHdfHCpu;CB*k3`b_P~1JD(mOLUBY`1!MN%U9vMjzwL?2at??;p4ZH`MnS3~45>sBo z;U9I;_v@mK8>pr({F9y}F;YM?<^q*!;Rjzog@9`i9oM+EATV#z$DSLsQf`G)1jL zcZ6o9+T&{!kVBCXeZ^IjR(D>C+FDZ7cHYrj(7t#riVn$>IpOj}kiB9NWVhW?ZTOOosypyF zfn5~3NsZM}b#a7McT9@fj!9A5F%LpBQ_rJ{$1XBlNK95HzcT<*afia@(~-eoyn(n# z8H_g&eBnzJkob)<7;hk+R|ew^#JkF1yn$%cMF-;z#8720-aznUz0ij724X{HFy27i zr%bCO@q#i1N8(*&ijD+--B`>yAH)U7oSh4f)J4i+J^3Z5SCOSfXtN|PEx})taRs1t z^^TjVV7}J<5Em{+W*v5pzrf2jcvSBr>PQ+H26v)CZZ~D7!O3ottqWB(c5kdfDKc zk~7K{EM(D# zrb=S;1?Nr16@b?7Yi_NAC@5MhZd*`0WSpYfzb|g1+@cIyj@$K-{V+GfxM4RNOYlw) z!}x<;bIIz+N>SUw6t$7{8Ejw*!`M!0EAFmnK5&&+f2``!+GRKQD7__pLSlk4MMr`& zrt~q1S;~|hiQ|;1I1=1hK&-)$_=Pf!j>H4XG&vG4E7R;qe4bevTRT6ET>X&|0y@*7oXNHZI}v9wvn+ zBFXAWAw_L1DQaDL)=b)$PYU(c_Vc}L@Lj#NeYIJtw-;-BXf}G%j=l%?u>Mhv+RN8Q zShYt|)OsXEtw;U<%}k3rGAE?j#Jk zQ;>D|kUCR244+FuJ&9a3d_oIpan zbd&GHToms@h!Xsvo|~d3mkJxW82fcyHS9`BRC9M7HTAFu>Q+Jfvnr1Hn$n?B`Ds79 z%0B1aH<8WX&*YmT#_|KasF_kmqAH1D662LAITC!f0i-M+LfcrGiX*{oACLyw|Lv(v zqa$&EGEI&IUjcwvv%Cv%x-uW3BPA)lRe9?73u3p{8pKMjs({W zsP6AbysAvQBk_(h9gf6j%5*vst%wGc>B=5RfU&_u2Qg%r(+DZfjxoCj`ZMP0P_B9~ zrKlZDDQX8349PUZTzmBOb(q8y!bG2d?Sw1r`X<5fhe3Ow7v-+JR9MZ#em(5)npJG> zt7wj^czJK-tTnWPF0q!cTvyg^IR5^P+y&_oo^|DYkz{o@q-g!Jwi~{;e{KW1K|$Nl zhOD7SfbuV0mh#7|?1c{_1Jhm@wV%3=4wEVv%zr^fOK|^2>Tk+LU#3Q-Q&2DjUuGL5 zrQfT-D*#-jdZ3lmFO^Grs4Z%-ZsZP{0zpZvbz%7JQTb9~a}#he28-?c8~30fQ|{fo zamj@K+d6eTR#%M~8&B0y^ITmuebiKS_1XL8{gB=y9Tj2Kk(r`4GE>w>=0BjB=_zFR z(hjqKdNB7TsYgTXfn z^{ukC{50eK1B&lEO6A*u*a4YJN{$p?e`2vVN9u?SBQ-a}NbxXO%aOV^!$|$wbFK0g z(0dt&x+SrHQa{-qNKxAZW4ssb+|&WxwB0T%%O|q>HdU*awQnKL;!KSMgMHhC#UEPy ztVdT-G?^7r)LN0EHX2jZ`XWWGFZMfBZS04C(y8AAaj`eC44<7>ef?`RJ#ui9J=0^of?un>ielIG5C!%A&?W3_IPy6}cqPmS^4~GsU z8()2JMcX7G{xB*wge>EQxf-QpK+}ai##qw!Yl`+f`{9L~X0B0lE1{--*%fNFuiVhz zK@PQIUmbDqbi@Ip6-;a?{|EHT(U#bv#c#`^`hFKyixiK5;1^nvzeBcgPBqo?@7h^U zlnN6fx~J>wMlut6?6<|Yh$U@wq+HwM0mMQw*1dXx#; zWI0Vyt9c&EGUW?V2upU4-MqZwWjQTrFiKJU;pF{;$O>5tWAM798Z(0>1}{it^O&zX z!ete)y|!(Wj<%@vc>S_7P?o6^nVztkiA43*S;ngUbWvTaQqfr)MDEoDcZA-S#MEJs)N^x?j^J}_{m1WcaEbUvaj+^V)!Q> z4Sup;HEaE}q?Zl%wH5h#)^9^MEwX+7eJ?x6qt>RaqFNC#I2V{(p#|N@j39osEa@T0 z*;mbq6tCwkK*c6;r^iF>0q=m!qcx^9Ttfw~aO9L4;| zi+Y3~_SzJgoQ;%)m0UF{X*~<&@r;lxJbj|}$-X!9Ev?d>a0fg_ZX9yE+{N(<_QH4# zb8dxKmrW6T$?4n*uP%?=9hVV=W!Z;BIm^|QC=7-K(JhgOWjeGZzeZJT5GhLRVx{mE z4&1HBQk2*Yd1S6DlG4_^CHg3}d(V>iggkZAK1$6%9$Q;yB&l{&mS+mRkjEGIqJ@y< z>pm;US1;3NZ{d3%_&0AKKd~R|;n)4nt+2%TSt;Hj^rjR`Tpdbz{R^*)C9XkU8S$)l zNNU-_OS06pzNEISw%1NLPkOZW$hTixK|L6Nl6743 z3KQ$$|DMrhjwhb4JUXKWoA9UrMfp9aoD=Mu|WvPph*XmuJQAxIy>oH6J82KxUtRb|LTBzYl;YfIFhcY#u2yRN z2zg6uYcI6wh_ta7wvhA!wSK&KnhQ%xo8l;sHB;-qk+)xTn`6!Gp+`81V*S+Jj+NvK z>-WEelIo}KPUPLcnEjX&c^kn;#`^m%X+5lipBwzb_2_1~$9h-?zg=tA7j4f%>d{fl zn#TMuYLj`6HH}5y@Ben&!l8?-bF6XP|FTw@d08Vrns&&4r>%%jJ)o!^o%WcC^-lb6 z*6nAo-qg){dE0-)7izbT#<#K?OP!Z{Q$OqGrvSfT{eEr>H=Dh$pLK7HeC!u%|6|QP z+PxgD;meK3BmWnzk^7mqdNE^ETSH4uKtB7w=bJBJ4fZjzClHIiOjgO=^4YM6FYTT8 zW$~5X!~1oLmhsK2FP(LAw@J$`LB8Ni<-4%valcRNe(~kAQ0|fSj-A%=lk*pTDSQ~_ zKz-z+dw2Sg7XJIoV`X%gt>+EuOWYz!;yK)AIQ@gclI7U&b#QMWSLA6eDIUy$OTNTm z>!=`6dt^ubC?=Vx{Q&CyD9eP?KB-5)aJNl4Jo6a}YIuf`S|-ER0JTXpp^vvr5X7M>sbRhb z`>oFhr!{N^4cj2IV8v|*iYJR&UpQk_YzD4ho?##)iP@(Zv-R*b_|U$WU=L>BhBZtu zl?SM@wI2w25VD+k%M~z^Sk?MbRW#DRYq4mkwIwZEAGL?kX<3VI51W~+M?&P-7Eq4f zV5Zyi_vhGJYf~Z%wC9rM&6q@MeT=m*(fi*^ykBtZ0hxqcZL56)<*KM8UvJ|#p6sOM zl0Ho9uwN^0v^2k-hZ1okh+$HSeWtoQCez*W0G}##!@!j)F{9 zmM_4ul0Nb(T&r@}bCFs)!$3%4N4y*vz>+rLQq(#rMXi$tot8I^n(gE2@j#hqKL;$& zibyvpFRx^i4o^V%inb2x5Sne!DOd5joPGUg0%pk|1*fW6!BMt>XGLb{JP`~Tfy(u1 z87m<-5*d~HV*_60m8fL<~?^a&L1xeJuQ`D{1p_-yLR8!Q3>U_Ej ziMB#B+8e@$_1HJ~=A6;%;Cd%gs}89Su0CjFb#U?ONEj13U!NuLDlST*Lz-X;6V0~z zCxx2sBKY-TANeUTD9I;YSjSzV=viyV^o%Velqb#Uevy29E(zsH8Dl4 zi78s&MC-WLv$X-oc&lvLbv-%_X!ulS7&d`#Dr4D3hSgZhNNuPb9v7-^4d_^xI3p-B z4BKw^Oi8(-I|CEo709yI8zpgdQ@!aB^rn$oU%8};MUmYy(#u)0fLGtCd39vYlC9t` z1^rj$1t;AMONloCUjy_M9)<{>w$190W%;I32&X%gwrlrOXZZ$R^w zjhf86^7nm{3vLB8mtP0SX4v?Qt;w5ATPWK{Ecvl=a0duUX*+C5Hn~qMdaQ493ocTv z{VAImm6-c3#OA6f7adTK`+@@Hy`E z`-yaX+6g8_?W~cacGgHy>%Dp3&KF1>>2oGMhjzW`+tzM;9ZO5|mPDgRY4@UANbxBm zoieb;f?-0LjVkuhYT#Z{bCkpGCN`nJ(ex+`WbUoZMv2~|Aq!Va zmaeb`$uY5MA9}S@z|%k*A49(*f>LRi=z?O-17(crz^jXSzpwzAvqEV!KNCdmVPwiT zg8vvaXM(_kl|*ZLQy**KE*teBG`RDXskeZOCRiA+P6j|*9A&J$*qG9>C6zDa`^g&&>!5J63u0y4_$_%j=FVm$!>=OLGw`EC>_LZ~vDav8H3_=oH-N=)E zq&8$~>L;HrT~RrV9AZqA-5;`Wo@C0}jyl_GvXRONrL3*>O)twS2PkYB18SL!+XU2R z8Mhy(BbCE+#})I2i~}Kw_TA&P_Qw?ol~Ewp3CxBdb`Q+gL7W&EYP>lx_%DeH|AFmh z&kd$njM`3!Q86YGjV50D#vVS$1&P`|NKxz86tz7Rqg5u^^JV)}$u@LjH8il7m7vC+ zja`U2Jy$^k>_|z?`vU$;`l;s*uI~n-i_r9ZRj%JS<1_JY2r)4EV-hg=StA(htr0l> z3&mKSZDWk0Xu;h9*#*cDg>y*Vr(E)EGA>B9b}O8s^-Z!Jn3lDUO;P+53*zB#$h4xb z;|rk!GW!`SOdRXGMvjoCa@YSSWNj+Nm{QTOlAHsKn|4Z<9VzZ}$(78HM;0BIO}}Nt zt>k0ixGK>+`-zfEc`%D)=hH#BLfH;Ss#`hCpQKjEFjDy(PHIwyk(#0$EG4yfh8+*; z1dkOQsmn49gd}=k9(Tb=t02Q!whtclpf#N9Hx0MHDE(K+7J)DmwQ&-o(kE?@>xT?c zgdeFc<&v|NxFFTqW3Lpo^KXjU;7n0FUQ*PCZi-sBrKp|r`dpAZD#RRoCW$=~ zfOs3Lt|G-{l+Li*&#j@D$@Z2HENll9)xe+QW&7cxR5BifUsG*ksw5d>Uqe=NNbRp& zV$M8Y1s_7tSbNKVT1{g^XxZ^o_(AS5YO+0*qBihS)W$%H+Fnjk>zEX^y}U(avp5)D z$a==E(6%{m*DGjWYOrHreH3I0{^kjGp66x5p3WLLKhdPS-R-4j z?mEQ?{9!EL;AJtiC0=ab+?i-CXw8^fENkf?$R1scAR^h|px0 zmZG-a6ip(;)|_SEeUFuB%(~&GQ(+N4`d1AOF{Tx!oG*pL&yxoPDko#&oxAcTiCf? z2oLh`Ndt@2Wy&Rcjz@870zk6V2RiB`c2`($?Ap}A;})dQp*mNx4YVz{hFq7K@1BmT z3~T$5D0i|iYaeO78cA!bAts4)=eidwZLJuIiaERqc?qJNlq`Av1x+#ddsmN&=+Z9XCw=J>D zdy3l4d5YH8YFzumZBvz{9WKm?VNc7fOgKn%VYM$lN(qJDV!8$T+ zsO_Q@wLzYuwgXet*4u|SvPgbSDZ2QEr094ZCRhop#iCO7uv1CmqB)k#9kX3ZQ2;!o{Xt0$|+V7!+fQ>qJ3h~ z)SWgIR)wPAZ0Q%Smq#PR^H?Gb^bEM?kQJ&|hn(iHg zrKi$WO|eGUVMQfzwLJ$PO9KHOEQ%5OyFi@5!@Wz!A~hs zXT_Za>fDU$LIe&$7D4`E#6`#ytnUIlJEjh@t96Rn1CA86cRDF*xBMw;r>7LPq4ohE zY9ev`){6fa7w7B`!2^-u95|TNVag@0T7zdYNR7ypwbAmOD+J6I9Xpb&)35Nd-Kr_6 zCq~7cERySR#rmR+DQ4=3(=XR4p%Js zvN-w-W=N(|duE%WcA`sAgetEvu@Cq^(p(=+9$6-3liTkUwPP_wZRDk>9R?|C<0eII z+@z@W#$|wmHzaNXL#OLR#Erai5tb~;=C>bEE=bl;8KArZTF9Q+^P1e2YV^#y=!FT| zVfy@sK$#Gs5{LPe!-Lcg!SJU>cz7RBB1Nla4+{0%x@Qv$?fKr-32L8qTv^xteyo^@ z79RQwYec7UMCxL@i2Wil!lJKvBQRdQ6QxpL?>lwTv|c-$(|RqMmbC}LX<3V=W$m(@ zqIOwMQM>S_^;$G7Yo~$~wbNIM+KD1X?L?8HcA`j8J5i*lohah=%BVgA9q;csF&U7$ z37O-z-I2Q6b8U_i;Mlk>*Ro8jYG}Y zh|#LC{moy}82wBaz_J?#W_4sRB}d|`%H+2y;-#%|m5(MwVVE2Qi5OGHoR`|({g<~t zpTy*yA&oM+yELxTK5+QaSkHOLUF zv-hHEqtI6-v)Y2|bC7MdksG68OTD5ttm9g%700ML;eoq@jg+<%Ml208@?M1~wi%&d z3MG$DV=b)14*wLj0g|G2_@`)nPxP!=TpU`XZm=9HVq%=|e}o!8pmBtmYKRtkwt$t| zDU~{+YLWm+(fTd76H!{$_Q$hHU|O`qmr#+yfHfhJY%LZ=wms1s2Uqf`siAd6`>1`@ z{;wKFX+!Orm7=!mQq+cJirTTAqPFV}_O0WLF5{}_Bm0(mNA_{(G`b&vy&SoE`0dA) z4QUNzqP8Wcd9?Q9&=?If>Z#Cko!4b|5VfR#5=q-bf>>I*?n;PWt%@<^NQG*8{Wx@< zZ%qi^I*&tBx7hAaQQN^OYCCumk8qG`Z#uUF8h4#_;Xf19hHQ%3k(;8nMJZ~-AVqD9 zhTf9f9Kv8rwD2%wgcN$~2vFQzF~It|OF%Kol>;G(^JT0_I(=n86Oe^D4n)vWaSRHrD*-Gu#JlB*b2&waU^(z3uGxrV!ART9f@6(8R1CmtIRM*;wWW?I1;BT)9pxnUztJj znJzjJst1TSZ&aq!k??O9v^x^NSEQdK@rp8Sj>Nmlv^o-uTxi2U2GL)cMn__VG8IQ+ zyfP(6VzM&veBZIG*~NbHt315Qg?0;8Zp%S-u#IYOlZ+@BW{VC)QKrGj8bre44`XAE zM6n%AXZx~YCehbkc*18yORE3#q*R&h(4K!~d$s zZ%if%+v6!}BP~U3q@}3s;S{y)9eXF^BYzT7D9o937kI9b8e5Ym@e_`>BKugI#BX}| zC9?8!CbB#eN9qH9!sEmyUHT}9r<5tW6QJdEWFRHSp9(n~8BE#jj&06tWGS;GZjQzx zgTZfs;4XhKvXp6V#Dak=WuR43&3Z2Y^kZZWi2PH}%0)I6WZB^dUpO|3ZYfYpXWZ(b z*2=g|Ky9lW?y?RAb$rG}Ei1SuaQR7vppw)(Ua-NDdN0FB^@9&+SA!$PpFUAjNby@3 z6pO!)q3CAd`hFfO#-1#=J8}6gg-|)EKY76xN9x54BlYhLBlTH^ky--%!OB}4sii$v zbYBIvTgI85dl{GC@=&9T`mx~7M2DV@tc@dezjDw|>Iu(P;vO%!6Vdf2BWp2IcPIyc zk$TW`6&J-u!5xhtITl%qk-AAa)JE!V&)L!N@ZDyvOzu-Z1Ih%~h~9i9tvX9D-&0Rf zGf<}5ig-sSY0*|b42k-Uu~TT;RD0r`qW1JSMeTk#MeTk#MeSmpqITg+(faMR6Kq=6 zPOvFzC)gCV6KsmwGyGM2Ut>`Cpz*yc)8)QVoS*|$aR>|DERN8Eg>FY`q;eS9q`1-N z2x(gVc!`M(Skc zfRUQ79LkZp%5!}k*QS>Wla1ZLD%g;Wto+#D1Hs!hgn{up3 zN=r*GoCW9{WR9PnRk0#Fal{o7wf%WMw^2wdA?r8frQekKVBKb#2A zG#`^m6H`TY=G-5OnDVl*-|hT;o0nx@)0NiXKX~*QMH5#xJ;++(dRXH$WQJPmq+l#IZzFN`nnu@}3Y!xkD(P%Hq;aII`TunvGLY5YB zwv$AQQXg3lPVtJut)A`jO+4BHZT!BQzN2mF7?+Tk3BlRO>?(Z10n~iuuuCEprpe?U zK77zvbWA}stdC3`1xJeeWcr}NZ3Bu6iU>Xi;&%!mE=UbR2UD=cky^@gP3|O6XDJ7j zSAn__8A=N7a}Y(WrK}BS7obKehhQSLg6Hg}BXz3XIHafz{}i>e!;25WO-Q4W>2m&r zBk3{7{4P!M^zGaVuk0I1k^V-N6tA2WNnHjSi%q7RH0M*Rn^&HUq(DkyK)vrRY{eB? z$Zz)~%@E4I?GwJ7Tj7Pf^?H&%k^p#;q85Ac%vJX<*5bI$t^Lze!!{IcwmZJitKO1i9M4 zj~=%^(y5T^CuQx#_-C(aG*B3XAI1j31&#(49I4He!z5k8+`9xa)s!7y93F)%#ULYz z!}(3G6PT#c+n8a>B}bWyBKt|Ax6V_!)Iqk7Qq=a*@W-?%o%knh+YrRYYCR?*QYR~i zuNfir9nY2B2cSMdmSQ|9;duA`a4o*d(IC0xORWuCZF8#TPA4Y)2&dY zy=j;4yaXB?Z-4Tlk32o<2V5;8#ajXPW}*jIVO%zQF7~*ue=J*nRAw~oxkc>pp5vh^tQH{xjps3?#GdbcjdhG$Xs{X!FvG+aQY~@zkFqA zP-73uK7k2LVM)?8+i%J6ppw)o$Z8I$U6cd%El_imgY!v+y^(#u`M?u^kakC=^Q{Ak zpx=72nEfxyK7kh`f>q*Pn%Ra-Bg*nN$66V;4yY-}BKUIoS=5Rj7(7bfsqkFnQ|-QdaUf$k*0-DF!t+J z;<5{wVDvkQ!vtg3g3GJSrQu7iWh^c( zx+cns6G-sk4Va=k4a6D9(2DU)>f6dC=NYMeHt95}Yt6txzosP*?hBF*BasG4Luud6#pkT^FIOdc1cHTG-| z!~Exa%-k{7Wj7JAuBvM7?xdb5dOWV<|Jts*jwiy9j_gQwhxWnmp=eK#O}wiV z|MqjyI-~aBLTA`!#|1e7*a<2{?dC5Px9rRxC?!xCU`}R^?Hnlzpw}G-t*$TE)yX>oo zbtZ=2!d(_irQl`v2YjFtF+D$ zRh4~q==Z$AVwc+0_(eSE_#eAy*QZUD$vYr1D($3?nCRUEEXr4l91M`XTaX7rM<`dY z(@R{CPUv}SK(zOhPjYiZJ0ou<)qI48Gx6p@nl=K&GRhR)10bG5rU89iAE@DnI+WuV zZJeeYnn~&$kF~nHK=G?aAc;67^*4|8aisq4v4SJz-=)PJ`v#a#Hp*56Qqz?~?e~JZ zKf_2p?6Fq27M?q=gUtF0j?`r3Q0_rc4`&#uCo&98lf-^}#(QETTwx3CDwCqND^t`? z2q|j!w<&5z%Ah~0h1@96sz$dBsO^-4Z%G~IvA&L!4>n+==4BYE?<)t4)a@C@r(O&a z)?n9|)H-{douYQ#PEi}eDQd&N<5`-dFJWk}js?ekTeXeXd0BKTQA7Zrl=9&pWvxGt z^0EjWk<|xm%X--kM{4;DBNZN=+MUCLHR}w$WPJ!F*$CwPo4(2R0frcyFImPQXAjOMA-z|2Yp9}2EoM%O9 zC~HGu98jj8BeMadpF-yOHl^EL8CnObW(4G5P@{c4_H^^>XdF|pP~Se_22b^HdGaF` zdPs%CLaXP^$Vn_|9iF1Lvr^O!ihosEh=$1cWj!`1KKHU=cCz)9UqnG9KXafx%In^u z*`v89;(Dy?>WOUrZUt@1znBADQpy2Qp=C>xDpX{uH%sf7zFl!uv;LseBe3aS$>p z$IO2*s4Ft=T2MD5i{QUNe5?=#HK`$p3Kna2q=qR6jMRD=Mru-qk(!ZVr1tY1DhG8% z#$5$!0kTxyg&-P;tS%z8ymD|6sqq;`YW)l&wPA*l+9ktC?c=#d`C!}m8Hdi2#4y*+UX5`b^K* zwjcYK9F_j2c>W-LHE`=93v?3H_-}Z`0zv9bWa_lL$G*_XRJ+^I)0%3TZe5=?%)0(s zUk#s6sq5!Vigmx{@nvz5M%r!ag0$gFp)D)=_Snr;EXs=b63h~jwB7i`(&DydAj;nf zXE+h;G!K7^eWMw;E%flmt z_mPnHw?vq7jsX`QtJ=G?xU4v$`W2WHz4;A}R8V8b?p`o~$u@jRTw&9?9H~*t!5mWS zW!UbZW+(^Ollq!+$w6zM*KrwXMPzEVV}wZTB8&bIWdoXxpkS=-*Eou(wnbhDp6t1@ zqbH9?mSTJ^`$-0YkiTmIeM(XDRBJ?)XmCA6`@~w) zUbE4#u2(chYQYWf4?z3~S-YRqy~^Q4JFf#T77s-%4@Z{qa3YA4ky#2KK?QZQa(Ks+ z)IFYSaG!wc-{6bw4dQFaELL!&_E!$YP^%mLo^{nw2&Y38 z{jmDqb3br~=gS%Y2HNDM?I}boExq(!Bx+x=suHEUOR5z;Ln_o^U+S6~Swws7cWv$! zpn|c9zyf&qUHvDMbe&vl_c3yk1Mx z&cvKnSbl-wnCQ1NBOM7W9v$pa8~kyLt2M9X%eMQnwsW`jXjxI%2tpF4xJe%6%1F)j zH2XuKXiVt(WV%kRveB5Lb|JhLlVhyej>;H?lk-;?z~l#pV9N4IHuf=?irhf(6@0eD zdLh<1VTDFpq}GD-VEbO_wCHy+5G5 z&6i{=p%+s}Z2#>Z#Rf`H>&f3FW%K(EYO=D_8azq+ZLFtg{j%1^MJsDZL|WF4{1mnG z(H?-~7TFayEo+yP6t!b5MeF;jXK!E-nJ!7U(~AYF|>Y%c!wIIr_s~4Gpvt z)N%=GL+4ctoM1xrU`WxT+XBtqQXP>Dt5nw7I0#lS)gHe4{8Lfhx``vs1>x_*5CLz) z!ha$Qv;~~D6*8=a1*CRTE?EvIf22CY=FuK~ZR$}zJ7v4=VEn2_q1e|$ia|$Ndw2HI zzj6MP;RNEEp=)1DXACg_ZVmr2Ju4($wWYX1PLPB(kVE2?Tdx zT0f~9l*9QNsRf?1ebnjItX&hG;L#;KYU5~akNOjt#GhLOjiby)Xj-qm3r$fwL8Yjj zpi)FTBBym zudXS(f|s>3`YVa7j`c93mmH~9Es0fyRM?c4WK$kanhTCp7`yq+4@Ze@$!Dms=YEON z)blpdV@Zw*8<8nmk~jT!@GU7iQhO?w%votkYyG%SQ3xqStM+K<2kYAjHDyCT*m?9D ziR>5ahas>~X9_VEe>gvV4|T+zw=KK4%7R$7D8C~22i2SWrr%HNmb6hm;WM?!`Y+7I z1^L+TioO=R;kEs{W=%aI{`BL+we{HXyRp~9wlY>rZe36lGYddSqW=z0>NHWFY{*YY z^xE0y3Xk@O?&=Y8OWm@+25Ni8n<#ypqPCBR|3_u5_roz=#gQ7E*%a4ez4jk(VbEiH zs^n%u$LyMVY&5L+xowNpQ;^3F7pWfj_m`k<%(!Pky^wLSt+ve*Q3n%kzqAt^SaC}sqid!eS8~^bx-;WK2`LYe6hXg`deY0~ zK1byemXyB*^sm%v$dd|fXq5MJ=r79cfI>T|)sTxdjD@}9dLF6wCVOO*2 zq_?^0h=lEZTol|xpq^9??@sdP076`}xo?6y&BsNX>q6fS^!;0Qq(WSDxo?4+lVPMn zTy(kl;C_l6TXZ}4$B@}igR^LlC00b+LyY9#nH5VM1&I(Fxdb(~xm$oeh^$=jB7X*9 zoQ`a8~VcdZF4Ju+t!cRHb-iE<)S%2%ULaaqw+=_ zv#|7YSW(n^tI7qtZ-?G6HwIkNV1(_ZB6%XK|H8NO3nS4x+g<<26DVxuvl*w0? z9f9xcW%8MlGL7z5T)!>DNO6u<>~l~>ZwJbO3J*B*jme*)5*5ei>p>>}c(%2M-(j_N zu9bE88f&kcxtErJ+)(6NTgg(il?-yI7d~N$rF;z~M{106iNEsoncuq=-d!#@ev{&M z-d@bMpk`*=exMG_IH;Ah4zBRGzP0{v6&JFWRhp}NWk>E?h-KE{#UF6{YK`y`sZf8(O@%1G@=RMtDp*r;`+}oS6eAUE zE4jzPJ&|Fgf~6(*5x7q>j8w3@wx{yGngiQT%q%5!x^jqrzF&KGrWHii!hCF;i>u$& z5*TZw&QmTrG{gmYqeDGTE+oFhpjVFqMP17AHPx{C6y0v%_EtNhKBkUPKJN#6^%StD zA*(-0g*wVEUg65}4WFTo+&i(hlA9BiFS#qhU5!lLMfs(|yOqP-^(3f2WEiP8GVEhe z|IRQ{d?knN#_#ch;*M19B^A6-a(jUbZ~Ye>sbFv3$50j>a?JzxLu9p()K$u%Z^xqi zIApDf6n~~ot*DN|gEI^YvJ{Tf@^MEfT(y0YUp)pg{#FlTgH*7p>^K@jUAfjHA#*gc zwu4kCVP;J90_V=qj{NrS43s!4D^Dtv&+AwlB`5n<=Cd7Tq^MCW_7 zq$q5lG&5!MNTTf2MAkk>&uyXX)rqWrSQX2*=xvaXxngk?pXB||lGi6C>sfTWmkpY1 z+wS(LZw=ap3MH|gKUATV8;;C=vYMW)Ym@c&+lgLXadZEw1(@NG-c4k!g@pmMsHdJg z)}x_y){EU94fWRRtK$+`Jy`XgKn#!?ja==QGn10N@8$0#CF}LF{E#{74=uG`y54Kb zQBt-0@#ea<+J1aE(Oa({A5CPfh3^2RP2R#}1a|XtrATea9CK!emc$|DVoiBH@zsKx z0=e~7A2e9(WL!Tr!$^e{GmrUDLJou=At_v>k+~=jR#ryV;2PC>L1~IVW6g;G{LWjVmQ*O&V2{@2)#rIj+Bu<*T#h!pbAF z31I->LCCVT9G!pJ4^Jt};5p%5qbgAAuR!rQm!8O{>0pEPPkc2WqVd)0PK4WQi#EE~ zqN?+Ft=Hc8Os3@SjLPTxZSF(3!ohu|!sxbOo%iP6K)55+E+)0Vay>M@x zPwst0ksOK4dTrTVec5py&3(*zQ`A~@v@grk(!H@ zww`lQmWgp7D;NpCyka>ZH58d4lAB+~m0|v>HRZ2~DS2hFOLI-})!MSP*Ng^t0O~*7 z+tBFl0JT6lbUmrNmBXbkp<{PnqY3wD%B-a|_jfHcZxPW)U=dRuc%+(;83XxY z0A>4*wAR~tb_dGDzZ$~A;t$I%k(8~kIq$Dp_1YF}=<5wPP!^>Pwfmf!6EvAdZ0{tp z(LS$+rZ0qAzb;z6y)A2fax*I7W=Q*u$C>XSlgss0m$=WA;P;4W35L{i8Ar-%i{8@1 zMd=rrgsucbWniYs?>_z^(+on=c>G-nSuG^BhH_XW7l87%U}QW7?stm8dQv=yK{-g0 z;%gzcWvuOw{%XOI3ijr+(JQ$6=S&8>{7fdFap-}*S-VLEJ$X!Wp6AD{XhBIncok&w z$EWlkgIcZR0nWm_xf*2F$V!m%M@{%-Fex5^P+P%~3N_{rkE&&M*AnCVv=qGOqeBwZKoEz{!$sj;`iCLb+R!*{)pn9$dN4 zUoAOOp_aT4{*J3}Wiq7x;klloeH+-}@6X`FE5PO6RvXh9}+f=q7X?YMfUm(km;Ad~ms0^oOfnWDQN)WSUV z3}l}3B}$G|(3;0*JbEjRuGSLs%1XH)m9%Xxy>!O60YX)$tz(_%w>6^ zG1zM;$+u;NT5>-%vle8%L1-qqoU*v#ZYH@lvi2>>^W9x6lSevNuS>_& zTiH`I*Uz%QP0E(t1XRRK3-bt}?4yun%6A*FO}UpS`*NZ;pC40{dnHkeKg3>3N;b=P zT+;KjsM%c&>R#nAn&XnBV~g?`l6s%z88lLD>+@NRvd{Ar9;p$TW%8v4~wylqOS--PSJn^JQx%a32HeOyyP}{oKJnDC3N!ca& zwIxVHRdcdan&46E8IB0{ovr8cMAje9LVdODm0p&0SGVV?nwkcAO*V!Xc-i0?Ytti1 zJr;e`qx;sh;!lYcdSv{Untu96P1z^CY(5Jy7C%X3^^*pEUXAXUDBHyC22$|9+HjlK zYsX-lmkpk_vC7QI>W4$IjZ)~2(YOUc;Ge4GOUu{*l)*TW}>a}n9T5V6xNMyCv zy=uzNs$1)Ri6(6;cOV>-*24#S*-45fbL2I3>-j}ekBMJHF)8SAxPxi*q*YZA{Uk zysR@CwX5C@Ky8$9u|@Uu*tU-3Z6=b9x-h27ZVa%o$XaJyiyhY!ydFxZEcX~AGA=Gz zaNoi8a6eOYq%KiOjJ-%QiR(Rl9h*Wnf06HijXz%jS0u zjGr65te-KGdFnHuk)6qm5u@ooHOAm4+<&2ZNvyT+^3)plMqG>S*Cp%9R^+9X7odx^ zRNQBv!kvkY0M-}RV*T)X-CAr6thRz$U(s5V-doF~HqwTxY;tCLsh92csI~aInwo0w z7nc~Hd$gT%M*EyOb3Uc7KgWziTMk7AQYab(7bQ_J*1_1;Rh8wcdvGaVA8Vzo?cXsT z9Z(ZpGbwBPdur4Y)lBQBc`K~!=3cgsuczLq+PbFRb-Z5N!#gAv+Scvs(J<#)^aPKF zmB(s6HPLMMaHl7zEqg|S)_XPKr(QNhq4s518_RWG#JM^tsk6t1-cL3{Z}zg`PSB#i zPVBXQdb|o{ERD)~5`-j1=94vT^0RJolK-rit=&6sCAHS`;oFI9Za*#kKkR)4n4Lwk z_Bk_iW+s_TChjtE7vdp6gainX;O-HU5ZwdTN{$S{GuclUqp_dGr4?dt08>gwuh`DBdc2R<>T(z4b=pbbZMnKy?t7k@Y_HP4yT zTR*-3q?|m(HG6_SMbq-sl@9-F0DSZ2;GS%9q-(e$-`~Xm;9>^>9qeK#R<4aenV3bTjWZbu68>{;>L0KUWzw0tt~d1; zn7nr7;l~f#n@sin&eRi4Ub~a=me16Seuq?N7nCZQ8cTIsUa2@M+clKFwcQ4k*q*7! zN<&T85LIa`VQs#x)*iH+A>bb7auAKu7{<)KK##c?fLv$e?^Ouda@Z9|x`yYi8yg#9%i}c?OGjU~i76*l^B~YuE(Rc1m?K>?7PJi!bo3C}{OKCD#pd@?9S`bx znj=_I9u!c$bhMLd-aNu(&WWKXBCmBx#2@mmXL#9@Dv?bMrB2m!0=bLhA?m3yNVEgc zPA-jTcb7&q-Nf?sFp}l!kG}&ER1Tt{8iSW2+SoU>aDTh zlo15UQ7&sjt`bSHmswE--k2%b)L1t*H-D}D7s)3g%{mK~PQ>{}C8c#kd@ znpY8f-K7z|sj;9H+yO07D)Ixk%hvCy?0Zj*_m$jXTB%a*GoX~w=f4y@Ryt2*sSOdd zuZTFuXzKvvinSESa`P+zc`1UHnv2KxeG??xm3BO{`gw~MehY8M;NqH4pLl$fx5H(| z;S-OUE{`e$Xym`t@Hck+Po#;tK2iQBT>iMd%>5*C+tRr^JQ=ypL?CCm{5L0hC#IZ( z--`^!k6gBXTLN>%Yh_9orp9eerh0AVD%tlYQz<}La$N5(yrGQCuBGGD79(P*;(9mE zN?nPP%o#20mxxBp)~0KCN3Il=G1j1F6QE5shA~ZKRv!2W{u*@YPYB>dT8H9Psv3c@ zR1Hyojp2*DLxHw1v2@J?Ww={}pq!{qF6v-%ASwIkBcxCV5=)SaYbogn8uN zE_g(dY=D1PFj>5?UV|;fbqFd6(XARo>pDWhPEJaqJ{rSE%%%g)FtG+T#{-?HF|?fM zbe9%Nn(U?cEFhU0pQ0vH3-^C)mC3w*9-vZ^sj*c)jUM4;y-WNmr+hJ732N#L<_R^#Z!zQ*$Z>}Wsi&c^Z*^^Y$00IGThLDRz8X7ar_ zTz2kgn)v1g+tUt#Ih)o@La%S(?0{%nV+ZlS7r5M%N?*pD&1-n~;uIIV0_b`K7*{+5 zCyi2ZU>B0HnS9gjClFaovzl*FBL8=Y#?C~OZa|P?HpY;jh=3$m7twYa3tlg!enZ)) zUn?2$9jNwcQ+1U**8PFTP$JP6CM|C5&qnAYkt)Mw8RT7#fQUaG&T4Dh^|Y-sO`)x7 zb_QWj1h%eKWEA5KuTdz(Au`)gxE~^8dPpN0ZAxt*j;cgTZM-Hn+N0O^rp7w;yUFDy zXZ#Pj<8LaTzk$kbO1_PX;>8rA>zOn1Z0S8?nWgT^`6S_J0a8J!Oh%88vY^_TG@jsU!YE zXHo%~nxSw!8yM#kPXS5ZcnV0S7S|ktYEM#?z!kSZnXR;39I+DhGPP9H5ZO8#)x3v+ z@+AVBT~YHuJ+usgvDl#}YmBFrWNJJ@uiAn-@t@m?zem3r&ns|2Ea~i`8Y1+B#9~`- zy|MD5wHsRC1zy zG?t2&1t%KKaZ^t3GY-GwwFX!S(JmTG-26MsOHT?hvAkdWbKMD-e zSkNKD$j#K{F6jjn^EHAb6{BY3i%|wqIRcx}pynK)s}O|oE&zT@Ln|Y?UtS9w4Dv>&qqnyWF>m%417ez{caT8jM8Fx#>c_d=f ziFeSrq;H0TcSb5+?1{j};lmC<(=~<_U8r;7wlTp(^?i-_H?3kJaKLA%cClbWyfsJ!O#YxD@{4E)b}DMFEmNo8@)$~ zDWwW@?&wt)MAaHYS`VOJ8bcjKgH2lV8lo{8L)vbz_dRmDfQp*qKtI8y5uKwkEI)~^ zaA_z`E^6nLNpXuSYN#2rOF)f8{Sl~*xW&yU$1RRcsX{(a#`6npF;VB7oNYT3qknJ{c@TyEjicma~k8!sESC|Gis zD#Mpz@?v8jKvrI35h!w8a56QXbCapD$jQ{Wxj$@}R0aoxIiiI*P$piKG07X(lT6j` z=fwtU%q-Em5#y6G^g)fBCbXkjKQGFVeBA0O~SaZdtZih6^Ct4$s-3rAvl`J*ZNHR6vH6&AGTTZ6NHU@#Bp&RE-rWVc{ zwoA!b>mivM_fD^ER1a7-i-pIjdm?r1Bu?gxB~GTs z5+_q*ncgfY@w(f_632Pb$f!N}Q|oc@*67z?i~ZA-AmITgA+a1@v2K(WQ+*9};ic6r z$CChI9$ykuU*U5CxUBug3$NmuTamB|fsbmX8m(a#UbqQI>LZ$hiwK|bE)^H!B^0Ivud#~Pw60ihwdL%JTwE)uL_}s&mRO+QWF+9m zfVGs!yf?wc0OX?gcsZxEJZoUixUXKFr5g1uW8COB!OIH5)c9quVLKKoNgtZwmP=bo z#O*01!YBvoqhw*(09j#MPf{Z+PZjV*sZRO5cIjN6&Muv?1V+LDi ztiPK~P8>;NHt;vwvSokHa8gUuL2SEMA(bg675&>CkcV6>DINu1XGt68%tUuVisdfI z3fB?(~=qU{Wg!rsnnp_hv~E>OPkE&>2ZhguJnSAxhN$v3-u`jXhjm zr(sEJJGNp8s!bi%&SRa8E+|1fwqh;J%*y#&$JQmt8MZSX1y^U48}i1ZbR^%|5A>&Y z#zUU$(KRtAFOSQ}8*629PTtOjH_@p|o>? z8cI@)4z89_YI7D&{flXdwfcC!_I9G3I`-_Cj(v1$*I3svZ~U532k=HZxeC%=gP?fLfF zj1x+>adtDjwwq!Jw>GJiNvw*%Har&4vNp7=1eP@}bxA?_Vtu}vlh^7fRkI3By&XaO zm*_7VOAM^3yMv62u0nZcJ>r(C^kZ|D`)kf}#~a?b*P7=n*G`x5+mmU2rQRNo zC3@m-aXE=pdD;YdeLt}^47A;N606=bZfU&TD607s!|rng?Qf!QG!{G$%Kq+=C@0>E z#G8$BJVX~tq&hOo&_rAANt7GQ7mwM86TGnuu|xbjc&T5roP_TRC5o*9Y>~XNyIgm# zLK-ZQ|0b4uiCt1)i5)wJj+=_Xzk9AQ%J;ExAEY*tr-H#GZL{=%tuntF2U zsnJxGF?Z?)NDb?ahw;%Sub)`DqP2cME{(?@8vAL6*S1!5Z1xa|3E+0aYxNel_Pv}X zbwNEe)0nqccS6_Eq!;3;mzH5Z{{p1ci(kSoXr*LyL}V9@wkgMetZ^h{=Q4? z6YDTuUKLKQm&hAS(FCcyY~RIm%K;|U&%nZrKjMo`YTO@o$*&JknLFNCZV|1IK<^sY za&e*@^{(6ssV5Gtr;tXkFy+_>p}et&{29Dq zYCIO|%`UV=jU|L~qLSiyegR72<$ETqwWz=nwWz=nHGY9(yISfH0q}>GGP@veNpvP0 z>ttnCPPWPRa7lC~9P7G#POO7?+{W76CBYk8S~M2JqBwI zq(MH`!Ha&6zrQ^-o>#K-1|=oNP?9&2DHYFy3EtnOKbFOdZQV?vvxZoP*t*FYvALVot@elcqdjs{bdq>fYnDQ2GnvoMtE)L&cW>!<_LlvMxE}h0L3Aofwos zEk*)+j8WKRTxuM!sVx} zAZIP3E8YaLlrV4XNfN2Bp^!H|eoyj7tx4R;PV&YJn}Rab(z^WmPcAs(Nhm2%EPeh` zvu&KO1XwL4>NFmdsT`4oOD(v7OB~B5q%W+agk=@1C&63L_7l8?^&4AKZRN6kys~HY zq`xUR`z9o;tybHM?Bjx3O5FaUq(R<9t#L`_4v<^?#P>xDmsGH=_%9*M&5K%lngZd< z?J)|kO7gd*@JNkY`dC2;O5`73n;TU44=F0`Z|m_uzQU`og#U`=V~s&c1$*s}<1J`| z7{`G`S+N2-s>588XiMRl^LJ>aptnnuTiCJ-&R~g>3ifegR^rWUUVe-y(j&IQV}!2~ zH$hOp9`;&Y#t3T<@+R66|BL#%Xd%v7P`d@k$fgtySF9nsBZzfv?gaJoSmJ{f&ur>Ui)WoAF zlpv_LaB5;M*&NSo1$m8BzCA3PS6$aA+o4=uxsP#~64aWo!osshw1!ROj7LIPOZJ*I zfBn(AJ+1*UmdY!KM(VUejoMMC`6<@VT*wl)Ma0V^VSWwK$Hy~sUDmn<^^zzz=Dj2# zzqZakPg_ui#D9)pyJJlRvBKjm?&Vr~Bi2&f8wnW-*IKxq!q!x9w_o_wr*LYaGZl^^ zwvbm2`%h@G%&qg1qc7HA!5w#<`Z)gzJ1O}~+K4=!JDxMSJ_s#IZPNP4xGjb4wcKfh zyRU+?Wja$6Hs{lPr`s9&b$LUSs+uN+oY(9)AT4N{)A=j8_#3pwfwx$ZazN6Q_R@B^$`tC)bTJmMk zw4`9{E?cC0UMA=$Hikkc^KkfND_=Sb3qfC=c3*Lx5@K`qn=mU)c6qtv%T;EUSh&}`8PgZBon&o_8))ZZA9@kOE!>ZqD~a}61)F%k`8i~42?~AX+A-sa{8bS#kjJEBtd^Vo^wdwq&JZ~SEN_~W2 zud0!$)RUuAsp<{!LE;JctSfK_;FX);BlVl&4Q0?y1%7@qKF_&TDs=&9e+TZj9X?Hq zkH{=e{B4RO$(0d6z{|BhoHd^-=chQJTcPNlA$hcZEX z5cqoFHS_WPy#4Xbz60FD@<4CjxVTYqJW)ZHlx6Q$H1Mrw* zQ5M1^1bf-?m_8ZwEfI>3gRLPnK&V6*g|I$C`SCUvJ^%*%^+~DJw+J0i#ry3Dv-v%6 za~*pI>;d5i1b#WaA;K^Od(8#!r>Em9nh5Q{W93Nxc0k%ck?#Y9U(T|*^_O;i!}a*S z;*Icmw?NMb_WB;QCvVc29gq2bh3jm5hW;G9B#1B(VN--v2)83_bRPb>1H#$3r+zL% zmkaToK!klShR;BF;!=Fu6k+5Q+3gqw+Lc%1pEo1y0aeu8aS^_`4POmLxaF>FzCVNZ*aMISVbG(}BKdO?@OcOqAY6uUCBk(G_L{gF_JF|4 z>WBEH$6-$hA0d2+@Et<&6Zni9LM1{+gzgCIAdEm*A7N93NeJ5_EJZjJ;RJ-02xlW) zj&K#ijR^J{0$CnKcnsk=$ngTg`A^!^>~`7|tDod=4f5Xo6m*L)=x^Eill--nXZiE- zS^Auh;4=`;K^XE0zMP6M3t>E#Arlb7%j((wGR@Xwe=Yyk-=|XBuhCe@Px_=B^ucKJ zID`!mwno?nVG6=DgugxuT_fD}0(6A1%Zu6d+WPJ9uHbnw;CmVP`By+g_~>=K;*GH3 z8)zrORD@{=e?xc{q2x{23&Kn9!apO_dmmp_K)C0FRO&v2(l6mt5U&3UHi6LT8!u01 z;H?q1LAU|oMufKztX%f@9nc#6fMa)r8-BD}13z%%pFl@gjBo(LPY6FF9P=;FcPj9S zKf?zj+=*bXzW{gtHI?dt&=z%3#EN&?KE&gYW}F!=}EcdINup@EyW0 z0X@|$oq87G?+C9T*z0ZJf10?bYAWMjAnnxVKIP=r>C{Su(-AI0u$R@(u5Ht)!x4@^ zxDLTyHr@VO`t{%`YX@1)`q0uZ0PPBdD-qhXPp8@^AHrh@_WA&L z?+)4Jjqiw0R92@`l?Zzy*lPyxpAeGuF9hw-9CXWPe{DH7p6~ZClyy{4UOvA6qw7B5 z|Mc+N^g#Qw*34h4H*1&w>XJ^?>zYp0M`(&*udRWnAWTI#AfR6iyrw(+3PMqjbgCGk z0|Nh9`&@*12!|mYf$%`jbc+A#_@`d!6#p^pTfNh%w-G)=2rtGmeZkYm)A=t?PXO&i zgo_aP&pkgt_z>Y2gjBzD>Ue|`5WYgN*AKwIGTuL(DnYRA%>cJUu$QItAE%v#z<*VC zKZ3m;1%3kINrb-z^u|NdspbeR5IQ2*a%?{SldK5{8zF3iV6U1j(y0Mkrc)arJg}9g zuiO}AAY?X4rv@U}>ju!?Lih;bQv`dxJ~5r*=abW$rc*;V^K|};o@OH;7sAl7UM_yG z{wdUF<$NCaU4-`#zCqyUWG5r=)3Em;Jbf>DJ}C2P zSV1!W!8zR{2 zTHwDU@Ph;_$6kydi*ORc>j>{6e1uSjXQ3((8Y8qsXphhhp%+3wgh2?y5Jn-4MX=X} zz;__Ak!hJFRNX7=-2P*`76yk)vUV=W!Q4$e_9!V^3g{l z?~Vw3Yx~TgoHo$yT!a+}R|I;V4gD@cH~`^61belGF1sQ0L)anE>#4B)kMVBbR|r4N zQGWg%Jr_O??;tfmn1!$y;dFCbfn{E_micZC@*QdFV|jcl)XEXkKL`CsgkKTXgN*iC zANV#ScgUZQei!Px58+XS*AU)8u~$`%<$ncv z?3It+6lL~B;2UGqr@cN09tXW{i?A%vul29VUz;yUxAEH2Eua1UKmK@~mQNq~=vI%( z-#>~!UpfCRbgP$q^8ViReC6h&*H+)!=3Cox^VRq7rdxTFzxnD-^4YlM=NFhGi~q8?KNe}!s(0Cjnmy4 zHq8__Y}B%C!^Y_*rMOWwBvssSV$;#B*R2>;QPc`2tLgN_rZ_O`l$zLdcm;N6-2rew z))jmkR8)XcMp#j?0buzMBr+#X)GTBn^{XI2MU~`i&;mcj4VA01KV)c9I;Pc`<66&a zsMH>ojc)bu{ar_QkK) zniVw9h(IlzKpFfizNRR4JtVdoE{UzXL-IC0ujXtU6OKwFL%aS)Aj+?7?VF;`iVAIN zhf1WYc1A!ysf6;kYbnZChMbD`8W-iO#>=!jtl~4w3DujLBnstIM-{G_sJ%hcw3Vwe zmaAdVBVJ)tS5@2}=zy?$8hceY$)TO5s_UQ^sv!n?z;{*)tNNBXM4$kz;?8Z|KFzLe zQo3WsP8B<#v^E*^HSW_v&Q=824wgv!CPg`M?8adLyhTqV32XsD%j(ABEfZ!c#&q_gqvq8vV~f3 zOZ5w_vWjGZt({7xz&5VGC7Ro7Bt$co)82_DozuY;EYXgxV2M^cJwTV8{LtC=dq~!0|KVl{@4oUjMcCYn=Ov^bdctINmf}#mkK@@T~vIf!Ec77A53MBK16FUB^ z&es6|?-P2k7EY%Hkcj}@oK+!>qg^;-wf9A;Zwj1IEw0Gq zG~<}ebWCQJ=@NR>uC9S%Cf#BqN_wM;H0Pk6s)dP7hd|_BvAgNb^5|#!kcptLy4-&1 zrr>^D%b7Yrx(6WXILu08Z6~{+8rv^aa6Q*t>A?DNe^&VZY>+)wVgg+S~{?eMUJOx7c23QNxWv6xk1 z;~IJU@&k=ytEq2wGnWC4Y~DQG107;rW{&>S5!fp3F}lxS#n;BpdTo8z1#`L`ig||; zygd6-`mAI2sHqNT`%Xz2jUVppB$Of41rq8CLZV%rz&gN^6MAV7P&>1K4aIT;E86 zRlXE!I52B0&&_aX97qfcZlc?srlJFmV!z30Zs!`9cWACHt+^)GsX8*-*uj`|hDM#( zYDLOa1!qDTO9L4pQ&|v&$mQNi)Klr}Tj?vj^x?`swgPxOZ;jY(`ADN=pSd+;W2XWc z0Nj4*0G4P|tC40f^(tRp^W-=YO>#`MWB~-NeE+x3?m4XVIb_0_mYLuj-27vW0srgO z$tZ@vrBvW#u;yo0toHc>H()dBG|<@-I8x&2HJs49X)kx@MxlpStPa1PNx_VF$(~=^ zRZ@&TIo9Hw;c}WzI16O$*1b*S*feqg)eDWzZWY6QYlFbbpn=NJAj8!eEU?NufGm^2 zFxPSEO-8!In~X%g$#?@OuozG3)i{%2!KU39*pQnN{$OS15JelDy)01^qXlDw6B=U! z-{{1GL?$u2CQ;V_6P7CMhxI3E%QS@Mo9Ic??wRH1`?6hUxrlCTw zZp1N;^{|VJEY4HNu3SlMc-BxgBf<|>@gRP%N;GGeC98CnRvZufl33Rnjp`g*>J?v> zvphN5;=YB;;(A{5b}p%}9!VUn9*Z?dmSb92>7(CP=oOk2w$eTaw$s+N$N?V(az}i+KCvfz zA{|Q`z=Z~m@WL%ba+U9QXM=;zg_|E@T}e)BO=<*6<@l=Ao%)_Hb=s1iEA!*N-0MWU z39}NonlMwmt>ha(@D!+?cCdZEhFIExcQ8 zsf#%-6JL?j7AUO^0 zYKMEbaEN#JL%fGKh@P=QB=@35lg`>;q113+YuY*O#`j&Zx|)(u4(w#?Aysl86ZRWz z8+$>oS)6G22=;=pN{wxb@AGWp0e!SGUcJD8)KONcD{th@vvKyxP;fWHT2-E#8CE&w zAW_Xmb~GZ2IEPlrPJ@tJ>uCDXel;}KJ!()L05RD$~IE)@YG;uQEBUr(?;%vQ~ zd6EY$EZn+f1J;Jh~lt#1taM8#>(i4^OHxMpK3@XewB#VJ7;g?AP)#g011BRJbT z=cqzAh~2#Zqxb7>{RoZ?L(AmdL7DJ+c?;|9v#NXOqvnNk`7kTa=dHf%LLyix4Tw)? z1}2^VI;O*L^{Z%_4%)h9KdXVM5!gq(u!7?|s%F3eL&v7_y%TWZjjBbvz>q(uA{qt8? zQgW?T8LoQ%XIl}?M!re8wlS2H+n8W^#cfOwt!(LbP~pKl+$d&k|oa8jRx*mi09>=M&UAovF!Y-FRRL>7VdkCWQYO=Qy!#D2|DTfLvH^*C`#N>FZ zRUvK`%)dDMx7S>E3$>GYe4ER)MOGT&PSm>)>P+^eN)kun#-l8S{pq$utLp30GsDMC zqca8VdTc3d*Ei9w$8s@g6wPw`+TYgqVIP*}HQ=&%IAX;d+69hV!oezM%yx4XK0@OM zUGhPa>_*|qQL4{AHxu5@z$h(nJL9)CJ8w(tGQ}i2!rsu){)ir0&N(nc-G{TP=Eu$@ z$KcRG8Mwyep!EJDxaFjd%*v-vjp(xwd~~E?0q3zcGFsPBS1GNjTRG*vkqTS6wsPiF zA_dIECe7pLP+skWa*B}bJ9+pbZ@E134t!>b?~lA48jmJCj z+zL8)L&BU>$o9oNO_Y58DL(utQx8}!lM_5(JURLGK=9a3EQMKo|JP`ZJpj$+>lc0wAVqx0iB_Yn)7C5$~>N^$QV%$mvjtoB^I zp;w+gng}M=tfL9Yn`^7C&a;_yp3Nz*zV+6^H5F}Z8T;r~R+p_+iEV1pA8n`Dl?PEu zTzR6pjO#?|(d#Vtb7IsPA7u_~nmejMXN6u%P!kVSgKq2|Nk?dTjBGP+twp*Gw~q)cF+^6({$qlg5$brg&f+$+Iy#pent-8fH5}yT8`v z<$8vJhS1ch4c*<0H+-5q3KY3kW2&uFJ4$HhEJ_AWPJgu)&nD*e*g3{oFzo7kmEnLV zId|BjVeKyKcC)9_M$}WhdI^<=2W!3Ag>U*m#drxu7mF>_-deH~T3LIuj}rxE-$u8` zNxkJCaI~jdp30*5@x!f2P2@O+R5|R(3frqsf17vBl84Z?y^UNBXrZwhWfRqbzL95j zVC)YfVx=Cwi7richjeMj$?bzE z$tH%ony6)2Bi~LgekQkf#=|E5w$+-;QOCB4eY?!iXx0)A1^OkNC^mR#uCih_@|5}K zcjB`p-?I8TX!N0NeJ9U$%TSEEDqSz=TeQJgwc|6`rRFkRoyuvv!3@^In^pMOwf8#a z@oPU~l5hQaW3<*Eyf|%1?W~z)J!FXu%`mwkh{r6=!?6;@8-Q8I0mIN}`x>AyCC6Fq zo0p*JYqfcCRsd1LHI5Fu3iX~1!h=(n12%v+Zv6byC?1K8t%`E`-egPbHp^t`^8ZJV z5-#HLwurabI!~ykGsB+yZ3|YH1J=>VEbnwo;~_`B*JF+vnyG;_=gE37edInKsasda z2M-y$BK;57LD*fvaYzA$c&}NUW!-kxDT#d@PTF!Ch3hs9QF}aLyDI0v``@WN*I{<( zQ2b6 zE+jfQgNL8$sJ^J$FHbtf6H{k@@3@QFQCD?s{=Ef^8~fe@U=NpHHkLh|jUug=i=gV> zj-n7c+YO_WJ(%< zv))?ngnKcPH$1{t=9DRKmC5te*!FX*(Sx0^U89G!hl?XehXL4aYW5yKDX+|X>RGby z-l;Wb)E>iQzStFcSBI(#z9?xe&7L$knPI2;KAv@kS$B!Na||CSR(E2jqTC-V()lgl zTf9ky)V{h6Y_-tp)_73=fJ@fIP@A^A2Vd(AWU$@NJ?(~FFWi0JCk%ZQeRdqbSvR_ zjqCs8?v05hg%$n2XCGv$#%mBNV0?2oYo)=-n|F5tTTPxm$2TtQ7YTxH!!n1(*n2!O z-RRiMb-NR1Wp3}nY_V3?vRC~oBRsUy1!FzC{H*UgIIi>$?n-ZB@wZ&^PLj3Ut9M6pO&^O`*O(801|Ee=+6spj8h zq_+lgmL^OB!VV6AH$T_$Q3LMPh!3&ddIk`NzvlI*>T|Jqbd&#>G zzWc0Cvl|@y1qW9Ynq$wc)xRYki}LnC*P7+mydV3o6CX-!l280-UJ3S}PHq1gJrFk` z_x@A90^?7&;%=(zlFAQiyDtcqk#=9;lmy$#@tlH?;zY6^`~by`2SHO5;$j5ccp;R+_{ zeEp>R@4od*)z^C4H~Zu{JVVd5n$%mx(MKI?T~P+db?$XlRc*m-zSk9Z89BH5y2}VQ zh4u{587Fe)d(=gHApF#!%LV7;cev1_9zNT{dLERwpneM|C|(5eL_Y9D$?>y zkznos=9H*l^Me6U=m^@~B(np+-a}whd}m;3>f0Y}63puxbr&$~pLo|6-sJFGr~;qp z2yMx{44jn5ct!s`{j9HY`1XajNaIC!;%njZgkAj-Jg;aEE-HGW@3^7OdgX(g73wtn z_K$S494c`aCtm?l5`73Ckkd|-^GW}~SBW+?Mk0~;rbc{HA;rUk+P7@QkE(t7`wsZB zBdcuf6bVP(CY)K@2Gavt;vXZ@ok|CLPsV;P9BWbC`{N6Ou{=n@X9Q#Kl=U$|S<2$G z!LeO*bsCZFb+>F+-Q9V9(Mu0IqU@w;}1@!jD)u(0fKu}**1O7v*&P4rnNurC8rpF)#Qi{c?! z{hnVZZ*jq=@vX&m(doBqws+{3G%7R&&-hpg<(v8O{0atrj<=^;N-vHWeDBV2QP5l; z%BKVG8}NA@_jA*x=%+uwd&g1+WO1`@RENsK*An#RQ}Paqy|>~$46^1ugpG~?-M%)o zw;-!I4a!$zxI$+;!b(2T=dv;`yyYct^_%ZQh6s-6#4O#;AtC@j&kdYxI^8f5n%+ z4v$*G9=$5PqnC$GVT*30`*PWFRnCQp0r<~9v&(4h*kSMo#;6w4%&wlBs}F3EG%`FM zsbAJirJlQ@UPb?D)2Hk=V~;tr=1qU76o!(z6_TdY>7Vez6Mhg$kuYH9{JGNyEZ%G3 ze)9$_SU7*5=~MSzG+^rdY15|;>bK9LRFIrXDS5!6g;NJi9klnXIn(>kWEl~8`n;+A zr;<8-?xJb42kf_C(Y_0(?=^P-qEi>nTCnf*c>|{IHFf6n0gDb?v~d3XeFw~%H+9Z_ z)20uYG7A;&HD}Jg2QHYt2n83_y$Dn_Yu=2t%{y(@e9aoRM--vWtZRc7?K^GGtSM_J z&Gdx}=NW0RYbmOa&MNL+QiOlCT{MZfVWweyMz&<6EYqlzksT1p)FXPy@Cf-$L* ziG}-GGdf~Y6awm|4qHKiR$?ja>jQM$HthDKnznWCBGX)Zhmki0C@Q6dMDu133@Q1o>y zIqI9zPh&&|-FZaP?rVrjl=%+gOs2gQ_YfmfG8Gbe91)|DrwB6?*QJwC?P}c?>%FzY$3cUX8S&J6!vG?BluASfCYtf?V3z-+A zA}Ca$FE&b=yFlv-h|{L;4cRyoqP=yUd*<%7@60R-Y_k?>nb3Jr8oR*ab=hOs)6s8f zpW=U(s7t_(iB_uf%K%2|sdWw|#!MhaJDib4W*ltHNM)uO3*7`b(?oc710-n{llRl! zK7e?+9gd6?Wtx-e6ky49K8Y)o`&wXA$904{q#p!imZ!Ki-_M9DW4_GWZKENe2Zm>e z&ZxKlhU9dnzNq9EjmT73ugvju1q6?J|L&xB7WP4eomlB$BAJDU5y{*(dh0W|8&p4i1c=5x<8tcVr|bcp64V$%66ssy@71Dj=RaHE3dy2 zO20f#B$oFSk+kt8AV{o(=`}`B1dDxxELy?`ggSDFq=YYsgz-lpSHiE1m=e5U5 z<8_jU2z-xFZ2LQM*fJVm!EefFN+@Nt2V!kK%x`a|l#nt62&HS0BN;(KOc+BJUEXf2 zJSxFt(v^K1!d_(Fo=9ZbnY=fy$dr|6ljbr0S*k?*&HiN5_AMin)!lNUt}NvcA{p_= z0zr^6Y3QjWt0!FPc+Vti!(11Vce!w0Mu==AUrz?D>lQ+(>(4||*X=}7*Zn}QuGJ)K zU5`87r--Dk=gF&ey+UH8RQoESwEhjI!!U*X0V3*WKO*^KQNhoIMVa>E21;;9fU3oZ zwjeH6!|F*~FH^;K^a3{SbO0bp8=2p&$d=CNW@sDo=}LQ7Lb27UMBSNZHc>aCIYeT= z`vIZvb-G%@2nr+1GO}n{M-WO`#}i3eD~Y76(}|?4^MG7gmyoPez-^>k8Sfxn%YA@Q z%6*(j%KaOWl>01^l=}}Ll&gElR~X6Yz<&!^)Lh;`wbB&7s7d{22SkiwstMO&vw9JA zAsR?Df@lPhtfWU0$qY3f$hBnxBPf>4o03JpUuxM}-&>Knp zlbI)PB3=7%6`{DrhsZI(*wrJ93|7l}j4UeH8-SFy2shh{CmW-}qk-0__^~o)Z2b0v zF+zS&sd$vBas(qqdQvcoJSxe0!p_nsk-=KiY(|VVEhaYBbST-ij}IdhZJq_h5-uU5 zwWiCMtlGSqP_%gik!bT)BGKj@F7-YjXH8F$tTjDNC^fwc#F{=Qr>*HrCTmUK5lT%z z5lKy{MnFO#JgiKJI910v-w_=TP6P<)Wd zY6&lrUSejZuNhgUosek;Y?i|ffHS3{g%*G;uiE_fHov3ri(b{8!#G4t`MZ*Cm%n?F zuI0=R`4@ZsgGsmY9LLBq-3DAwT&a%YFXUINxtmay(W{B1SN={U3&H1z#CtzaB!1+5 zAhzIF{6aDoZx8$TuVuyBkj= zdz{Hcy_suABI(m9M1x41O4Nkt03iMzf?vp}cLa_@MEc-1rRpjE9U2iMyoY#&8p9*N zraPWc7M-zPR371fl{`v*pX4I5q*%iU{2@j7g*>uO#tUk8EaF3=luISRvviC|iEW6D z1YO9l2GLVlw5oNKM+V(sO_01JlrE+`7TDz7NLe)R7Rn?1+mc7gI}i$SS0PgH>14Gn zI*<|5q9tU}jq3_RY20CCs4za|Oh(e`<}W2nH_`i5O4jB6&5W$jN$OTj5Hq}k{K|4C z$wiq4lKEan4${-UhsdMWwp!RJ?_(kNvy8}=T7rOGAB4WzxM7s4?JxN!8IFj^Y(>Y^2eJbf`bBAgs>E$B#V$!kT zlE@0re-@$m;`7O2b6!lc=DdzjX2e^CNZs56#NS8F@5}ggrN2rxwVL-xFE&2sGtzaA z{Ekr8QfWLUfmuwKl;w;RX*aYWo}$jIC2uI6GfQNnRnX z-k4Nf%WXm^)7M0%r!!rJV^fmV?{B4aHRA0VDN!Tc30P;uT}ZvRgnC$_3_2qo%}7Qi zKMB~JDxOKQ)$e7D6saq?((~K`$nyT7yxP^TGF@*uzDN3s%y5zR1JZj6{FYGW=7w#g z7R}iR5tFku=_?F-wK7Sk_Am*owtqk$8qn7Z=wk!=WMCuA7KG~Vh(wlIWJM!I#5qD1 zxGx~9JD2J92=@}EYb&oN-O73s>3UrISjhj9=YJoN<$Y&FtIhWe$-2~epLE;S4@uWDz9N(|z9*70ej%?dBh%iM(Hzh`rO}#H zo%7n0T4I(BLm4U60yiVh=uq34IIZq`4`6c(ZwkpPj8C1-$TD3cEhLXhcmScS^$sMG zCDdU=-KqW)h-CeKB9X{{2@un6!mrsi|Cz8@{qk)>*1Mf>Zs zYG&jYNY?e&%Y?EPc!L}dFLk#k)-e7|Nv5hqEc6Fq6jS*XkaD%|puauw3#Igt#9oLP zMf4@?LC)bs(&F`q`j9rBNLIWPh#HZ$EfAWai=>?xL9tBOnJhYG?M5i2&Lomj=Mo9y zene90Vj?N^Fd$dzu_UX>*N|@IzL0dS;Sxfr;d&ye;T9sP;VvSn;V(o|!;?Vl7SX_) zjEK(u2_&RnBwb)hM?-51P<)Wk`V*!z?b*@+z-GBMf>4%@V~HerVCU(m_D%g7xuBA*IC|Fj=LXNGLT;CX$-ACz6_W zAd;H)0z!U0=h_DmbM{2?B{J4lC`aQ`aqWjArllQ0B(xKiLr21CB>F5 zM*fo+Qv?m{6Jpt1ehOsPDL)fRa#1HF+r51`BgN{Ds(>?t#4KA7iXF5js%Ehr9Bm8` zN|5<*l46~Nwjqnoq_dQ+u#kg+q=v&tI>?;L9*c;XJWeB&F@6S-$Z$D%)u~=h zqTXq|#iifDblal8GqNHhL+u4(I0x4JPhleZ6i8%f&>6|a#`iQs#CYz$r0e)vPoTPj zjXcL@N>-lZ8QCvWPsibjjQt?$zml*tQ%`#9CPbvxTS#@%GGhAeWn%MK%|C#RQ~Q9h zOav!`&DjRe)nP#)F0vZf=)D)A-X$F5sq2&3?m9OlUH9r+l5S3cw*tTaNBHEroB%dqo*__a}XFEisJv)$UrP`kn)1HHf zO?#FDoAw+}C^=6dgUxvlBc?qMkwx3{B%!wF1y6m8%(j2tC*9n;Al7IBUci7p`PfyRU{Wu#1}o~wmL^tFmm^4%ju=DVLr2Fza_?ODh74@Y~=@xAS6 zpE-9jySW6YL@lcI`P4{*n6c5#f3^r#!MsQ3=^{%T4;;qJzT`gx@ zKql|TWc#qm-b~j!ShEOa4mgAy#b(uWDI=~;mos*WwCO%VJEB)3B6jvTsaC3w88Pko zlGu#suYk>nPW1$ooEadOa}XnDL=Pd0E}w=I$}VUGkyz7MA|2(M3QnNW|x*6qjiR~y~jEMHz0VF>vZ9I<9_S^Z4*nYd15!=oO7%}a9RJlZm)xf5mFA@sz zRWjI|pE6?l?H5gu=9TmUyY^cPK=xZ#{Gt-w>~&+hwx~Cu^xKx?fYPLz?Mc=W_5oxG z`!Rim*-$QKx*jhrC6p45CWmPC1R|@On;F^P+V!oBy(;>7iqP7?i-<_oFOzCp_yZ$G zH@^}an@;scrMhHkNGLYl6v*Wq!-$!6$B{*wK7mk-dm|!|b_*i4fgOb?a!dt8)w+b4 zMY?KiG3mwzmJ-``9*&6Gz>y?>Ds4QSu-JI|D;Tjha4jRYolh}h+WDMvi4e~N8yk3s zP>3Ip!RGvekz#YK^)-2@vrOB{ttNtF7Hccco}WL)H!?2n=xRW zVeYLvyrhN~4bYOJRGnWksMAh_JGJE7g3&7u={ zk`41^WGyncp{`@3p5FghMU3qf%XmncWU_jN7$br7*MN<8`jAiz{Uf3-O#YNeHt3%b z$&LS?h?+39v@ej{7AYfYKw3i}=K!imRtM0Yblj5=6?9>wNKbzT5ofe1L&&f1W~@uH zJ&+#52xdoCa60jPeBN1NXE64(z;g*RnKrVzx(E?d*|ntOrYbYvpjhwf{FyxJ4(}ix z?n$J(N13G1SBMX=wY|pJp`y5U{Q&EmcT;*YQlzRFKrCy^u|TH$O#xZ|HcV__?ka8T z(|0!MOU>`$< zPcEI?4NGA-WBFif^!)$uI+rXXuit{CEqnflJ8cs+I)8~ zV)ETZ7R~n%q2yalB>A2ttIhW!BPQR=WYK(Y6H31Ki6q}=WVQJ|Ct1DCH>6(ygA;8O z4@B%47$ck3gpr$;D_{Jj*_I@y&FXIo>AKRJOL~zRw2K(QdY_^$C67M0as;6`z$2AGb#fddX-znh z7{xH>`AU~TasjX@{4$c4n$5)Jq-*Kd5Q>r9NRI8Ly&n?xRz-Y7+*nz@1Qv#R>wst< zKWNT~xnWQZY&JT5Nw#eprV&{Sjv|Mm?G=I)iUUC?#x3BqeM`Bqi(!H)Y zV9@mtqb*^jlG_6td#EN9YwJZMT{?=a_E!E_k~<51Gs019;g;mEH+i=vS*>d~(rwNu zhKU)bd7k-%Qr@40$mD&AM2dr4>cNh7l%pN%Xs0;ZbwIAp+Zp+*x!r#kBj&mIN64?I z4Nnq^vY#T7yN7Q8QIHStivg5Qz`cx-KbJ63WY^7b}N4?yE@FQTG_>_F1bZNLQAp3B|Zx zB9eLcBl4~=v*MQ|YZ>_evPMx=K&~`=1lN|ODAUZ_WSD5i@;gEnJNXch<^F1ZTMPrAb#$!|G5)<1p*WZBMB*w2kk_7+4PnH% z+hJtUd0{l6U`6iLo=G&SPlW$wHXujPDCEpYx$v2yq4 zZ1zacvo4_=W{e^d+ufL~cyde%S;UBW^>;b25RW3!JotGMu&Lu*DvBovgo4sQ9@ZPJx(Orc!sQH#@1gVSsya_fKcu* ze@Ij<1BM76O2UB-k(^n5MkM#uz5wFsiilk~5|QbdVjQou+>xW@Yn;OUVW*i>7VumT z=cB<1C20I2RZP_MtRZDiGiS}ic$>G^oUCloU3 zJ=V3{@DpA^fjONG508_Yoi}~|z2+`hCl7s)((5Wz9^dq*{q~x-@2o}H-(-^x%$9A= zB15Zd{ZLAdFQv(&ILY=en7LODfdV%!889}AsyGxrNtMVT8Ocb!j6QR;86%ZCOeYhY z^WJTUi}f6E262gQxc5;W8F$wc%bMqVLB?;bK|~AunMhn;*}77+Yv7g#;^jJfjRrQyOB)l)l(w}HDdEnJHr>(YI@$q_cCe!z=V+$^xksPBT(;&QV%n8Jv?Q!-m4 zvW{5-Y;5&7C2N1KWW;!>^N3gI_WmZ~QmyR{;LJv13-=Lj$2LAdB<8r9tai)&G|AnB z_a)Np5%%k(tId8&dd3_Ze@?n;^cUsVN=CI z`{tg?(v#v26tWJL(TZiqI2PE{zooKk{abtb_N3z>1gUlkA_DeNZf)vZa%=tjlCJeH zQI@`}|4<=o{ii6F`cDHk^*Hv{gr=o$AXMGMO?13lIo@3zZJMLaceMQ-?NA~)4nEe= z&LDbcx!TgXjL5`tp+gT6U4&-@*rF#9(Yt+5ll(x5&d8rJQZLg)_VnK|Qm#`*$rxaB zgkDLEkN2^hrUAVraha}!y91lKZ-BDsPIMsYYQO6X3k#V*4!r0b$VtR> zV!W|VrWuOGW9|cNYMM|@pv*~D2l1AWW=2EUP5d>8G5DC<@Ug>z~&99RfIyk zgGe?scRSi@VPqYTJK9r@?^#EC-SNHYXzw___Z{tP$M>zHt#N$+a5IuprwT#sm(PL*SU4eN%&V5YInJ$+}TYu$U2u66HCD0R;vlDZd?*Vet5 z5vhAAQCiRTjwG`_mUIfCFq}gMdzf^Aa*MfLPHbLW{6Xo`h7KEoKGELSuV(BN<5z|< zQf~ap2u94hW@F;lmm9CV7h{*&d3PpbB~;(OL{i66AhRhyj8J;(NMRJ+o=D;VfoBrR zJ*2Z8=egw6P5H$n>h}I>mwp}7wU=%uT%kMsJIJ7Kq})#^rtmNstgMeRBCUse8KADK2%6OI_qr_j9Q$Tg_J|UYB~mOMMck_)(Y`74jA%ciLY2m@zXW_L%^TCxvuY z?8n%18J!ikWW>&jJ2GNs#l4BmtT><8%!>O3^aF{_tavoAnX67A8IQM!ahyuJ4(1wR zp{SP&hooOYxLl3>Iw9+!?VV&EA}n{2Y-hSh89^gi%;Utx<}jZ8`k=$hgiXotDv{ia zdehN95k{td=4f9!zHc2Zy%7r}UonxCS4t%1)pxWOj<1!YwRL*r_#9p4Z~ z8{_!KIobrrH__3yb9_5E+Rlz|cSqaD@y&6x`HpXqqpfg!hdA2dj_+tkTj}`DaI~`> z-}yl3d%Y`i3CTJY-9oy0r-uYmv5yeRI`dg_>Wud)p>*%-!f1~3|4FhQ)P6!Jd-BhS z#Q47=ubuaPCRyjbdK&{uX-$EgRdym-Zy^pQ6yGwG9QIQr8<0F$>~AwdnQwM?yfc+o z4SOERI!ov(yB%zBUN1tqT|?5}$In@ZPbK0Y8_HSi&!=<^fh&|*`5pcF6q|%QQHW%sO9=CY1SdJdwdh|o zFD~^#m-?_vecGkI;8I_5sc*Z~4_)fVF7;cN`Y)IIi%TuvlnrK!s)(e$jfteaZCz?- zm)g~(_5h+eN&j!a$SP}3TQl~AP1}_*Gn1Z2>}Jvn7(1d&XVM24v9|h{MnsI4h|Ns; z7O|O0-w)_t1oZC$dTKMzUrKDssZVTX-qyfo=IuCVj01E0GpcjB$PREKOmNT2pR1xeGDUJKY9+a*^izNYzFOBBwJap zCS7H{jZh8`?+ZEZ_Z&|-ju**cTJsLEeJ<`BMobI7Q!Fj`0ob(QM?z^q)#loQw)k}| z=)#C;!4P88g5kiX1?ww|ZpbE*uIrD@2&Lr7M6zDk+R=6wMrv$NN1N*SW;og+$G4xO z9pLzuIoi>V?^s7W!SS8qXy-e=8b`a>@m=m{H#@#t9ql&9cbB6*;`mlO+7piN8Ap57 z@xAV7Z#lmA9PLZT_qC&a=lFhfw9-jbH1$_bBzmqO5r7IqdCbsz`K#I>yKdq zS-?mlS$~Wtr>;LHkT}I;+lG-2nT^Q36M2mLCE4!2r;@I_?-_)$9$7$+S!NA6Lhe&b_C$C-WjABHJ z7(-;%IupsPYn{o2vewy&NLcqE>ryj~O(R*ij?)Q6h4aZ#->fheF=D*pb;S4%B}Mu> z@g2@pKhNlWrRu6bV#IFQKV`&p&cBFnSY~wJVhhCnj#Z_ou{~q5tms7~l?((ji-8e@ zBHk!rlsp@fsLP7Y31xzs>^Qe1ryAuBBBUmgTtc&DpGOAWvL8SwK6@D% z?B;I;BO=U^L}tr=3Ym2YawefHLCzzRCCDX2vIMyT2xY0>uhoc@b_22K;5IVr3iCcf zY1sor!uSvwwPlZ!s4e@uOMijsx?p;pL@nukLMiD($N4ciwWO~|)RKO5=|3}FbyTt? zAU?0b?r#We&X$^xY&FxI5otj?BBPleXR<@IhXo^OMTO&zVA{$bg5sv)E`~yzg%kRR#XSuTS+9^s3H<=v;`_Y z5`&Kn0~q<)j=hnLnI+hP#BN+KW$dNm@_CX1LRklDah5t_q~mO|FeTn{qq;YUxB z?Xqe(Bj)g9jPf^Rkz>iP^-Ly|dUh}j;y-ru9Mc`g0wOWrKPj*7ua_}mwlK#Ln;K6f zHpeaJ0Gs8`d4w_z*AU4xe2JsoAdD39CP%x~@!jrd4>`WSI@)T-_oSn}?D$@BwAUTq z+m7~`*x3eINBh`H_Xw- zIll3Zwz1>e%+Ypmd^Q?wn3eUG7{!xDk^t zB@%16oQ!sPb3Msw7`GD2LBT2_8L0P?cdl7#+{Z{WUEHiDi%Ro2$+*KWmiTwls|CJH zDCNCEB;~z9Uc2B~L$WS->TL@sgSin=D@xqX(K-XU1naf~B}UGQv1vMzXb zB$TDgEXTV@d38V?NU|Bv8=auACX>TA==k?oM`khSIgQ)unjX!#X*v#6`l38c%mk4FnevL?G?RSY}*8Ug> z&D0~6Pe|4ym9I&+D}(PCkv9H94qcIyZ4W4t*CUcPRsb2vn~ zsjs@!cUzlO6T6kmjf}lfPggE4F=AIPZ)!w@{*2hHT)rnZ zE0>=GdMO^fwe$wWhQCEXZx_(3iOtHTFK}j@4A?=0^335-B3VOhKvw&O`q9E5yb}q> zvAJ6ak!Wio$+ZiR%eAX8NUpsJCD$AwGS_?}$#npb%XOeINUp;OCD$=RWUk|hB-iOc z_5q8_i0y&a6yjZEz!{N{@79QT)%(bz4>#UVC~JZjfLQa}WVGwC zj~FqBMBkBhv=sI)LV2bt{r{MI&v2`XZCe{wAcJ54R8&wwj0h406-7}opnwq&kQ^lE zxKPXl#Q-Xb1SNRn4V)pJ#vjoPF-SKi0F}-l|ov z8Z}alFz0NpHvH~Djs@ZHS`6K$QnHstuOloEHlm%wA+=ly(rl!1(yBvs@SOswM%`3; zI;0wBCGBEJH7Xu=jxU-ME9?>mQmLitKlS?r^=RD&9?CADX7>BFFMPEF3~I6dcMh@SIFP&pST=Te-W^94lDxeip$4axaBPS5!^qUZb& zRL&jAxf^G;*4_7DxS9C_2EUoP7u2bFABKYAV3*t4WZ$%k7>0iB2ZjrQLvZ*cxFT4c zl~NhfB=`hK2Y{1}*p}3bS{|sIr(y9n>LdHk(^%;H*X1~Tzi0{8q>Wb4xlnsZJ7NzR z(fTLfz~mdAe77Xuxa7Mt`6eXal;oS4e6y49iR4?7d@GV~Rr0-(d~YV-mgIXk`L-qB z=gIe7^8Ju}zb0RH8wQ5uEe2^^NsoXUX?f(tb_8y-E8s`Lfzt({>2gvXrzSeCxr1 zpqAiJ9Ddw7K}eI;Al)FVhtY44odcdn@dc1-UxYE2Zj$E%X|icz{jwi($^ z>^qZVH;y>9`4-uyHh+Mcq?BqGTPSa2Uf+ZcNA{`B(V(U_$3d!fGTu0~sY#$t)`h~< z=4{M<<~Sd$K;N4|vR;if-XLp*><94Hpw>qh9PtKOcY<((tUnf?49r1}?;O2BaCW>w z_7>5$Vt!QEO<=#!t-=1BAj}1Rg~tsJbAbceTePQeSb>KS<8iiXrwLtas zR2j8ho`vW$fD1q!LoZ6s#yEWoy&TbR4qcPV+feS)uufpu1G~fFyf_H6pBG1fIxmib zbY8q2(s^;bku9d*AiE3MFFNi=k2lC3B+xQGg2U$ob3yg|2}sMh0HgPOF{1Z;MJj)R za-UtSMf6M?L1o&UobTZDOdle8rd_H0Gs->Fw_q59pPaR51v^+hAA`c6#-IeGF*pE{ z@gO5xR$uT69%ylnfVCmk6!}JZnsL~&&IZ-h33cut?bIrW1wp+{bV_&+Q=ESi-mH!W}Kh30w4j1ls;88ifm>qY>jr z;%jB}y7~1BGx{a@^)?y3KYIMuz7Ygjx%${#9v(l|jdRbD>cc$*;XBqI5Hn;`Ts;z= z4r@qfr}8JDfxfXl1DEhmp)F00l~6x-ya1Q+iRD`3@UF&IRzHwOwsI(L?aN|5Rv1F3FRNOh|j*^2WwR%#+2prNS+ zY6CnMM^^Y8TQg*zFJA>#rgv9E+5+1_`mV3`P&rBm8}a`p`)`9?S?O=4*c-hQRPV<_ zdO&*@q|e<{>rIwH2_8<4+3xVwJD(uOzmsPP7C(zD2em?1Ky~TQMyMh5E>r~C zW|ZAG48cxhzmD7m=HMvR*&OX{WAeAzOB3E5w)AQQ_7PJZyH6nq$L_P?j|Yams14C0 zMZ-$&XHjk~Ez@wYDy`%}T93D>811f9dQU2yoJwb=(%GqWnUP(j`pCRufm(SB)piU8 z8!@}#Q}moLRr!h_{0QXla1lRXWpy$CS*n^1>Q+-xBffT0a&dy9{z<%wuzjjr1xFM3 z(X^g0w;qdimT_=g=<;c@H_7OiyY6>Ox_Y2}vL_rqFEb3kZ<%?Zw(c7sZH1#%OoL-m z=^d%`zEpaDDt$1OKAK8rq|(``^vP8ER4QGVN}o@qD^lqTsdQZ`U7t!{Po-N@>DE;G zek$FWN_VBw&r<34sq}|b`co?1mr4tCjboJ!X{<^>CoxtfQ)%f`dT=T|B$XbPN~@&O zV^ZmHsq~aoS~Hc_Nu_6{(gvxtVJdB$N-s&JO;c%$RN69?woav;Q)!n}dR;2*pGpU$ z(osfs-0>^%+dR-g>JBV*w29seYA>CFL7U_wZuNT464)NdP_Dx4Z)mOqCB7!NlD(ZN z-* zH$gmeFC({6OErIL!Gwf=bXG(z&58q;tbyNau#3 z(1|p9Go%`0A=S7WQjPl|)tCgS#tcX`=0d9R6r>tUAk}!$$i}l^IJ>MSe7uyejqeHK z*<}xb9op$mPIu#%`-ihjRifwPkC;}sD4bnR1y82J8BkT|Oh{Ys`9|UBd?gsZFX&Nc zU6szm>_1!i1SoMnq^sy>p<~JVB2*39Xk^=gUtDcM_V3$&2h_-Hk%)IIq_h9WMpmne zwvx{YhWj@IeIbkFZ$b6^M+`;6ykal1pW1#0HHXOVVUGS`x?IG9a0OQs)DV`yQ6|jB zP9`YfU8#e`ztQU)P`B$ELMPDYb0PKTZX?@Peg1wQK|%k%qKC1ZD$iq}*1#M{bFz7m zwv72uHd&uCvNi43x6dN`z33OvZJ3Tf6*Kx#=<)bdTPAvQ zrpvlkI19J0(@T)!@#k{6{rJ;DOwDUu)i}3@HCSC!c`qm&e@4LJ_;aUm*exc3N-z!5 zv0)aZW5Ya1$AQT!vDtj;@z;T@%a#63u>Krf+|v{58imS*OwstWcMH}UT-9*dN)I=Hy&%OcNamZ zHxY~1dl*!`M zUEDNHrEQF?=YF%aBeEafJAvAkIz!rty1Q35%ZH%)CHZjBzfg1psApAo8`0*&_CFoj z7I;vSf~8pf{IMK4o= zN1^+f?r2bF=i_nsJ+f0k`!#6VJTv1xD|s)*kR84*p)sv*HYROz(mqYv=SkaZ zWZSRbwaDsEm(+H7!_?Lx=-$@x=+R#z<39`3Hqijb=9uSviyq|X(zY5|_q?y$kbQA}LXWNPMfZ(5XFzPVxKXOPKeE@X zj9w_*3p>#RZSN=H@f!xUko`jH4A71TbpLD|elMUYa$I#+Tc9!N?5gjo*WvbF<$)TD z>m`!xo}^7k+U%swN!l_a>wxdRFCcp#x1z@pcu#iq;miE~A2R-e1I<4<{VRCsfDCade;y3HHLM|@74|@2jvzy_eVM`oM5Pp<-BK|O4 z1yyqjbHL2Bg)qtr@8WN)P=dT6DA zv(G0lw7`!_7b9=V@)^lx1U4ttjPe?S@YSsCj6<(Fxa_wYyJqz3T=$p4duQ~%`SrmW z{TB4BFpgu)Zj}Yf@=|{H z+KhXBe*LYCz8O8v-9MCx4QzL!Zxa2I=ns*f6%H9}3A)DTRfiJ&64t>n1biW^R>J8- z2d3-SGYIEo``WtTFV5CP2P9`3!VSUM&YiwqyC|T){UDvO@ZS|Djcg8FQLEt~WWP2%6qH!W z9lqTjM_@mTM%6~JuGcPxa?pAtt&frSs2|$9p+{o~?30x0(F6;^R`&pUZn%t{h3ZEC^q;*9xpiW36$-XQgc{@SN8o{~2<2B(Niu zQg$T>r-wdXpg#3Awz>ne_-f!r1>yhD7is_h`HJ5E*3T;c7hjm$CN|in^ML;02i5-e zwX^^7*U9pI|8C3{zAZRkiDTv$*#1%!zXjMJ z`G=vt8vMfv;&y!tK{?+vH^ z$v+wOrh?x8xdit0)Y_VsSP-V%tI@N=1;Wede$;;z-S_b~K<&+2p<>?7$Hum`y;_nj z&n_kYb6eg&+Y<7vq_}2J`ujHtr-J|SX8E`6&cgP6yY}wiv1hgRZQFP0SgqfXetmoO z>Ysig@1K0P^xsna%T1RJZU@7=F`Rb3BgoD@LMv>K1!2Yff*wzp`v}5M=ad|#0{<$u zvKIJt$ia|~dllW_2gef#>{n3OWKMy@qy74Dc&VtFdsO*Kc!VEs+Zl<6<8}J6$ov zLvK%l@Pk6P!oz%KdmDDY)*A=vlrsTCk#JFTKf%R*lzb42&tDz_b*uAH41T$_9JHw^ z%kTzlS61*QILqf`9~g%gw}HA4-Hu^sxYFE#>>K^3=*5El8-kJk&C5T*;Z(8@zt7GK z4L8|$lEQ{zLRK8rZ|#;cv>n6xR2p$lK|gJGC9vNo)Vl3WFcQxoD9i6>4L1%iJ>7zQ zNSGqcASmw3ybum=?!Mrxr&})>hk4v<$o<0NeL#@q>-;nK>&oj#XI*XYF%DM~zkymq zrAAoA{lel^Aoyv7fAMZ*0=qp)_m73`mr&sva30iD4ybj~x+bj`qyZY2w0j{9$Yf}Q zFYF9hN5q*%p)XG(o*B;f&!AV*9A!DE?P3j%_%ml86BPGj_zu{%I(qg6cE8*4C31WR zsd%0R>Rok6CxV)gO^~Q}mT{OLoek>!=yM?5va!Q##hi!#^I&; zq9aXyGX6G6X(A=80%iLbT%HE!`bKsUtO08cX>;qIw4soin+oZ0H28VazJ&(k+n2Nw*GJ!ekm??kv}%wtp8<`a?xm3W(g6yu7W9Vg zC(Uv6gG>0EibG&~c7%StaoAgL46;_n=!`zj^<$*pi|&{B_vP285M+7InRxtu!ej37 zW7&d?{+xmR7At>f8 zJpd2(mZri*{5MS>F%B&~ifpSvb>|Rhbe?y)0SmGkw{KS)K#8wm$O=i`^FW)=c6fxh z^C@<}+3^)vi*#RO$P1r9+=J}7{{WTyPaJmKP@i&cv_O5T0A=|@-J^`d(eXG?_u{HU znlzjWsXJ#HWw#Co!Lwvg+H*mz{)=$b2#zZW!fE|lXC)lztduk0FqN5a9G<2u2X!7> z;bwm^cP&Al9}u_5qW0g-@7bBp^Fzk7C%>n_O_@9;V7o!faP9|(k6j)DkMIRQ84kTX z)j0IBA#%L8dp<#^+YAnM2f^XcHpDor!+Vf(!x7*q0`0TULV5nO&P#Ck{elg~VOTf1 z?8lC86wvoQkaFbQOg*$x&~Sg2x1Vu1yd4N?bPvH$DBNv0ieQkB#L-y%;C3vil~vsh z{>Y&QvUj2msP%su4li#2zEr?3n$EVs=Y!`U-w~?O_SEA zpxkgp{~|$rPVgFmJwc0t2i^C{^IZ4Y#MK1hBCQJ^mv2IjNB*${Bm9Rs$Kk22rpAM3vLN?JgeF7h zL9?KfpxKZXa;{Oh^m`Hv6P;J!@T(x}F?%02BNquf+ea4oL0~)bO9jZh->ruB^OiaU zlqJaa6W0;OAxkCX;^AOZ72Th?pNQ@|a!pW^)H;;=rS@4W4@u5O_fOtj0P2dd367lb z!pl{XH7>2u?Lt+-Famq!jqVPIi}~SjBs|ddG49bFfr-Z9;$V`?Rh4H7LD&wa!*(T3 z&c}iYUI2${$)}~Gu7-4MUz@beP`00}KQs=<_U*{S!j}3efo5KNMDG4G<1Tm`hTtwl zU>8KRcz|)ZlrD>GAF9+c9F@_lp!W-7R2|)K{MH1u+ttHSI;{Px2ri3vk((3!sx4p~ zSR}Wowt%}W2yb~kfNm#ywfiVRmhU$+@zjz0I9Qnu&xLedHy>;Kp!cGTcUkg2m%K0H zjbE3rjle!KN4o8>y~qvkfCst$EnLvA2=^L?{db?seqoSvyLrNTE({O#x~1T70do)> z)^mC3v~(P#^;|7!^%9*0>B8xJNbB|TRN5j@Cn(4J*bN@;%h4b1@6QEB8izUGC{XL` zHVnS&j0eLrm3eRnt+}srI8n~ge*7Q0-yVK~?Z0*JGXF^;-<{IG{Q90PT-JP+;8RVB zo&n2;TTstg5RRy?fJd?t-h#B^-^Ckm?R`p6$Pa5@d4cS|V)qX?{RZlMku%!p6td+) zn$r}5jz=pD>G4cSBirPBT3?xMX3y!=80E!7*;RP!`o| zoZoYa1%B*pg8YZZ;tDX{j%#B<7>nWPak+0KDB`oi+wl}q_Ob5qoF9i z3#`f#&xJHx^B|4F6OcyhX-K2B2-0XRPQE3OM(cSa+pxXOcL;L*KGyqK{C3O-$^9Xu zar++9xa~1wv(_T~Ob~AW?vq7w)|h;rYzutca*(HKr^^Lxt?7tW%!2T?Lvc`hQVAok zRub>is#XrPuVPiTdh)8l(~|iN952ay322uSGGCf8Ut!3I_6`3>;ESK4$;0RGRonpT zqGl|lW8^qU=kp1W#`%8e7&1PPe3Kv@1|NiU_u^4V`DQ@syrPi!(ETI{kz!HpDgQ)4M8z_J6bz( z1F(4R0oqv3vmgxImFT{)cLq!OUH!h2S?5Eb{yq+);F72}8ifqE8zMa!{=b3AUJ5|l zj7^`M*am3_+X-n{KZW!&c3(hx3H5s;tF7{%Q~7VHJln?EHUOVTl<+`%ei=A4Th=&i zBb7k4TLn_yV0=Ui(3K8JZybM%W2Gbm2N=E%`u5 zJs1Y52YHZsa08?s++q}$d`v38Bb862+93w-H?HR|e^(go zIm+UQIS$J>j!cfqIAT9e$T+Ge$Ei5t3ovIAX!>*>q^VMKD6F=2#-SITL5)|pU{KH} z;~1D6BXGnvZX!?{V<5HhAXM5{{(3mPi1ivAUSiq~hbMy{8;3*KH*WX!{+j~UY=Jw? zUDDqJEn^&};uQ=jK851=l1Kx}eRDk!z zx8o=kCiW8u+W7H)s)| z<0%C8egIvpDT`9qLmn31K|a?jsPbTAIc`L>Zv#*;)`D8f}ObO`N!WMm`j8~^6)*~Ke1ZH%g79kKEm*wX7*LtVL#p=x)>v;6L8vzwi`SbDs@^O}^=3o5 zuzXTRmS9oxEla*NMk)X61O@#h@U|By**0S>*-kh35`Sw!=)oRPJ@^e$rJTF-WiCz- zGVkvNGF5)R^=e7dRzj-rBBUDYQ|SgsHQq?t7DzSTgH&Tj zD%}aG#-~a97E+BLAl3NI$kv;0?gj5L*|*m6hG`iOM)zf`0BRYJhLr6XNZC#@O4({5 zd$xIDGZRpUCmMF0=17 z-7kfU8QOghf1Fwz-CqPQ4Qj2F!x3jZl?cLz)Q*Dle29<3?wjNB$Z?yikV%y|L)!Q|Htm!_h1++v+dmk*{4*rA>K|9Uf~++tWm!U4xdqd*!9{} zo?;w+Wp+BKU2v8gd>>mtpl$1UBW=mAO9~VJcipTTzn{Y+{2p2E1mo}v^`+pTADd6F zkxy@&Prp2$-qJYi?t_rCLc5~~!l$Fg=kwo}@lQkc8!KOdgZ=RRHGCRNUuvR}z1pRr zJHUd_P+4@J4IL` zG~ErpQ_dn7=|_d9GVaC6y(GVTc|P}=jC(_Jzn0&f6`~8e#dvff=Q9K+5cUj;Y)~Co%X~WtF z+U1Bg&Z75Q5Poy@L}%@)wc+s8>`db@JQspTvII?`N>DSm`j*!k*KQ8=7`t|z#Eq`&wuh9Eq$AB*3QBM%~nU*&oP*;l}m$jZ1B z(O1CppjN;NNGo8gjA2N35`-173yZISFF>t;A27ThZ(shHvHY4We_$yQ*1(?@*czBq znG;dn|Ky3NXU9Qpd-SgU52vE|DBE8={&&wt|HVD}eCM}(XT9EC+V<=C4=*^o;a|MD zo-a$E0d0Hs@A^*?{lkNS0uR{8)?te}46<(|(>8oGK_S2VuIB~1K)ejj@vDKWjl*Ww z2Gjwh2L^jQsGYMf!4UuA%As&!uX(%c%6Nxy_?q-P!6x)&0*3gF1NRdQ_m4nM^#V0D z1G`^8%yx_KB+s}wWMzYD^qhjR3F-bH-5|1PGrxq3sft+A$9U=ynVuAeS_@J!G8p`yZnNq zOxPC=oMb`z^wL2@ALt-j7A%;1g4X7d7KHD^I{`e7UY!V4flh*sfKG!n**Fi24gq1P|1>JP2uZJOrsPlOa7so@!*R z`DFibg77xMTr55+Pl6hig&6GWPkmctf%k0*@?Q0A8(26TqqkcS7G%E%O^i&6UiHubhNT;=vq4UtHr_vgbmZO#t4T`eg&lQZ((FT^-aD#vJXxt^t^Cf?St+g1?UfIbVfls-QI{demBK*3)HR0P~%vy z!t9N_Bwdydz>&gj8TCsrOgerr4r5yIAsc^No?QD+Uie^R-~A7Pq#fqv-q`U3IsR73 z30O{3YqdZv#ToAQb$p%$zK$CqPuF=k4=kRWt?h3N!BCo>3)z=Y!%x97KL=&`G45qJ z$B$GSjdT6$I6iRMFIs;lurGNdOU`8T_~lYjP;by5WMl@vlTynA71YL(qot{v+zp_r zB)bsOr2JAyw_2J&IwCYTvRRlv^J`6DUnNSlHds7sJ5XXbNLl+q$~qWQ)*+CxUT>7L z-iqwqeh58&SLtMQZ(%B^7G^_g;Ymm>EP~X+Vn{74GfJbefnc~FWL}d+qp=axb@n?L z3Wtft`vi6`fTjEd*5&HAkbO-7YUziK?F%H}gW>R<7Kg)mz6~8?9QKeCz*?AVLE10t zL7I1+W@O2HXF7`@Oz6+W;+O50A?JlD&E@EBZw_h+TH)|3n6{v{v5rudFL!sWzA5!X zj-LX2fS^@wwr|Z35`E$uC|E3>>j&s$mi@=1 z?SZuB{(!V&{0V6dXHQX1PgKN$aJ1bYJ=_BVNBSzSi^FfBpDsrjrRL~<;=C3;e$Q-M zbe{xv0<~{<#Ze?|b-P=7lqaTjW_h8ZKqb%_C zUK#lg&8};J_6aQ=#hMW0_&X8p;qW2y-f;K`&>-V*H8DEK%09sZeOzQ796sK)1kUmk z%{tgVv`=qdlOOs(P-JKr1Se0BSvlqidM*X zkmja8LTY^vq?$iLs##>Z*F4bvd(BFaY90-#W@ShB!5##{$`N; z?IHE8lTq4^yAXt1mc3=s2G}pZr@sZhtq(+Ap>6#^(C+4ITc2t{INz*5FBCop_Y%6V zkG0@Q^!QCk$FMDU?Y@JW{J?`8EW5Dy=K;P#j^76VBf6j0_PE{GPr*mbG}52!WWiZJ zK`RT}omz61GY)kd7$P;HINrK$MtNm*r8!syM+=EiOGroKj?lSiol+?Qz? zs5YOIh<7=pHeZ3%=9*OcDx@|y7}+7nPYK(QFV%8v2era}#1VfKYma0(_8QVs(MSD% zdHZiZzb$dF1>w0t1yFly14w)3g-N?eM)F*ew0_Aq)F_R}4ahzs6VYQ^_o4gu1Wp3g z)(S{%y@)rS*VkL%+xu(CpK5#0ondGno7DDR%z|*T+z&loTh%8Bw`DHy0$oM55VHX7 zjlvPX2dFEBo{;v^elmu0+d$-VG>*f-dL+0R(we#js*N@V(z?9^(q49F(#Aul;+q6D zh8|3%4?#zxO);_?$bN#KgX~AVd0;M%r8weeE|y7F?^YR7{(bmgaHht@=ONh^gkNGP z3Z8V)QucxCGtvUJfen6_D~?4JmJPNO{{E*{b$~TLQ@g?qcs4B&lX05Vb(jt zS<79E=zfRq2=tM` zbQ1b;T5YvJ?S-e|@V)zV#G_Sy26!ZEus&1E1V>%5F;S zPOrpIEeM;)7og5Ne?U6x{|V^lKYs>&GDbz|=yI<4_;n zdvYGAw$6vtldB;0d#wA+n9WtlC~LAe?BxyBl8hKSTDP<_-K3$s`YOmwZ0Eh z>jmb;(vpx`FO{_YAo)rstqi2r%NwQEk3jbIaw2*hhuY}gllq`~awepnTned$CaJU) zq@J`+TASp%Hfe1k^`x6oS}(mV(0Unbz|bqYCA5JgQOdJ*opL|EZ9A)Cf{b7p2lGA@%60q+OkS&6Cyw zQjc02*%`;@2yHCz^Fv$YPj!A655_0AGcBN_^AVf+G;1lWH&p+k5U>hWj({3LRUs|$iIA=qPl9x1SjQ-h?db$z#!(-O zUpJi(D(l6NvR(lxYYRwOTSCg(&M0N=itKA_kRg4#f%4e@8!7je#)4|;E=Vm+g4EI! zNG(l;)Y8*Nd?Zo>xQHNpamrd}&6u_s%kYx{?dL8~`+fyg$byidD0m2t10c4gL;WN`6 zuzkN31GpPL&>zr#Z5*B){){|!M3}i1crvV*0}br@|&Tu9#m z>Q>L4PzBl?pR|XQHWSjj3A0k^>{R+#(iSIe1*94)Q|YQy`a;sSByDTb-cQ;GN!xCe z{bg3TUjK|J&wKtYtU2Z%(1RoV{zHMMSRie%1wpNtET{}id7u&hE82g%gB4b5Eh6PQ z3mV}U{SAym!xtgjLp0@WP7vF>29vkf3RHWoA+^`ri1vot|Lh&{+j_@P?pxHo6y$`L z875}*N6_PEo*&ET&!Afe)suzjz9X(ck3HN#5PSFrChy^!pnCWgq#o`tqKDtw|4a|} zQSLn~^0XDi9u~78=;hF34-d=eRncP)k45($o`N2G*nlARupuVz;klrCcpju4UTs7V zJJ|nB5BpK>JseI!>|tI;AA=rycvnWBi5`BCWtMyVe)(L2@Okm4y+F5rmb$JjWQDPv zv93Opx3zu{|C^s8ERgTTCVxY##y`BF72n+Y`!_@W^Ovmt@)lIS?EmF!Q|)`juLsTN z{_9&|`3f8}Z)@4WXRTyN>ato^LxsaTGHVFJE0b@+;kx^+eEK`E9rUQY#n{jP@1o9; zSnwGo@npP{rs z&(Utx((S%YbS4PTP`Y>pO=E_`_N65>Ho`d6on?r$h~oIXVF~4xm3swP1;&?-pR z{Oh1|(blKZ4Ule(ylrG%@p}gE5rk(bAIPlyJ3!^%DUn>eAm#rSQvUB!>GzQG|7w)- z7g%Vrk4Gs(@|3s#X_*e8+?S~ms5Xz3i1#Q+ZJr3J&684THAroqVq~W%zoT&;vOhyP zAJhtKfg?UcX(?Gt+SZVkdWHY@;)~zc;`dK{5bUJ*DdYY*xeG7K z=PqSI7>)Ai@w?M&c%WO~7vb?XF9y|STMUK5Y`2>QzO{Epen(sTI555yF@+#JDVb^< zW)M#x$G0Npqx+HXDNt`kyaZ{yS10XdNPEL;koxmFRGNj}WMnx#(N@VCuTRkZt%$F{ z@K!{z#iWp%m(cq^h29Nvn!01j_O zG&fe8*BQ|3p%lhm=UEW$OpSKk&x_+T`Xuyt_vGP>J}19_K}KJK9^Z;sf$np-P44&6 z+LH0_aNXPeJfnYu9^Z=i(E?xZKOv9Rle7Jn7}{B=7>iZegZh>#^U?i2 zTq97o^_tK~Q+31Q7dd@Et@D8rX=FswMkVd`q}`FU2}U-4zOEla_NJae zk53Gqm0ev}ncx3P#{VXIT#_y5z9d^gEy*?<@rl890!|Xv)!oL*{f7ZUiD#9|pBR+1 zAZ)~?!AdyFL)D?fAl)TD9MWC#W0J2bq$&6DNjn8n-BTgetqZB{*~xbfq`K!N?Gi|J zFN0L~a!7SsC0}bub=xMbE2O$TA=T{#sqR3dv|Wxs_VsWtdRBOPG6CH;(fdJ-#Z*Xn zXF$q36H?xJMk((z$e#CQ^zZV*yZ3Kfq*buXfMNY9{4ccBb zc>;2L2wolCAA;9L&kCk`1op+%iLko~ul~M@&0iJV0QzhN zNBr7_cY>W1?`PcGlKZp#?$7hNzsb0NNbcYByZ^}N&RU*&QV3K}N*bk}9Ej}mnj_KU zGMtF+%TOIu%~Ns2WjGVrYhG^1qVx&>2jeRgM&m|&o@oqN8RvLNIUm3~G+e<=BCv{B zreX1VkAbT91f+V4vBr8!2tvITSiIgVpz5uMRBtoZSnq9uQ11gQUT-I;dY?n8_Z`+) z?-yiW_Cn8l3T;MZEC@Lc29@J*NI5FwjX6$0_8biiS>)E?e@A?A{CeZ_ehmhda|EQE zx8RLAZzTxJa|af$HxX352O-sa6l<(EgCNwKi^c0b1FGJ$km|jFHP(BPAkV1ec*4v5f%l;#JT-JT)o}=)Jn4<)w90wSs9ETu#j>_nR!lC+jf-K*4s~c;@ zoNvGgH={6K2VG`CsB|S*6Gs=Q2GkYOox#3I>zB0tke=a=NLn70OWhkF<+}$`zI&5z za?&17+7w9nW*XTX!{<=*kbNmvp~t?zfbQp})u7sX2U1&GAoYEF(mqbwCy?6u(#YEK z2EMmIqg8mNkJkS7-&*vql{w6U&|+m!*{eWmyEde@>!i|#kj}8@Cha^(zVnmT2vUEV z8l`1#Mi4$x*Bpy4Z(C5Uw}aGrUr1T|rPAvmwSGg=MkU{kNxKPB>tl>k>vtpjz)VGt zajD%QSTF$zz~;G6zymmO|>u zvQ)YTQcqq@+S=q>m$dbeda~Ilt(W&K(0cjVfc28~Lcac#v>^27AW;1&3#mUd~T9x(ZT{UP#)D$@fyy zRzvF1t47)Thx-d_E%3SEdgKqX>C+Eje41A7MGLeFkA!}*>n%LTS`fN=0(xGU>eeR+ zU%7j(v1&F!j2{bXWdnRC^%jDvw-i#nRaj%aHORi=cB02+-Hq-!z6F(I z52PHwUU<0do9iszw%QWUoSvkE5=}?H741 zK|PM@2t(X%isTmkX;i5UjCY9zm#gJr=KbJE(ehK&p2i)>!W$f>7^aEM9LGsCsiD)q5IithW@| z$Lvk?xU3t|J;(c?a%_i`<5Rpb$2Z8H<5zS)CT72EnC+j3Enyr!UU&fV$Z!X~B0>0h zunUYewk-`<2YD36{*1IBOq3r6_4I#=M7*={#{SGl_Wo=^k2$u=t~NeG{~~T|h-67l=nmR=S&A_h)5yqWiP8Iq3E=UzwhDlbTu!>oo8>lnxoWIs_9Tw{9Aa0jrE1>vr4VNi{f!ci{B2TN8*4ndFK@_7V7c(zu> z3v}DzMAtQjHH_{2HK!=g*6f zW%M28PJ&*!N91VhdWfh@Zc*>Z!+$B8;bo=0Y&KDUuQd-Y;raqN&-b;(#$j`M9@Gm8 zs~~M}uVBpybDlL8_?%}g^33onfm;do%dMcH*k(caA<$32GAzyKI0}Xrn}0$+QCn?+ zR}J;q+JcZ~Sy_c-5buZ98o!Z#_3$*Hj$I)^<4DnRgfM6u@ z1yE6c>!UH;$4BFGct1Y^w>1v8nXUshlk5)ZrHdX|Fvv z4)S*)7YtpUNMH{d>D7Z?pbykc#qUcqO%^ThTrk(CGK+AWEO{|lg%nF5?d;32#@~cr zLD0b`plh-CVQmAb^}G?o5n(-VvcT8#+sI#s_524xoZX(V)`G&`R2|s9T}%TGYb4Hv z?4}IrC9v%-@TJD#l+oT0sT0NVdldRm?w^kz25LQC4^_oG2GZnb9HdW=+;3#{!!HF$ z*0{_;&l5iG7HugDaCi$#LA9^~QVVM#wXhyi3-1`E7Cw}$v^&wgg)dS4RQQ`Aef^Wt zxLk$TS-H1b22`tMA+=fwQmaQnYV{IA{7K>+ptg;>FjzV@J%u2Ac6h2RlAkbSiC2gJ zo80DS$<6ruP__mAMf;R}j-T;9B3^DE!|y2<1aiJUS0T>yxf)LIbM?PD z>jh`%^BI|9nz(>4^!Y+K)91#7nLb}mnCWv%!qDe-#$l@)gdCsO4o3GeABLW<|D%XA z{U3wV`#)8XZrsbVW$5J2s8a(N*FG6pEnNAY1ScYa`Gmk zPw}>bzE|y5c{uWaNw7w{0Dbw5@a41z?9J3FxWTu~L&N{$?0*`i8Wx0k-RYpt&}TsV zll45j@l${o5rnPdGAuqHYz3-bYe@AvVvY5>Bl{BEfF9S-?dYE49#A>%g_Prdyz$IC z*#bKv_sC_ocBlA1G+XQ5yS={=_3uun@_#jz^*L(_{oSX7z!K2DZKD`t_y&QUHQ=|6 z!?V1tF8i@&8@dnCE<>ze*nb^azQd>!O5xYYB=IO=*lwy?5C*b3sA+v|NK>lw@y0Jf zxtJh4wr`5XS3nC;_1ZwH*BxuD*ALlyIKq$~j;1_5mcNs7&viejT$3T?dJOM~Fw0+n z?3W=6lVb^_`Q3APZM?Lg%PsIz@e1V0+C4r8t!0hx7Z!xXIj@^uC>*GBEeLvHblX*w z@i>AUKNTO3$Cs*(AxqUP{BKK3@dm+uk{)BWNWFMsSL4h~unc6C57+%jQ4ywEa<+jbsaRfm)z|}LB zcmZPk4%Q1T2rHy9cnqDr8qy4<6{NnjhBUM4l(f!}=2E?l(l`zv2-C2ESbT*K0hRwI zNcnGvlz%j&{C6kq9!U8o8KwNwkbSrpp~q!ejP7kM1=ZGSNNuf!)YdvkZEZ~2CP;0) zZ)Cql>GOh5kbU#`3cX}_JK_g)Z|fKIeqqG-qI=b>Hx0E$vyJSlrLkBx1=D}NdX+>8H{m&fTv(Z62^|CiUze}5-5-!*Ei^Ur>;{-0btcNp+b zM9u(zfA^JN+4ygLeQy4A$(x-@+^O zmdXBdRZ&omVo(tlt)!9dJ^rw@EV3USDuK#d6;iEZ@y0!>7P99(H96`+%6lGO`^FS) z&W(}%9l~qS<8pLF_x5^&YHtvv_6EDxbKHdN?cJIjw?S&}F1+5vBt(CRJ{L7Ubf1Ur zr--LO-R4?^qeOV!=S70>==^14KdY@ly;-~5A8zm$X^L(%U2>^J2P7(==qM z$EV{ASp%ns|L0>X7>21SK7R+P1*jW3?Icp?x}^0>+VG^^l(cb4n~=1JlQuJH^OLqX zX)BYqCTXu5+1BC{gSV0WSo|N5$EA?YmrbA&)Nh`AEg+3ztEBaURJS*zx_uzk9c+}AbtJNP z@*ecqr+d+Tv%3#epB{shcMhbyk3-74*vK|A|K7Fd3Bm`~SHR&#*Hv(iH~2an=7Vn- zhi!W^sMk2(gLG4D7ooWpPdOTnN2W2dgd@n^7KA-|GN?WJQAm6A4EOpT{Uow?>zU+O2x*UAf;S$SRw4V5 zVm+w58zJT0gf||Uwjq1oPm*H?q`cqZjYp3F?~a}oW>bQNkmGF^@CN2XSwj!bQFtctzsgzf{-gMxx#%Fr9# zC!j+>t@1ob8{3U|vqGC=2(&UMV(=xM1Xg6dKL}~+GYzBt;Hb8f*^-3|(0hj6|4DSe zHd+K~F1r-RLE*w+nFW3bU5>n1O}_!g?@)cyg3!5*=y99cN)UcN=0j(7>=QVT&VK54 z&Dp*%4#W2?a^cX!-_d=7_6MjD`4iGrN$xx59T3)BAqzrJN~6bb=Pg4}*pD1X!9#qA zj)&Eglc6l1J)UA5dU7gqcDT)a8bNq+bUq&MRU=Tnx&TtInqVCeKFZP***C2#L9K-r zI7)>vZfSv!@ioZvbcpK##_#JMP7r>u=yv0<&h7*?1-%zTT;A!(-n&OY4f~^z4%f5r z`X$Cf#QoKyMX7u-q^!^591#w4Ydz4_(K?w`?+sAf%_a=~yAJOd`VwtL{7g&q3s^e0 zu!gAc77M~RWtK7yjZ{FkXShmz7`l(wQHE?XwZi{X@x_x>eSCfk@JvvxHIhi3W{{Tr zGDwdZTcpyKke^hH@OQBPmfQQ#mB2o1KtVsOF82qOX&9v9;gB-r8ByV8`=2t6CJ34C z#p;jHo|To>y|@R!q?1~qr=Fl z7KV4E&jc&eRzv7S=mMxZbV(|`6wBcu-w&4YAcdjirXKOgebqETvfIYIc1 zjpwm={#BszZ-A8l4M_R7K+3-rQvP=#<=<|U^6y6WrTP@qQhkG?WVpgD`mO~<{j^is zIP8n%K%I*!NMubMm9(l!tCqByNjuFb^`HT=_uy<$J-7ge9h9}Fw|V1ca(o@2e?}kTcE1Ikm(fS(_m6RtcCI@zp8N89CTH~NZugwCGWtB%eaf(mU_^M3 znen^;Y6(|k$PIUb))M6Sih2(YzrOGhcE3pY9@L)qqeRBL@Ox1!3Tf?DNZR2^t7eqO zyB4yKT5ZtB8%L2a{b-ErQ-iLc_J!*t((0{AyFF<$k~S-8tBkDGidu)SNEWUEHQ4KM z#LvoYw!qH{?;wAoW5Ql=|8SEr=Y0$8ql0u}KjW~09)KKgftDv&IXoRx2-n#-`!S_1 zwfu~B8mQCNSx{Ayo(t)N9T!4+)_Q3wZ31cj+yXj_8Z9C1hu1(FsaBBg<#aHz5%4>* z-DJ=RTnB3Tdg3@REXWN6IbQW{L;}{|FV^GK5y^xwL@PX0EVS6b~&?0Ol)d=?U0XY@!>rYwFgToKAoez)9J&G=0 zY#a`yjospt+UDq$)q(b))PnF94{5q*JpGW1g|Qh*5T1?RhR3(} zJ3*Zh$78T>@YIk`kSx3(-KOLU7Q0E$&0m18@vF{P@cUKDT2Nc@1`Jig%KZS@Cwd=( zIx20)5x)cGa|?V={{s0FT?~B<+S^DvS^Z3q<2%-GaQL!^eQSNIK{#6!$KxA+8BlM*>!#?p~m5TjvGLY!flX_gkzw3jL3NCSm++3G`157!m>Po#m9CE zsIi?2DeF^4)L&)))7Y-}Kx6wlRv+6pkmK0CX@M`>TgdaYY@0!w25IYfUjfOtL%H7I z4&%_D&p_QS`5J=_xVGu<2(tW(1HQ*{qU0Zt(|bYael*$VcK}{s|;O7{62MZZx zZ%_x12W=75!7~ZM#qHU~q2gu8cAHSGw#eu`3|X4Nl*ix79YVR!e};ofd=sS8%~(j| zI1bWIc7O6c0BN%DP|_ZSRCg|jT;1mUu|4;Ifb2vml_kTMK`lwp)n%5W<|yzs{2 z8SVs?VLYS^cR|W9$tY!*LJ%@c!{Qlcfyyu&QijJMWmsU8GAu^+F?tQ%l4}q-F`uKB9-2nO2?(rNk+DGex8_y?A!7( z^w_7D(8Ea$RG&8Ch&A6s_L^UT8pE$~#IN4`(E<&8)+fI7W$eGT;DdR91z{q81gHzP zBO%SQDyx{Ku4a^4tw|6r!fVT-7S0Bh;ao@=8mX8J&5Tlps|Z4d=CUY5M^G8MK+15P zipem*C}kK*5HbvxMHy}bm0=8|40ouQ3=@q~hRMi2c1zIXm@JiD*f?NvzG)~lFo zn~YMn_mDl?_vrCy_m2c&+Vck<-*9twm~2;5YUWrA1gE0LJ*A!nVNW>=)Sl7+(po+n z(w=gWk@drm9!&_sp4$wI?`v0s%FrBAh8B=Av^Po_x)6j6-LQCu-k>t{fs~;yqzuE1 zQikgZLWWUTJi~3EGTaU+!)Qnu?lMXl?nm~)nU5aFU0Gv>R+jBH7LDsersZ-w`w$39I! z_deYZs!wwu<$WAd-no$SK4WBgeO9oLARK3x!#RFOXC*ws8(a^Er$w9L4MRQW1-mSW zH`p&Eh>u~LS`ZF!*MNH1(H7E9*G^uomCm3&lVQ|*WAMY`Fi^Fwhg9nZtiFP8LG=3+ z<5A@BhOL)s(^9cSDPT5 z59=6*E#wSC#`CK1zmwbi>b^5RU#fxVBg0kyFan)rZ-nxET6G&79z~2X4huUT)YkL> zh7nh)}B~Wdy!w}ni3)wf+ zUFh+vo_3>q`#++`<@}XE%USSKqp+NX;Lv7KAl;n-=`!=0&AE8;G`nDKS{w0v|KMN`UawDtn+voEZ`1ZLH`DKm5UeLbZ zL`T^&pJAuricmQAUI^#;)m~FrmyIo;96!jnG!9QAI~$Tm|Yz=V?400=ieK}#Uhgigdj75z%QN~*k?z}$$ zYOo)M)R7r@?R9A1^kon(0JY+uPTuG6jtH~fRRq=u4X(ygQT1K})y76hZM=&$w()@s z^6muH#;3{q4c^$sPsqL@75mzoQ^isig!amTYOeyM_Kw0E+p8jjs+|O?z3R!^5O4g! z#B-6oy~|wpacPC_GlCAF=DS^S#8&!d97B>LFTdkP$?C`LppM^n6X-ZQ@&AE_zb0MVO zTm-2%mq6;xRggyQT1cbT2~w6`kh1iLlw|;CwQ1;a)aIc3s4W21 z!n2TCcpg#$8m&GWPjL5!5}ZR2?jmTSQ0pQwfyeTqwNYah`G5|1L!y9_IUP3G66G?k>j4*AFq? zw;5nT_$ItOP^;iZNc-woyzzSdE&{7awtKKtQoe^k)td&X-W;s4-h6^k?@26PZz-sH zDYS30afnTpTK*NNQT!UxDE^9fr04n*Rk;fOV5D4Sj4YQY*dN)`9t3KM z%SvSJm4lS^NTZnb7*u6F4pP>7l*g>6A$!*Ppt7DRk*sGy%G$)prb}*ZitKr>GQ>GB z{J#xfyuWi7KHteFg6hcwklK03y`J+C$#OgjYOH2JYX3>RBg56?63Ox|2SqC(<$V!v zTnB3<%drkr-u003zKu6Ny4i~C*}g)L%ki59%24pfST6^XmJ6xfLP;xYl*YImvM=Nz z$$O|oMy>*+zEm`_`GQ|(RkFah$s>_BX`8GH@(57}x*8VwzERh8zpSf=><81P=rLn6 z3q0dx$UBwsO0ZD)q(D0h!oj)=dK|-^=>9TaAM~N&30QxE!an~TgvYL-dPkmDS4z6D|5MBb-fF9Gf2m>PyYkKfH1Ts4HYHGNyccxA^4*fd=)G@9;q(L|bYkV4T8G${hqtVN;_zkM&?(v1`jP4H-`+!Ga z9tKr`hC{mPG6GVno1qgZy#>-Uvxkhbf5{8a_9vtJfqMxB_WVp^vy4C|%5{)VvF}4U z{(iQ8T=|_3YA(_UQa_qt^#_mFWSp&%vvqQ|!C5Sfb`OHj!baQ^kDuuV8Zw5rh5uvl z#T%h_;qyK4ZcrC8_Xg)A6;gLDq;uOsNb7Dnq}P8|Kw5~GA)Rqvft2l4BXYc+%HD^R z?PEyUK8KX;OGw#%FtTmTFQZlrr{qN*mEmSrnC3gOt4vr0jJeWp8Gb zy=8DXiVh^QqX-#>!*-Di-;hrqXB_65_k)^iPJ?v1nh9yHISbMP&Vkh2Gmz3Rhjj8^ z11Za!kg~iDDa$*Mvb+l^%WfmOrmg&IWIwcL|Ki=3Uc!RV&vKwzs0gWr%8**90;z># zA+=D$$OgjCg{L9=p{_A{oD*M$?v~3z?P@J>%!yw~(2^+3R(r#CdC7qG!S9bB`-2ik zN~HKENbBros0P{{P$g(WDxC=F>hS?1>#&c*G-N+e&IbK}Es^>Q@s0>v)FNbGh-IJ_ zVkM5vajRHQ6gs{EkB`NN$Z;%opnIB~pwfJfW4a%i3jJ!VQ7&!dN9q01p3_nKcrZ8o zV0I0Hk#x1L$Umph2oCoiFE9@K!Ig$sdxigb*y2_ENPIrdqd<-Gof4^YFQjpv0BM{b zhBVHPq|!$rjq^Msn}7J;_!L1Hn5VILON&6Yv{E81t%lUn%aB@n9a2l1Qt4($Exm7) zTKWXp_xoSa^01bV#NJ>LS`wmRnU+1N(nfAh--@_$`a@3!r)^KT%q*0L7RP%XN$46-+& zb$(t&P{_yo4LHX~_f0t56no1!jOi!H!@{-D4)iKITX?l_{-?u`RE~XraC4@fBFy(7NN>P-%kpet}-bIP8w7t2Ee$f_9y%C9Faa zmarBamasM)mavX-=s+XnxP%v=`x0Il>{`Oh3BnRyg~yk$1#(=%Ht4>D*P_QI>_8Bf z@H#xcguRjD5)L4+t%6Y)XzWWk7zDZl=6M*j`HRXBO1w61_OS}lyy zXm$2LqtykAx6unZj#h7UAFV<8^}!i^WPbhnjD9c1=_R`wCUcfecS$Bd-V)sXh-SM z90ByiaEu=#vUC<1Z-H$|tFkyI-16_W$u~e2Xy3MdmyXq}Uw!{S?%o4DuHt(CU#}!r zjE(8tRD%t;Pz;37YiI`3+agP=g4Mh$S+a2nHa&D4YC>-z^j=KwozOz>y+cSaHUIZ> z&bhm5kX-nZ{PO&tN2__yd(WLa<;={PxpVJrZf+e~-&EDmR-Nsf9Xh7IHJ?gVRyF5q zJYmImNLDs9v`%Qr=JlG4GNnQZK8a+m$N+N@NVoVc!B-;a>xUe;1stmvk2toT^)c|$ zK9D{GuJ>u>3&OEB@FMi$u@3ewLW9RS3mkENgT8mT-F^_Ayc)Hqgt$%G2WXyYU(f)O zwHUe!Mcm6En|tqwKSt5k|&kMiw+SMZ+g2+qj1Nx7)(|ZIkVQmf@Yy=p9$w z9btkmUhHowHgq2Vovb!iA=sXxgV6AljD?&W8#nT%PIlT1d3*<>?T+v7f#&TV;tC$g zG#6|de;6vh$@(~_yDoDKp|D{yRq8TG=#W9;|pK>9zHU2S9pFf@Sm>305nw3b@sLAVj{tLNED5&o>Ao zBXCxOns2u@ZbI(CMLW5&a24Pl%KCv%qb>nsJS= zDclTM7PHseB}A*Z3up%NoNM?b>;(j^D-qv&U~P*7zmK|4fj@vwUIq6hf}To3XI4?? z8|Y+JTkl~@l^y6MRxTWkwKsInc+y}|geCmC%YrL?&)zCvy$O`~R~2^q9|SwnU#Pem zSa%T3FosA7t6sykul#Rz&9drwFzU5Pu}!D91|?r>+8H69Xx-1T)laRkRb>n0km#nS zAnfDje5`9*2^=RJ1v~@VC(q}XXk6jgdcLc{+9^u$-Xk23PTdQ%dVd;)vglM^g7%vX zF9U6D=VRCKRp5Uiq}?2TM8&rbSI{&~dw`JQ^Oe_S5On{JtFHjIY98t;);F#v9P|Gz zp_46i+rzt$zpJSb#r|j<7)w7W%j zd`y8m7PKbZ2_P%F6NRWci|K3^EHCE?yUCsp8zy@JI5F9aC4|Xd;@ZP?PI)Rbe;skY zwOTGs=bl3<8neuCTtH49Zw`cjf&BiU`BblkAHlSFxsa39e8g$F^l)cP*wLSMo zf|A@Hi(revCxPtEDW@Cfi@FyY>lwKUtcN|x&h5f6#5@Ev8+i<5haU%7?wqY-$eFV6|`?isOf~^8?1`Z3`37jmA9Uvh*_hz84 zytM=Es?$(TUVwQNv^zCN11;*~LH4^y|Kl#*)j++Th(qrwZo+-Y%yc!+cfx@y1P%0PbURb9cge3LP)qaX_2vc9??2F&Waw(CM&KV<*AU2zuw3j;2p?Y@Wp#=)0Yr z3ACFN7l2kk^-@&JV#K@yVM^RTLB(_U9CSre<+`V;i`p9Za@=3_0+y>BmNE#1-ce?a z2tD29Y(m8gX99H6x~92cch^sHY}R{fQU4<7Bn3QxtejdE-hhrT)ZPTNJlzX28+oX} zJr1%*yPpQx$Am);(YsWJE10YNX0=fG%G+y~qjXl~km zAnPZ1frJXl4P_d%dl5$h?Lmg)jg*w00kRJ5EFoRZ&E;%UrwX&fKr$NhqPAjA#KMq!Ke6enHdd{?&$xa#eWM=%N5RJqx^D2Uxx(=q_08jDG&uAYsl76-Z+KrakNUIp3s^NvtFrS?9g_c0$E8%g>aLC+F#Vj9Er z>-7;-WAOoPDFj^{o#E*CwSNn=Yj18OhqnXSwMPlXwMRqxwf8hOt~~}Ju03AZN^t^Y z_o#_uB!nHG44>?VI0N3>|CR7buX+Q#Z#=pkI7q+reIT3Jy^8KGk^B!3`bRx~jF5Qu zKX8JZYD(RsuIh!tLJUSir1t7>A3IioZi-mfL0CLu9f^>{x-I8b{S_hkv8UQv z#c98;AKT@ccYRZ9HrG_CJ1|9`w$qu8=9PR7DcsrD$juN^{xzsaMK8-nIitSYbzec1 zs25j%7ie+m7141^T@Sc2r zg-S=sWGig)_axX_-3*W(@im(~*YjZx#HEhu&C)Z$vEX`}aP$>-LRW-0aSyx~&EMb? zdwv-q&i$uj^GUx$-$%9|fmlbnk49>p>6No2LW~?sF@(GJ>aOD*^%_NfL-?dG-wGkF zdVphd?yAvu>u7>bt~JqhEM=3?@is68Nb1suy0&`?CqR3vJF%c~DjMA*@(U2+U6Pl8 zg$4jsN; z;ci{2K`IIQbV*gNzNIzWlxfU1R<&>^R#vM8I^8uc_M<fC8hk8MgE#n{^lY-vy{K5$lqVeKUU{o#5RXM!_eqwAdTopL978KIsu_5iIsPkiH*FN+Ux^#UiWzx}B}_b*n2@8*8-%Frw7mmUNf0UE|}?K7~3vJpb97u_D< zGIyS{;P9au9NPev7mm`O2(;2a1chW7??~6S$~YDr@7p^W9IsHB0oJxol5>{pn`K_% z*aq<{9b12Vjc`=yOrW_L_nuxZIg|xH6hlnMh zJ=IGAt$tPl4bv|@7-VZ)!$CI0uMe_Z{1#-X+Z1G}+eS#K^Hq{j(C&fk2{gCl0Fce2 zvLLI!gM{>51kY0gf*OhrrkjP;PX1)=r2f}#CqFm*e74o?o_l2DEFnHpPXzajZ3u@T z#G{=@J2ophQ8=c1Cjo85J<}E37yJ{nx018q^&FCqhzQmjT?Nvlk(jPV+sEEpOd%q_ zwaDKKpLl=w!F%ivz$Yt=Pq|=mK8=pY`LffVvRB~!+_&I8UGKws$NPb6yRrNOp{Mue z-=O18+_z5qWai%pHI$}s)TST9gNH=F*Lt6T3vKz`|^Q0NxE^U_eBs%7Dmk6f&b zVC6Lw6!W-YX#3c(fhk1f8^Zf){ub~_d2I>rv2P8ZynS^?1dDyQ0@}BLYCt{QaBGDl z<`z?kD~>Dj6HEDni~OOb{9#4@1o&Rjf=-6_+L{5cWlOV{GZFMMTpdmS2_0W#xD>i0 zbgo8Nzzg*ju;u73L+)NbSYV%a)*ASW!jY%ffOe7BL1sX2qq;!!-tS3J`&4t*ICe&- z?X%0l$Zo=Rd9<)fF$dpW3m8O_>8NRFZjU95IZYSeC+XG+egNuLv6A)UUr2~<>MP&~ zvidd1GCWI2d6e{xP}#RB?-9DG4^$KjSrk28um<1PI!CLf1qF5LqbivHhsD!8kHyoE zO!ycP*|EGWRm{)Q{}cIXo5%btQ^?QCrTH0D%+G3`pO0*jbE}!n$cgvP+rcN>6nB(h_O}~sGREwOw%^m(A85`` z)-{|y2-^GOM)+h0eGWmpK6NyGF!&%J+J5g!)$5QE90QJxp~nixAa_!zThjiB zu(0c&3LfW9!5QFQK7lv~-0u9P!qF*S4xMbdy9Ocr#B0IbeI5S>aGZNHxR>{NGlgSG z|2F94uF%~G@to2<;8wrx{op>Ho`;0v+~=T^^7%VLn-}P-U@hHCGyNJ^PsW4a2T$}k zKXM)8KLhK%yXbuG*!VBNx&;aUrSs;<{nN4TNpa*~NU@mkwIA`tgzqIpC;kJ_da@sd zblxG>9Uc7ZntNx)oT;vCt@J%dX522@ydsr0m#*`L#s6xXW8C;zlS|1}O`2REaMI)! z$A|SMw>*5(udb_O`V)(3;$DT*K*2p}om%0iT%Ewg@YF^VkKP@g}#2 zD_N7<8$8f;#(*nbr%E`QTwSPJ(#9g_9=eXE8^JYhnk``c^a&eK185Smr)x6MA~=-8 zy~Ec#0@{}aj)qSffmL7oGy_jAt& z+ikdugyPI=A(OJZ4x!Zx`&MudZ;ms;(H!psH|zZLgCJbk^rN6?ijO(AY(EZ;ruc;O z))b#|98K|Qq-cuI_z`c4FGz@{_#)7n;!8qmihA}yp22TBZHjXqUQ#ucW0L0qn5?|a zC9M~E#ZW9NzHV2vY`o!@)Xi*N@`d@kq!uyjo9DEy5Vw@(&~iIJR9rOWc9fpK7+X`{ z5D)FxMKkq{Ee+m>%)b7wF_JHas_7QvkgQc;isQ{fal8ZS8+QiY^)mRx%HZ|?dKq+C zrClt{)KoPz=jW+3tgJlyf-0M0QG8ATSkKc_H>H_d`eypRCYfn01dI)_OMv5+!}7w> zldSHv8SjQ*UqILd7~6oha}}RZ?I^*QICcZsR=)j1fkseSVC$Xr)g4&7d3vz3KChXA z5I3EtqvG`8reirc4tS6cqbGuw^nUInVYRb8&BL3|3Cg@oLAtC_Z!xU?*Ec6NtfZ9K zu#!|$)6kZ$(*P9rvu2R;p8hqgzkv0r3$LuJB)Ri&3w$!OzXRGAneQ)XJOr{rdJBt7E7;K{KwXbDdC<(lQ-y=z_p7zIBP z-0TC==4kt%xed_Pe6|Hy-Hk%kR|9v4^mz9+Hg5PF0Pjl@)z14oxCKGqqp*0|QL?xv zf!5G3Jsq?P=x~sk;U7RY)jdr}W$ar6&W8585*NX%4Op~)L5S}$UGLb2(3^z+k6m~} zb8}9$uXyOQZYFYb9B%<>)29iyNeF|#-7lHd3FWEZ|H|E$J%aYrrQuAbrcqC()-+Vs z<~^mp#_T;WslLO~N)jIi>F&9u`bmViL-@RKxIrI;j+N}k5)Ayqlns8Da6bxI#x>T4 zb@UK4rG*%Ot-}}qGH!{Y-atES>8+AH(*UHcQ3;`zB1I}asRQYOkmWlOym zRZ@`cx%yT{S}!lZW2>?voom)*8(OkC9K!h4rqXDTSSqM_H4Svn4e_FK_Y;FF2N$u8K+-wbrTR89rjotd*h1NBRvhidZZ z=w%YrC|b?Q(Cz*IUpA0jwvx96{G#@81*H}3<4&;lg<5~}fP{GI#xp=Ga-dPnOWh}l>a$Af zLnEHjTqPz`nX9Uku12`oM!fE}I?c>mh_UZ{6>6Ck^wpr`wXC;L>fQ_A0kpy6J~Wb% z?_p@axAio9vLEs}c%MYR2cPVq{mca)h0s~mTA=O!Ghe@)_GA5qwWO6KrF)6vzOAV) zjDol9#o+r!2fr#ptFIfc2{!+JeM3H_{GDTSIWyp%Zd!^{USoVE9q@vT7!*Rd;c%AhB-8sIjt|vcPkod-e;<2URp_U_TFjRC}}%t57Bni zIHc_TT@P<1?@;houm3a@PmF#qAzBGHQN5M)5Gu5i1)#n12EZq+WI2R*jp_P+f;GYo z(06nH4Yb3}O+!c0TZ3YM!7gBJIE3F1Q4L!0{47A8#{nfG79~Z-dL+h5JZ2TJ`5Z zi}7m|l9zj@*lp%Br*1&g=q{uv+_&o?L3MwzmF`*pFG^Q?0CU`F_vMAT7jG|1zA}?u z5~Po#Sgr=TV0e&l+_4!3w3*hrAnO`Ox~e<*n?QTVw>8if_O=Hx_NR9R@k@{9zd6Ud zgI0#y7i4i(f!2qs1^oupCZzOv*Ej{*uQMHJXB`P*HjzH6!2Ll;XSwRhE?5iyv#_e_ zT$x#U>TJXF+;#q+n(SPi&X(3Xrfpq&jouDB?Jl|)Rf{)UQmKeOX>`i@?7c-CS0}2X ziTgED@`#}}Tbmo}s}g@z3WfL;t%l!X zie08FIE(5l_ci3Rqh8HIFOm>zfERnUO1uP({^jO*Uhdld+L@bNu-^Yx;aKFn6KF2! zJ)n(=@^O%@TRZ`>g`g)vW^XSF$+moU`K<(FS+3T&;2lCQgel%r^p68XJOCVzXeEmJ7F1MmR39M1hgmWcW#23SQ4lfn-)BXziK+4a%!Zczre5Qn`pF0ZbccL-V z@_HYzJTCGOLijfiyEgyJQ?LEX{b^@Q=bbjHxs1U{dq|~d3!N;um$WZ6DQgKb>Yq9@ za$hj=N31L;ujfEo<+7rG+l3XZ_}`V_ljHY#gWB`a?dU5_UQl|$BNz*5;gP{G6 z(Av(MKd_Nw_Xjpd2piiHtXJ0((e}b|XKoabw4`?dSt|AbS=uUvbVVOlvM!h@*9faZ zzOxE>=D%JcU3&YSk2AP~=-mbyT3nZ$z691P z@+xP24f!5~csa>Kj%`x>oMY>&UvX>`>i59$GOB+F$A11FfmV~sDxPbUIIS(g3VG0qmaI)cNq@h&1Xce9GXC<^v;X_m zKhLiCPwRh6a&3!!+k^CqJ*(%sCdo%30gPJ?K0=Udj($ulE+n2u^PRSb7PAd^A?|bxK9?vD!MQuDV_1CH1m21Ft_ZP)npqh zTk4u~yrWMd#ywqjP__bAaX2WsXLf{}$H_L`teHRau$}3hmWX?%sfOm-;lsQfO7a@5 z?L?Ac{pdxY?%|W)>#6ex$)82&7F$Q(bitO*-V=@<_I>E}q8I)QVS8Ws{KEBh3stY+ zLEoPwN~sXa)(QRI2)p{8r9PC7_u4B$CyxiM0l&I+UPDcV2scDyjfiC%gq{6i>utfY zyKG0){kHE;KpU4cDCl*a7GX6)d^jhIiu(dJ&`X4ukaHb7c`~>@+{i-_rp7$)4-(>z z^f7UQUEz3mcVSNe+W2xJ$PS;0ZgNBOuL$uO;mc6*J-e4f_YSA>Duj3;(2c?t%e{~l zQF!+u^zqC-2#);yO*m5W8gzAxQm@0iL-dBJTa+If)RFX$hQi-oQHJ33*B#{T5PG`T{yS9MQ{NtF>))e5<`s^%!^D*lD%>O<3+?-s z8-V7RPXv*v^ucx*Gznx=;>kihrf<2Nf>7r6Hw_%~?ZbrCQ@?BeTJ3+LS$6u87CMR} zNCy6DdIl(Im**j*-SfO0tQjCmH#oLdd8=^L&P?c)qkY_maDeMSfsVJtC!w`1-AdvG zgi3EiFM^{DeFE01hfbE{YgzC2pjVhCY~8o1FX2Sd^K9UjA6#TPNwLr{Z3e{--t*#zDKefQ0_giao8-^K;YGHXB64s*ftg>*sh{{9N>J@aKio8;aAGDq`9JIq-(foxUkX3$8uTR>LKw+mtD zmixOT$kO#GVmSr#xisy&)Vdha?Y7(;N2lU;w=Q-Q{CvL_4diZ;Z{FA6L1h)onD_O% zglN?t1JnHeX(Z^|0{5Mea;z5{E63-~U)#2ojILK;=j^A%sH`XW3cgA4hNOC$k};Yk zR&Aem*Mm%duSENe`5!>ZCW>+m;4zaBQm&-h8_w1?`qiAyC+*gMdA?ao0ZAs6BuMREeg5AeoNjOI0Ax@ih4~4d7GSXR}rETnj znaE~_iF`{T72z~9jIHO-Fw7UzT`YTqwZ3V5WkY@PITppd71yu~Z0%QGz)W^~39-sN z3TWxsMM$a8qO9uX^k0yQE^BU{th4kfTsKpBzPvf?X9kK{?n-tnW1~UIL%92r8y}Vr z0FEGYl_1OF7$LXSDxtFJ-O7y~i=cO;TG`}Wu#T}^IOfqEf;#mPtE2yCrDG4_&b@Rd zkOwQB!y-49wIhq!IqH8RJN69j+_Q6ZAv>p(X6N)`cFyqZOt#u-{{^-?r}08h9VX8p z$_7e0OIc>&m``z=ECCz+f&|!;SY8y^_nBn09P9g&p_n9{Eg=l@96=dmzrHlrt2({n z95U5qTb;+JjysKdw!%^BTI{y3N-0{h1{b1Nn~p`>^T^x3qZQtbkh~D^Ap{#To;Ku@ zmY2bkeU|qIcq+y587N*U_MNbGz{{;7vPUeAtt=sy;#L8g6SpoJ<-T!pLs-9Wwl&cG zx$V(N$7E;>Lim(b=y;F*d)IM)^f36xT^Z-Vx@8H@u>Zc{*MHeiR*T6By`xG3n1OF#j zZ^P!~S;CR8o~w#Zo9m3jz>V)_>Zy%LafE)|YE{S~?_=3$p1#M`>AaecGh>(Tc@y#+cOt?^cPFPppJ z)s;m0A%3)W84&V8(Cpgk` zAUM)fB^>FghEAT-$Rad*-W$MXRn4GwPvr#g67DQc5{_pHCPUXnk`Hkm>L7h+QRgtA zEt(u&s(p-W+nU?)sJOkHP^vS-b!^^!YEkDjpv8DP3RBI7&H&bXYR>^L?(2EyqwH~C z5GtmBiR)P0e=X`<2DG>@2U#^U!xj8K z)7=uh(cKGuQS>TLBP6dqctt{Vogcs_o2R<19)ord0j0%nmM@A>=3T~O;212I1IH(~ zRtN9wZD=jwFyD27W^@~)5Vv|a11Ceu)(C4=m@RAz-pxyQN3hm+$>7f581{A-j@b7C zT3PIiLZ5h$>Huh;dsMuCBqbbK7Y9y<9(!%TSZ7j6UEjqTgfNWO7!2edcnC*YGY{z-Vh>TB>7Q6R6olC{4# zguT4qguNhqfcIU+_jP@O5cTt^>+fchu$?-c63uzu!;Gb5s#lPFayQ-L-R76XJNx=f zEWtC+`;6pU{e12j@dcWHN{Dj(7HE#!cS0(TD(yz>>U%|lk%uU zq1-1*HL&iiHUWJqkw+t$ymcVx<9D1o4ZMdxr!yUW?_W=KeV?iP34Rqz*Pnsb(Vb<= zL~%B{t3|851Yv*oxvm9Ai@zClzc+O^kijo~56E)x2&&1X?onu;)IAO4mwt}_c4O%U zA>O%T33?47>pj(b;J7LAF*tgOFTnAxt*^lcd2jlyaO9V*r79n9g8g0S&1Dx74tgo4 z-H%-nK|7exS=}&bO;C7m>$rw_)gy&t_Oiay?i!DlVA(hjR&zuXs$8WHG1h^jS8fAO z^0bc^j&w~3bvt(of@TYx`+IO~V?ElHj6YV`dy?Z|XN7&9>?*#C;&ch&oty)-Hg~R& zpLia+AI6E7BP5fhtI>8R>_+F^qHcnZ2?2aES-PjlKjyqUUr)lj@jeT*nf-Gh8%TyT~P7S#{JFd}UY{SVHX zH6A1Em31tv_BI~=7QP9<=`G(#8-ji z+-t$fI*M?V-;L18rqh`S@uscYz&XF}o#4J+X7>okxlckXvsQzDL&$sA@(eict-gT1 zcZ)BZzG=S#jQ0$^3!dOt`T*R+uk;BxKF{bZpF9lV| zd)R0{>X(f6jE%Fq5h1!CagW8^`Ah4%^iSq=%d?9cp}zO6Hrv{g+!9jkrBCH{dS~Sy zlu9|J@s*d4uSR`cETCClKu@Tc%2S$DsIca+os0cTrSA@(`zG%B*mTxqado~&tVBK8 zWtMEV>hkfE!e%zDUKclJX#qPnW-0%jZp4wvllI zLlr%(fVM`6ZLHgZHFv@OcMy&bE*vHZbpn*RWT&~J^}pvBw*KXOK^5dqR*;?V-}%Kp z`cFLYTyvX$URBvpBD~S{w1JoHh3B2gCwd+&AjS@8S87p zvd}Y>$F63PT{g#goGQ-2!c+Pta7=&Wrr^&SEw=my3AQ^c{{SVQWJ(Q_Ajd_SO!snZ z<+TVnS>6_oX~N>r$tRhXg7;bCVEDv;-Vh%kLUI_qd$dOZtqq>;8t$=PfDqTb%CXh&?T+n6-W|f>B|Zh6+*^AZ-qZD*sYpzJ z=^B3hSAGa4h<49JIx=MUmg$d7tHu zg7=q7?P4mVY;QD@k1rhn?d`u3XeE<%4IhY_CCEAtwbrg87oKO|Vy**GXJg46Y_-c~ zP}t8hAD&7o-^B|AO7;`T!>~LgzKHw-$+NvcpoPNfPr*(CCGP>4ju7i5$ARN%jnjlx zgi=2p)~fYFP;%mB2yx<#;5hLvVV(GYc(ZJNTrPQC0xkM(BJW2^?g1sQCA?ok_}vfq zCC|}dHs7zgFVx5{sZO_>*^6GeFR2*yQBu;2Z!|Wjl2T_|8s~Et(0?V3^$cGm@!kK~ zVr*_pUizS#e-LBn&IP{hzPC;+K5mXb#pT z1IblYk~5i3;o-DS2e+rlgt?*5dv<(R;foSt<=`ctjn;3NhIPAd3o46uSauu#BiXf- zSJlPaL`!o)6Ml!ZSi0Y}R8{y|^%pMKK>VF>+)DfbXylI|%gw)ql!e92_jt9_EX<*Z z=cBjnvg`Id&1oZTXM;p(UtrZ+e7=clugf*Hv9;Fv@A%SH%}gL$AfIM_E`n)V$e$Zr7s0p>{kgXc6TSPhxTQx2L;i2jN{3pr_Ukee75vF zy6z>s0KH(WWxpc9()X%>EaOfy?oB(jjJegRwZO&}Z-LnBYh20f^=(kHT>FuP$ikOE z8%@6xA_qUh^ab_cR;bzU0wB{`Nr+=>C{%nl5nPj_Ryu15DGyKRe^)Qv`R`cw9L=@G zzbVNWp>z);C(-||4elPxh?^nAJ=mSW6WmmG1;--gzQSPv_0Ut}Woj+(z5%EWXf`$; zWVJC7UA<(?Dt?C122TOn0|jS;%pbiJWc#kJ25EO+Mf%Rd(T6}5=i@?hD&p2Jv~Npz z6=?PO9>|>d&p|$Y1ud*!`dg6IVrm^rox7uD5>%x;o=~3pPxiU?oljlsr+sd@rG~Us zfRfR%uL;ooJ%!Jk(H&x`oo9!6UObXtqtl(|#kek;xSmO4@ zpJMbbne&tsX;+_Ym_rT9uZS8Hn%k;u@m)Yv*+A-GIbZ7;4DKFlJwqhKov5|oljjXb z!u$4}jhy#=5L?1~=d+cddJlfi6G0! z6d@Iu5AlaX53%!)0@~<#enIz2boB{7Q@94&i{-|G#?5FJK7O-(^aMFPrxQY4OAo zzkmyttA&KazgYxm8Cf2Mayh=_!Roj3_gu`u6uV4(=S`arh@0I;(_VoT^zo)W609w< zmiF~Ypujt9gUBJY_HxEpq2DXKP{v<{i1I` zd%yA)a3M54LqqPACE=e4Q{5;09u?n^@dMD@(2Dg+w7W}C9lm9Dc;WonVN_I?71{aF zItPZP}!7wtgh(SenW)b^VAVj zwUVwP>~tUrvKv!tfC~4q)+BLOA0wUj4I(=r#Kxrk9os_V0jRqPW<$klJC6`A-<$%D zZJ$%ocbh!k^*#PGOrTuO18IJ%Vi~sz#WK!{Xr3KzUum2}ZO*|i=H#!<$dpN zA;hh_9sIyzn8Ik(z02GKdUA~L`@4>HtF>UW;|8>2Um|b-QFMSTO_NYeHp5(w5W6F< zL8Z)eZh=-pOt=j}ZvY{h2VLJ%^$2*fw~^=k1nZAqao)BVyalfCG3i5a>{t92Jk@Vf zekUAG?~l;BD`3|xTR+xodI=~sUUZ8{P?Jzv7K47%x|nT%$?IEN5#qU*HsSE?#se); z9VmE4rvj6E8Kz*D{5!1+B<=*MKbkTR|58OpwKYdqMAhAq~Rr#y^A* zuk&~c6))&#fo8hTgO=1U{Tj$-2d{%{7X7A>O5E>zegN&I@gdOqfq#IkCckxE@4UNh zX!)|`yPm>PtG$3W;`IkDrC)k6Azi~;*!l=blRN++S@+CHh}2gBEu~E$tM*oOwdvCA z=n!asHewpkT%SYHNH$^2fc8zee+F8bt^!%9T#K%X&0?Dg?d5hyLE~=FlKQ0|0$FMv zHbuBcg$mht8rl=~4A9E$6_AzN+vuv}v1`4DFx8hmKSjk`!)HKC6iXqs8DYG zep7P6;Rwk}-zErg^L}&JvZ~F3ttZP1*~KTgswZ`tgealuKx?;08p+j9KsR|+)XC6Z zSTlfTkr%m!7xFa->i#+PR#bfB?rlJ`?uS9vOFWBeVgfHhd(5A~>wyzX>gVv$X~64Y zH{;9XoBFp!7Q{>S+wuK?)`Kk1;fbcXEiksP9ssWJWdBLn6wZTOF~*ns5e}@dQRQi{ z)*}>Y`g!4STVHqD&F&p|?-M_9enpG)OZZg{{u5{`tKYeX)2ZKzUd=Rm3hF}6_bu{^ zI`5BnECuhYzAGAUrw)Q$#o%DzO8TYO=XiM(+olNdNbh!zZFt-bbzflF9cad~4+_aM zTp6P+?gN2VskK5}qX|Y!C>7}($fh)tgjCc%7e55rYwj3$4TBcdvG9Ihm6tpmC3(!&^>lu~>EdsY9$j)3zNO|>A9p-{%aX2bYkAzO1svG4x zR`Po~wt_eSeQ#J*Kx;LPAak>Fp!M`iw}Y&aP7ub#G>uNC>X;rEM2Gd_a%UhN0?AE(3+ z+jCPL@L6zQ!NP-M{Sjt{SG@>=`F*Q^(%w`C3x~V7jw!^DvmU&=c-z2Fjm5+r;C*1< z5olxCE+A_v`=Tpf%Zgz?XwPa5&|2i!g6=rbAkG{QvMO!|*;qPBsO-ZjQRassO^fYN z$DrgL_gV0I!rZQRHoO<%Ii?~peUWQ;k}o&fl&^Q*)o&^Ccf#wvi>CCDDG|-G8>_^%m@a(9x1sBe;Z8wM?cI>4cSGkBU~+$~d~*}5>t0GYQn)Pi z!ZB-E9-+x?cHN@R`p^SHXG4T$&(tV%yq_8ky-?`vj?m&dV~aXX(8)`JTM)*%BYikJ z-iI6o-7n(#147PkfL@G_H@{1vll$eDA>{qNBDbRBMRzyQGJ78ieIv#P5L&&fd<7Mc z@pWkJ@HHEI6QQkQu#Tp`DC*1tnq%=D3R*2O?H>@v`?nVtrsMT|EGAg^j^Ppr?Vi_l ziaH~qdqq4OAauCS&PAPFp?ikTZU_^+TwBobvd=^J2%R>BiLP^EQD+8p^6KnU5DxZh zU51XQ`ATTHz?QG85hnSY>mDfTJPgf}tOX=`X2PE!O!498Yp@oJ zICqw?TkJQm_Ziu1OF_OyXzj7LB=66b1=(=3GAPY&2*`$`wF=xiLa}%;QqbdHAMz24 ze_K1A#J`;+kAF9i#lJ7e;vWOD__GCWtWdp3*pAOWV%#weygz*0U1hlT| ze313W7lT&OFMTb@u5=5?u6~b@4^n|3bz6->-qT52s>VDJ1i#1to+dwg}MTThcYW zl7}IT_nH}wiWkWS&PIb=6=k7NFS(jzi5wBLx=%dvM|< zC`^s&xg0^SPvO7~;COx1ji~z)!Azi~{SFj#Nh{|25#qMRBdGXF#B)Gfu6hxL@NtkbT5iRYtV~9duc5P-#;Q;1>T$8AfR~_ z!$IbkZw4}p*c@a{;&-57`lUyMRtN0{GQB-PrdK1R{P?O)EwsNatPW_&ZUWg^dC=A@gN?><5? zGd>8?qa9l~J`U82b6N{ryO8qes*|C;Kn?}kT=KAj?hznc3poa4quxnEn4cBQSqSm) z?)j*Aaa;tn6kg)mKIgg8XghJH^WKc_bD_6RNGSa3N4x^GR{w@;_=qqI zVX`l9e1nQN^&g-sV)EBxdrq|!EDp5hw*;s{zw|)RV9@Fyv#7xZy)_GZ>k6q1{krQx zd(+$mXl-U2G?Llp4$xi%y92E+-WOy;Z!Nl+xO?4%u%54Qbby<^5ljU~-#HB|$Abut z5su0{T@dO*4txDv#8HP=z$Wisxe4A2eK2$8-vFRM~yTAEhWt$tEG03DRu}c{a(-qL;J{m zD7^b3ryBI$_%t+pN_{%eYUTW*?lnLSOgfal1qF}z4%3Lrx)eWVu^WsL)TY1nqfR8E6p$FD|H4cCt7e(HNFu<#7 z3Oa6K)1jI76YtURZUiU7C-eR@;C&_LJX1mWQjnGDm7sxe*O(&cmV(|LAhVD=g%qb> z;67+?UylH7{`s_Pcw>JV+N z@1;=3Jy(y)LL6w3SdHSKAnESKA3*Q%DnbhxZY1 z4`3h8+!ti2uM~o5R;cN;56R;Z7IK4WH&u)39OxwVe}VVZU*WtrpBv%5#_lNPA1v}u z0vF_}&x5QcUjbQ7z7DcHzYkhazw{>{tI4l~WHoM}-$8p#{s^C}*!SI8ysttmBuK-x z46F?A^*RV%3yj8(Kxp?WTpJx%Ums|tw6TzIdV3W6#K1Dj4qF7H;ggctugEvUj|=_Q zB7ZpifN%khfcKVlG<@>N=-CK2#z(p@M9CY@mGH@se4PYK!rx$%f$Mp+y3glaEcGD8Vvy7HrayT!^xFaF;mm zjqP%H?`m%}6=J>p$DSZ@ZUFzc?AO3_m|J?{b<;ZZDe}aaB%6G9; zdA~3KA?^O=lESgoV|k!CVk?5IyIu{|9?^9SMmX42)<(s>-A#d3)?0w=yzNlcL%>!f zJ0h4DvA>~Y25mZ~aj>hK2RunQG^Q3cj&}|7*iS2JoLSVk#x*RCYl|8;IPEF92jR?E zv3Oj9uUI?*{o8VD>Q938PMqFKMfzz8(MX;tXg`a_Ec3-)2dc77`K_Yz+Xdx!(D>1m z-z`=CM^X7JSAIiVh{{v_EKT#d>1wW9p5~@7bgi}ciw$~n+Hp0fom%lJhVl8P(#L_5 zJx|*IW;>>|6UuhYmb}|S&y$sGt+G8+@uZnF+1&Rpif%#bqI_4OWL<6`Lfo%e*>PW# zRu>Kv8t$~W!HrEoBLj*@#H(Dzy4=Q4M`uz&`#6vp@QHrhjO;Ywm?-}lXhv{>sfNv5 zEWs`8FVNC}RqyOcp=jL}`t=h_*8f9nOApcJrF;nAz*%SS=)y2rR4W`S3lHPGu z3DGPD3A#nBhDLu53@_DPzo@%`>-v{;uAG;0n`=RJ{-o8=xqez_wh!mn(>x_zn}2La z-Bn3P7LUnpNY>1W-V&q*WNYu+kV*GmcY;qIE!|myO6MjU4z4gf&%;6CNq{-j{{O~9 zZ;fpYt@UFjw08B}+uTO1;?rsID3uDTr09LH`PCkbYp=@b6Y6~Zu+zul5xZiw;)85q{4)2}JiSQNS^`3#C z3Iui3HTU|Kf>{6uz693 z=f{28gAu}Cp5&REzATwLelD5oqLa1P_H~-zRI0k6QR!-~>g-vx!fWM}+@!S$7WUak zE~b#&Q&*M=r0)POU$L+?yuTsDi(Fq2jydp)zyWB#hC;IF^tubHa^O91Z2tM&@k;Pt z35RWcXX<7PefF?u?EZ5cY+z5>m(C8N1kY>2BCM=wtRn#VQ+jpL`rrB6eOSDKya*d`O_2wQ^A74TKk3+%9wmqB_b zcq6Rp()b7AeJSX1(~gC%=ipa1l^2}%W!X33-8cUi{FFF(7QzC4**<$E1|lH!^wJRy zi*VBjcZ_iF2x}wki0}x7W$z|;W{#8;i^Iopz~}!b3tBQyflIpRKcnlnlFkEq$9WSf zcPPmu>ShUc;sXK@4@US*gdZwYguZD1xrA8L`UlY5=01B%BORM57L^dSxCDH8Y=c=D zel@$&Aoy;vw6_MlSHf=aJ``kJWl0@Nk2TucNE3LHH^6D&p5C~Q6|PvonKGP? zprjGcpW^`d9LLsATqta3UL@dAU&G<#dmJ;N-3IP}PxjhrHNPedBKzj_SMzXyoH4Bu(l~ z1luw40jS*X%zkF9@8$OSKxf!WUGB2!{y|gYFgy*xCh~9dGB@ zCUHBVzmgU3-cI{U?mqC|6snx}mOR!4yY2+=sRw&Yo`lfu?d1>PUe2Fb!k-HMp~F|6 z&p?>2Zzq$Tix9r=@I3ql;m|m8Il{RUeDXRIq0D#V-T{8OyPtm_!tW<|%nzCn=Rb~c z!~|ccdlNy|)M}H4I0-Qk`5fLBI=+ImNy{v_ZgH#kJ817DQu`V2>!TGCVi~a?{8G`v zmy=+HIvBPr8vB}Pd(S!&{*1Qhs5j++_nKP)N9vc}0W=)6Bgm|06v)C)mNJd@j&h@dc*JNtdA6EiQ2d!c?!s>%e*y14=id?(O+5=q2OhNDsr0w7CBU zG~;^)WLNn+y4^zIErc4k#gF`eXJHoli|CjB-f1_d^Z|CV*-dZ5sPqF(1uX|E_nKb; zJjsWJ)xl-nu-6a{qa6x8IhxP92&!D-*%XJ@RiqWjRhsXDlwu zLl5xvamD}%6~pY(i^4yor(I22%FnQsvQ@xx+K6dYPH+QW9Xh#1ISk%&y*B*Sx`0LW z8>A;Ed%ibD%k#ZA{Iy{^2f|y^tA^J1XYJgB5z_7gOh;u6qmOl+-RiF+74wchw3OCpV!IQkR8VHV0vQ5E^Ac;eMylNtqwjV z&R-MZ{YbzFgwx{4dI;~uk>4Pk9!EAq_&|k1Y}+E_J+Hff7xt^{1x|Z2%YdhNR>nAQ zBVz+NUaZ$F9B$<}=yEHkDZu#J=uzOX{L{hRxc)gprh170#LW@j65(ADJ{94M5tdiE ze!mF&N4Ro?8%MZDg!@F8kMQ6KPmb`c2rr26x(IKI@YV?Lj_`>HUytye2zym4YmX+= z?EaEsQ^BG@YsZU&%+i)dxm%d-#PE& z#I6Ws?wITa)+Suy*Dy5#AHwD-r%P!fzrRP~+EGD#8&F{x-rbA{-szo)PX7VP%9(5l)Tp&w4)3dq%imgiA%ZT!bSc+(DtN(4Fp` zT`=>U08Vr1BaH=}SwQCrb%(lCfbiA`XGVBWgwI6ya)jOMTz{bm2Sm7Pgxf~AON8Si zJTAi1BRo68DluZ!eb)5NFgJQUF^g!c2tu2#-*xO7zj=VubLEuXF4RKsQS8#~5yfPRE-N?nId42Oe~NTT*$! zmDVJWFA9hHE6|f;mEH*_y9Ut!TZdGHHha+@Km2}eFq-l#n!D+cz0h} z?JgYSX)owx;@;PVm5FBnc&bl6hJfRtmkq%B79u*EfcNt$$EIM-i{O9f*z9vhVXLA2 z1vuCgVLrm6BRn(0DNUi{5-<%BkbMe@h=_WAcb0K^rt(vL5Mp^I|zG< zLbEo)rU-Kp9v|VU5uO&|SrJ|k;Z+e{7vX~uzNs)qb zLxe4oX`y*agjYrQaDxeYs%SH{lQ8_%+h`KnxfOKY|%qpz!F>avwBnSA}k ztlyQ@4nE&h5pT0QjgkGmC z;~k*aAmn|C;d$w5CUo5iSiV)A8JPr=u?{DDvIOVg#u`=`m^g?mR?M(#P38nom zc#4<&N5W=EpF<`ajlPhe`k1aXm!~FoS|24l5vrOSTk0FKxixdG7}d}*ZS~s0)0FR` zHvId1mH9d;t?jm>%}JTo2`$;Y3Q$)r*@J*F{U?*rkgvY5Q=Sc$H`Ur-x!DY8`RksG@8UaLAgrma@r+{?A+C#G5|YqJUtnwYAe zm}eWF4^M#aI){{?t4tU&Un?Z&p&Y)7U#E5+ss zsm3t^1!*>&%GTE0&yM8UwIO9}r-!PVo2olK&?z}aDX-5KFVNJ`^0SNOTk4w%WIo$i zz)3niH9wS~ZqYb#|o2bx^4tsj>C>e5R(RHB%)a;!DJ)j?_UNsg_)}roJOp*O8jg&|KS* zvRYQ<*R;!WvW1h#T)w3;m(3`7nfj(`9on-wKudjVRbAk0;ow$*bi#I~-`~xnp*3!C2U<~Q&W9YZKBlFo~j(H^wzYeM(J0RZBOml zo|1jFWJVK3M`qU$6>`Z$92NA|5pLC<+Dvh^b&OB7WOG$&*_pQSDO#xh>sQ}A-a4|f}H-5JH@RRrdIK9ygCMKR~<-JXX|9QVO7BR6b0X=Gul$EP1%lC zAq(1DrKPWI>c2kMl&axh<(Pb?wZ1V6mXAZAs}O9>zvhPOn)+N`$5e|g%>rX8Wujx6 zfn&4TmMTEi2(?6ox#lr#>SY@0g)^BLC^O?L6Q(}jTvZTjnpFfD%8L%WnsX2gsPC&* znq|LYDIo8^Qe)JSAdRWDprKMY=_9N&7?W$RtgeEV6{z*`y|Pl%s;g9X>vGx3YAQJ2 z*3!}}g|?=AeQi^=dSJc|(fdjb@mU1MiPlP?*rwN_ORCH>HOLX%x7y2R90832|4y%iUm<)b1rL2b@`0< zDRfRv&b78TQ*O1{pC6K)SLqu0I{vpd4*Y`vQ-B3qqT ztUN)J?Wp%dRAy&KW>ZTF$IjB8%AXb&W9{rEXoJ~objgr78;{}rT>IxtG7`>qvJHL4 z(86Xr6ocMuoEf<>1sh|$DHxPmTBCAOIQY{8_4(@hS}8PS)kf6Qr<(W|BTY{3Regi% zI~h2v)yw^8uar_IlN6#Qf=;8_4wUrVHRf{|nsnLe zo9nA+qb?=wM1ygoda!J!J!@K{>*{M-cQx3a2m6Tcut`H_s;P?q$-t`4O#??>KA*_q z0GrwgS=VmJDoieIg32eq1FXg|6?Lk)riOszsxfMwVBg->X9Yx+O6oGy8zg!))tQ=V zHHTIPHbomr?0ae?r$KLsEBMk_pR!^{vWDfwwABzgo;} zO+#fZL~=d5g0+Yu7l!c@wxp32RSPYwNX2RHlPGt(7^!YClw3Bky;k1>E*(ZjW*C;S zoLmESL%FJqBjvwQlm0?JY<7!=thRXNXqH8SCd@b>9rCR}Ho|GF9w-b`snH~IcBUXT zj-gQmDiUodNg-?!lNU@Osw#Eb*{WjHKM~1Xb+)0kQX165`lbmQJ_2lLy#VX26JYHT z0xk8;BQnEPMR^>cynLCwJP|q2dCU7~S#j%jO{0Ucu{#90HhH;``fPZrxkdkS8dmeE zrcAcMhM;_^!#caXdb=7rJH_k&8OR)|h790>XjHGxj2~x>(EPCEh_}nxTPX&#IZ-Oq z_-RmuVD>f%b9lgtV~6`!Pj>JDCWxcXCR$vRSDI8gls*eWf}ueRwvTl@s6E zoM{_}1C>vWY1f$8QYpvD#C&_D$aeW`sT}`gJOp{qyOuBXc_!sufZ;@$7AkxO%eh94 z1C@<=xwt%?kO`@zyN~`TJSr7nb5&N};kdSJn~IW-F<^cg)2w}BR;DCFv2IehDci0E1T7^FFRXVT`PKGyTJ9m*G|x8=+v*2n8!;g3^}_tNNR2TkA5Ics{jLKDD*domGqL z$T8^{)t)QbenwU;i2)|2yc%A}hg8E8)+m!whtfo-F2zDksb#4!`aDk{7H9BPH6=Ae z8NTI_D0cfmG1D;By3K@e7@DPClkqM=D*m0d)K+|Z&F4KS zoSgb*4gZ?z<%&|}L1^TgP*aI2G$Skkkr@Olo0fcAV=l#dji!J$jVILQ^!XtI3vJoS z5X(_^w>jY;X2MBZm!}ov*2GtRA0fR&(?y ziqrNW3a*_Wm&w&|DGm4G2l(8|rkk=m5~S&1%>OeJvpH3i(VEq0s*QryleF+{s&s`J zwHi%9lhnu35RB%^nYwD_9=|%HNmDL0CZ}$P>7{18g;S{V5>a)W!GV-QtUA$mCsf2= zN)@%32>F>swIVmBzLg~gJ@+>Iu%#Z*sF?4Xq}ibShDbb0j2|b1qoQm;(a4yp ztI3OFq*7QvE>)vHt(_+2VO1v4`^DiI!3iyBbhI!`YDrVWBMmfAC8CsD3dWzQQUNx# z!FIH^s1;IP0=dfeykb&GXllbh(g47C)bRqAYyy|r6=x8*lgOp(N zHd8H{hbs^Il{EgiY`#H@D3s3Dx#q@Q1uOZd#3?HhG7RHBXv;OVF`KY3fj}sUR9!tj zCpT-PQ`cT)VM}Vymej+4VM0Mmz5kax#=)i${BN!u zJ}d*OAK%b4e3(F1OWpodetlC-b4)c2TA6EwP0JqY$vH>?=+tCss$gC!rag6PSeHv- z+C^TdwTa%!s=K)f2J4EiDZbtozUymkW}fM6MFY)nhj20%tNAiA}N; zeH_$|nh8m(u_>j+K$TWv2nT5yMk}29H->*&*VKP`CIq%#h5JCqtp9RSU>y+5ma94J6P6tqFB5M!_fQx zm3D4_X(ZbouRkS^=RC|-(3s45L&bzW2o7K_`=vkJS{V_INHqJeKi}V4RZU|u3C%pv zz3Q^+)>XBxRd|}XfGnpLV?_Y=m=%*7J)=<*bswBG{mdr@FpnXM+Q;=rV`9Bwx#;sM zxAz3Nv@1i_!}N=u+H^*XpzV@RycjOrX!1uU@qhuoWdS2G`TL`PyR5$my+ycSfNJ}T z@O%qLaU0l71Jvm@6;Lvjm^CJ21s91Xd?@_!4y;?&6#9L}TbCZd7tLI!{$Kha@7{4`y)GOeD4?@=22}X4K?hEw~b1ISv|i zK3jB{oMb@3NMj~?W?59AWrF$8w#Qfi%MD5#Xk}lG7(P7ccOmERIz4QAUHyZGnP|M#WVvNEF5iCXKB$&Ah z1_0(Xpk-%uOCVAx&MHZSn=zh@1`rL2&peOG@4*_+Z=9U|brarAMtM;+$|$KPR!l}S znbOGV4dXRmPVK$kl*Av4b&3hjEysZA*U+0;a3cKlg`>Xe0dh8850q(AX{trKlBO8M zq_aVl3H>V}r36!E{xB&bysUj?DxabPt31YK#_zw#5GyLOm~dKzB5;EQ^uy*oe0!Mu zFhTA9aZ-$Z*=|$YZWN_?pSCzt3B~_d7O91^<{OSI|I3m#3bFpjY)RVD7q_vFJG) zkFNX`o@Z42b%w17(X-$zA7*J`NUoZ}?7#)x&BF3#7XEuZ3*Yz+A9!ee-75f(#B0uP z%8wl;<7LV!MK9`lI(G!*+z|jfL|D#ee~1M z*(fcrxI>H#SlVQvh04HcDQvd;CF~D@i9`ld{*+e41m;y4msd$q2n#BGA)^~veJKuK z>9H9Ff8{FnCHv&{6eBW9cNk7oY1e|_8DuJhh?)&3yJp|9@a!tEKk_WCX2>cY2(UKb znP?^XhHX3>=U3QI(aokn(#Km$6b6-98B^NBi$o8v3(lX|;8MXUKs)(_S7yD;MgaNf z%BK=C=;ahm5QddpDm=YX{elrX=CFl8iAY&s1W%~QFlM1e zZp%l#LbaH-?d5b%?`c+4JG^=&;2{jkgEb1!ea|KOk($2nG~d4G(JKJ8mH&Z2CPS8Zv5@rNlXSg!RTj zW~T#%&2hCf@^6@O((>f1)$jpgt|p0fG2kQmmcC-xIBu~onAXpLxEi(XuJ{~wUlt;s z8~qZKvk0Ub}eD0LXxNfy}nFvWNpGNj{Gdg`u z-)}ulU(ay$)eI=U(q<5E1WT4i%^@!)1`=y;d6It25u%>i<>wuB9kAKjwg1TGUQE9YQBa1!A_dXV$%@6wI01`hFwL_! zgx|vpN|)mbE>Fz_f~B1mjK!9*8uwDk0ukE;3wggSCRE1*E+ag_=OXFzSYkAvIR7XB{RnEW zi4iTmO&D^m8@$=X(&Fd9ItMyZew61?a7w?0hVH*p=-fKqh`%Te{$_KUD3NF#9AD#v z6Uv+EH%SpLON1Np&nD_4^BMjTTRsDu^h`10eunRWrx@=Vc_*8Yc+;{yq81y=$g zeEDR9k4GPga^dbt5`3hHin1c%3!Hh+NaIlx}*=A?(T+6B;vW?E6u^Z*ac28OvNd%9&wT^4gt^ z;lqpo@vX4Z7gJeEX0acr1B*CTbP)&PU=-2!N?ku42XnlV;@v!43~;^>hnk}sc03f3 zkYL6<9#2r#l;dZqwZFlA{F=e7jRSAJ7zbdcnOcY@;V#EqP3N3hq&HcLGFB`Fa%J+B zBx|QajGJDTtw=Qmv&CEHsezA^aTt!r%ziuJl@--Re`pyYQwyR=sT@V&v@Wx#?`$M{ zOae^bcFaemukR=o9a~)O@j}7DL6u!lbxdO`)Y5Wxjf${-zS4ZiwaRSyNfDgBvyaO^ zC;~&Sxted)_S@BRZp{$g*~77a2duKfWp{Mb&{RXW-Eoh-I36yjhHX8LZ8wFG&?|p7 zM4)QbdZT&5Xd(nncsj+GMu7tGSxwmTO=DK71+6t?f@rlpY zE+R?**Y6Z##ryc%aP4O{}iDoPrh= zvD4CAd**G`+@f|{oKj;7ZRn|#w21I`pK-F67gDY1i;cZKixN{8e(ZOnA1vC zY>^$fonN8Fn*_FBIilTSV}DifCZF!t0FoLmjlCJ8)wz5`mBDgOufZa3Y%eq*e6sb42SE8_W-NXFJ`ZH}9ktNM3AEljvO zAxHD=F1S0P+RQRrakVN9PbTIa(99^k10FPdm+F?dJMK`M49>gYMPv95HM;qH2SnsL zltQ~TRv!|jk?E9oDM5y(UGUaslwGjh8(@c_a{qy?5KB@ex;*pEHtTm)<3qyRcBdLA)w&vaKsSX|LyegF1Tjo*#$AJ78!ze!8Z$$5Vu}s*noajQ8M&YDtBB*=l`pcH${d*ZKvp8p+<|_ zUNSz)rwt?bO8=1e)3uxsspNq>oRaBoE8NZY7JrwvxBhd!pH}_%=c8>nit3E#2&8trD*H(r|v(%OA`{gTj+0ZcUr###= zPy}ioaNECm#g4+`a1_1`b!K&BH<)D{fWZYxmp<7|3wS|34(w0q6Q>F02H-uM(+dZ>Wzhi31r-Ti2R zPp8cfu`ofWAHr}DJ`OBu&^m9Pb}t9vq<+%v^gXiqsReX?-0Tmsb^%)ce)r^$L8sfl zytwH0JoiPfJLtZMI@=64O5w}?`-Iu)8gBQ(3p)MtvO5Tut&Rsf-DZT&8kg-s(9p${ z=AhT?#{kXltV7iMxlb4Sj4lJv7-Yw-fdX{$xZU)SMyS=H?sp*eu`lTI#G7K(4 z?;`XEU5{;dBXCZ~Tki>+bk8qBrw!maY~Z|vPpz&u%3rsd!0 zb${YVCwDr3GZOvxmxI&pMreRUB)|emD};r6aT1~C zr{+m`oE$@YP)Hryp|F^A+88v9Rxf||*IWD%bumPZ+lB73x9ihQoW!!*hdkSx(7t-( z;1S?a^2mDaajzM_uk)cu=fi8#U#Ij#^8`KgT!*Dxhd5##>O9zCSR8_J82X1{b)+oG z{-1NN-JF;)zvuvV5S|aX1oI$#J+Oigyx;>JRzE0}egN@3poW96I0(0%OV$wOiJT}< za?VMwc4`&;zl85 z;P#ffnp!V4H5F}V5Ofm*erRME@)JGA-YQo&wgwy^?Y@V@F$PMFzqd1$Y( zzm^9c^4GHNA%87v9`aY@SUytFMT^JtY*EJrlVd*N*4wOsQ-iK&^>nveo#9d^)?6-u zyZa$m7lG#I?R0^S@}wd4!p5X?$>nHj7lzcseV?Ll%*pP&4plg9p47wYfXw_jDO9V6 zZ?*7TW4LSKD-a`Ivk|ZPfYwT5Sqook8^`V=f6H*yIQb4X=N}DCeWE_r0O}T7vtf*6xQd`*yT# zKRGI{2=vS}7{#I^eeH7d4inQd!^Us#(;WI|yFI`+Hv1 zj{dd(ul-m5bN%>uzx=_sQ@3`~MsM9}H1I>i_@% literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-lib.js b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-lib.js new file mode 100644 index 0000000..fd6bdb8 --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-lib.js @@ -0,0 +1,127 @@ +class Codec2Lib { + + static arrayBufferToBase64(buffer) { + let binary = ""; + let bytes = new Uint8Array(buffer); + for (let byte of bytes) { + binary += String.fromCharCode(byte); + } + return window.btoa(binary); + } + + static base64ToArrayBuffer(base64) { + let binary = window.atob(base64); + let bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i++) { + bytes[i] = binary.charCodeAt(i); + } + return bytes.buffer; + } + + static readFileAsArrayBuffer(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + resolve(reader.result); + }; + reader.readAsArrayBuffer(file); + }); + } + + static runDecode(mode, data) { + return new Promise((resolve, reject) => { + const module = { + arguments: [mode, "input.bit", "output.raw"], + preRun: () => { + module.FS.writeFile("input.bit", new Uint8Array(data)); + }, + postRun: () => { + let buffer = module.FS.readFile("output.raw", { + encoding: "binary", + }); + resolve(buffer); + }, + }; + createC2Dec(module); + }); + } + + static runEncode(mode, data) { + return new Promise((resolve, reject) => { + const module = { + arguments: [mode, "input.raw", "output.bit"], + preRun: () => { + module.FS.writeFile("input.raw", new Uint8Array(data)); + }, + postRun: () => { + let buffer = module.FS.readFile("output.bit", { + encoding: "binary", + }); + resolve(buffer); + }, + }; + createC2Enc(module); + }); + } + + static rawToWav(buffer) { + return new Promise((resolve, reject) => { + const module = { + arguments: [ + "-r", + "8000", + "-L", + "-e", + "signed-integer", + "-b", + "16", + "-c", + "1", + "input.raw", + "output.wav", + ], + preRun: () => { + module.FS.writeFile("input.raw", new Uint8Array(buffer)); + }, + postRun: () => { + let output = module.FS.readFile("output.wav", { + encoding: "binary", + }); + resolve(output); + }, + }; + SOXModule(module); + }); + } + + static audioFileToRaw(buffer, filename) { + return new Promise((resolve, reject) => { + const module = { + arguments: [ + filename, + "-r", + "8000", + "-L", + "-e", + "signed-integer", + "-b", + "16", + "-c", + "1", + "output.raw", + ], + preRun: () => { + module.FS.writeFile(filename, new Uint8Array(buffer)); + }, + postRun: () => { + let output = module.FS.readFile("output.raw", { + encoding: "binary", + }); + resolve(output); + }, + }; + SOXModule(module); + }); + } + +} diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-microphone-recorder.js b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-microphone-recorder.js new file mode 100644 index 0000000..50215d5 --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/codec2-microphone-recorder.js @@ -0,0 +1,92 @@ +/** + * A simple class for recording microphone input and returning the audio encoded in codec2 + */ +class Codec2MicrophoneRecorder { + + constructor() { + + this.sampleRate = 8000; + this.codec2Mode = "1200"; + this.audioChunks = []; + + this.audioContext = null; + this.audioWorkletNode = null; + this.microphoneMediaStream = null; + this.mediaStreamSource = null; + + } + + async start() { + try { + + // load audio worklet module + this.audioContext = new AudioContext({ sampleRate: this.sampleRate }); + await this.audioContext.audioWorklet.addModule('assets/js/codec2-emscripten/processor.js'); + this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor'); + + // handle audio received from audio worklet + this.audioWorkletNode.port.onmessage = async (event) => { + this.audioChunks.push(event.data); + }; + + // request access to the microphone + this.microphoneMediaStream = await navigator.mediaDevices.getUserMedia({ + audio: true, + }); + + // send mic audio to audio worklet + this.mediaStreamSource = this.audioContext.createMediaStreamSource(this.microphoneMediaStream); + this.mediaStreamSource.connect(this.audioWorkletNode); + + // successfully started recording + return true; + + } catch(e) { + console.log(e); + return false; + } + } + + async stop() { + + // disconnect media stream source + if(this.mediaStreamSource){ + this.mediaStreamSource.disconnect(); + } + + // stop using microphone + if(this.microphoneMediaStream){ + this.microphoneMediaStream.getTracks().forEach(track => track.stop()); + } + + // disconnect the audio worklet node + if(this.audioWorkletNode){ + this.audioWorkletNode.disconnect(); + } + + // close audio context + if(this.audioContext && this.audioContext.state !== "closed"){ + this.audioContext.close(); + } + + // concatenate all audio chunks into a single array + var fullAudio = []; + for(const chunk of this.audioChunks){ + fullAudio = [ + ...fullAudio, + ...chunk, + ] + } + + // convert audio to wav + const buffer = WavEncoder.encodeWAV(fullAudio, this.sampleRate); + + // convert wav audio to codec2 + const rawBuffer = await Codec2Lib.audioFileToRaw(buffer, "audio.wav"); + const encoded = await Codec2Lib.runEncode(this.codec2Mode, rawBuffer); + + return encoded; + + } + +} diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/index.html b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/index.html new file mode 100644 index 0000000..fc3f7fe --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/index.html @@ -0,0 +1,127 @@ + + +

    + + + + + + + \ No newline at end of file diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/processor.js b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/processor.js new file mode 100644 index 0000000..850287d --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/processor.js @@ -0,0 +1,55 @@ +class AudioProcessor extends AudioWorkletProcessor { + + constructor() { + super(); + this.bufferSize = 4096; // Adjust the buffer size as needed + this.sampleRate = 8000; // Target sample rate + this.inputBuffer = new Float32Array(this.bufferSize); + this.bufferIndex = 0; + } + + process(inputs, outputs, parameters) { + const input = inputs[0]; + if (input.length > 0) { + const inputData = input[0]; + for (let i = 0; i < inputData.length; i++) { + if (this.bufferIndex < this.bufferSize) { + this.inputBuffer[this.bufferIndex++] = inputData[i]; + } + if (this.bufferIndex === this.bufferSize) { + // Downsample the buffer and send to the main thread + const downsampledBuffer = this.downsampleBuffer(this.inputBuffer, this.sampleRate); + this.port.postMessage(downsampledBuffer); + this.bufferIndex = 0; + } + } + } + return true; + } + + downsampleBuffer(buffer, targetSampleRate) { + if (targetSampleRate === this.sampleRate) { + return buffer; + } + const sampleRateRatio = this.sampleRate / targetSampleRate; + const newLength = Math.round(buffer.length / sampleRateRatio); + const result = new Float32Array(newLength); + let offsetResult = 0; + let offsetBuffer = 0; + while (offsetResult < result.length) { + const nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio); + let accum = 0; + let count = 0; + for (let i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) { + accum += buffer[i]; + count++; + } + result[offsetResult] = accum / count; + offsetResult++; + offsetBuffer = nextOffsetBuffer; + } + return result; + } +} + +registerProcessor('audio-processor', AudioProcessor); diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.js b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.js new file mode 100755 index 0000000..53144bd --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.js @@ -0,0 +1,5128 @@ + +var SOXModule = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(SOXModule) { + SOXModule = SOXModule || {}; + + + +"use strict"; + +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof SOXModule != 'undefined' ? SOXModule : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +// Attempt to auto-detect the environment +var ENVIRONMENT_IS_WEB = typeof window == 'object'; +var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; +// N.b. Electron.js environment is simultaneously a NODE-environment, but +// also a web environment. +var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; +var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + if (e && typeof e == 'object' && e.stack) { + toLog = [e, e.stack]; + } + err('exiting due to exception: ' + toLog); +} + +if (ENVIRONMENT_IS_NODE) { + if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + filename = nodePath['normalize'](filename); + return fs.readFileSync(filename, binary ? undefined : 'utf8'); +}; + +readBinary = (filename) => { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; +}; + +readAsync = (filename, onload, onerror) => { + filename = nodePath['normalize'](filename); + fs.readFile(filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer); + }); +}; + +// end include: node_shell_read.js + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + arguments_ = process['argv'].slice(2); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + // Without this older versions of node (< v15) will log unhandled rejections + // but return 0, which is not normally the desired behaviour. This is + // not be needed with node v15 and about because it is now the default + // behaviour: + // See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else +if (ENVIRONMENT_IS_SHELL) { + + if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + if (typeof read != 'undefined') { + read_ = function shell_read(f) { + return read(f); + }; + } + + readBinary = function readBinary(f) { + let data; + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = function readAsync(f, onload, onerror) { + setTimeout(() => onload(readBinary(f)), 0); + }; + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + logExceptionOnExit(toThrow); + quit(status); + }; + } + + if (typeof print != 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console == 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); + } + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js + + + read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ + throw new Error('environment detection error'); +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); + +if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); + +if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +legacyModuleProp('read', 'read_'); +legacyModuleProp('readAsync', 'readAsync'); +legacyModuleProp('readBinary', 'readBinary'); +legacyModuleProp('setWindowTitle', 'setWindowTitle'); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// include: runtime_debug.js + + +function legacyModuleProp(prop, newName) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get: function() { + abort('Module.' + prop + ' has been replaced with plain ' + newName + ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)'); + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort('`Module.' + prop + '` was supplied but `' + prop + '` not included in INCOMING_MODULE_JS_API'); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === 'FS_createPath' || + name === 'FS_createDataFile' || + name === 'FS_createPreloadedFile' || + name === 'FS_unlink' || + name === 'addRunDependency' || + // The old FS has some functionality that WasmFS lacks. + name === 'FS_createLazyFile' || + name === 'FS_createDevice' || + name === 'removeRunDependency'; +} + +function missingLibrarySymbol(sym) { + if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get: function() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line'; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith('_')) { + librarySymbol = '$' + sym; + } + msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + librarySymbol + ")"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + warnOnce(msg); + return undefined; + } + }); + } +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get: function() { + var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + abort(msg); + } + }); + } +} + +// end include: runtime_debug.js + + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); +var noExitRuntime = Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime'); + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. +function _free() { + // Show a helpful error since we used to include free by default in the past. + abort("free() called but not included in the build - add '_free' to EXPORTED_FUNCTIONS"); +} + +// include: runtime_strings.js + + +// runtime_strings.js: String related runtime functions that are part of both +// MINIMAL_RUNTIME and regular runtime. + +var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + +/** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; +} + +/** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first \0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +/** + * Copies the given Javascript String object 'str' to the given byte array at + * address 'outIdx', encoded in UTF8 form and null-terminated. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. Use the function + * lengthBytesUTF8 to compute the exact number of bytes (excluding null + * terminator) that this function will write. + * + * @param {string} str - The Javascript string to copy. + * @param {ArrayBufferView|Array} heap - The array to copy to. Each + * index in this array is assumed + * to be one 8-byte element. + * @param {number} outIdx - The starting offset in the array to begin the copying. + * @param {number} maxBytesToWrite - The maximum number of bytes this function + * can write to the array. This count should + * include the null terminator, i.e. if + * maxBytesToWrite=1, only the null terminator + * will be written and nothing else. + * maxBytesToWrite=0 does not write any bytes + * to the output, not even the null + * terminator. + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; +} + +/** + * Copies the given Javascript String object 'str' to the emscripten HEAP at + * address 'outPtr', null-terminated and encoded in UTF8 form. The copy will + * require at most str.length*4+1 bytes of space in the HEAP. + * Use the function lengthBytesUTF8 to compute the exact number of bytes + * (excluding null terminator) that this function will write. + * + * @return {number} The number of bytes written, EXCLUDING the null terminator. + */ +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} + +/** + * Returns the number of bytes the given Javascript string takes if encoded as a + * UTF8 byte array, EXCLUDING the null terminator byte. + * + * @param {string} str - JavaScript string to operator on + * @return {number} Length, in bytes, of the UTF8 encoded string. + */ +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; +} + +// end include: runtime_strings.js +// Memory management + +var HEAP, +/** @type {!ArrayBuffer} */ + buffer, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STACK_SIZE = 5242880; +if (Module['STACK_SIZE']) assert(STACK_SIZE === Module['STACK_SIZE'], 'the stack size can no longer be determined at runtime') + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;legacyModuleProp('INITIAL_MEMORY', 'INITIAL_MEMORY'); + +assert(INITIAL_MEMORY >= STACK_SIZE, 'INITIAL_MEMORY should be larger than STACK_SIZE, was ' + INITIAL_MEMORY + '! (STACK_SIZE=' + STACK_SIZE + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// If memory is defined in wasm, the user can't provide it. +assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); +assert(INITIAL_MEMORY == 16777216, 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with the (separate) address-zero check + // below. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x2135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[0] = 0x63736d65; /* 'emsc' */ +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x2135467 || cookie2 != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten at ' + ptrToString(max) + ', expected hex dwords 0x89BACDFE and 0x2135467, but received ' + ptrToString(cookie2) + ' ' + ptrToString(cookie1)); + } + // Also test the global address 0 for integrity. + if (HEAPU32[0] !== 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} + +// end include: runtime_stack_check.js +// include: runtime_assertions.js + + +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + + callRuntimeCallbacks(__ATMAIN__); +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js + + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// include: URIUtils.js + + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +/** @param {boolean=} fixedasm */ +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +var wasmBinaryFile; + wasmBinaryFile = 'sox.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If we don't have the binary yet, try to to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + && !isFileURI(wasmBinaryFile) + ) { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(function () { + return getBinary(wasmBinaryFile); + }); + } + else { + if (readAsync) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) + }); + } + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmMemory = Module['asm']['memory']; + assert(wasmMemory, "memory not found in wasm exports"); + // This assertion doesn't hold when emscripten is run in --post-link + // mode. + // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. + //assert(wasmMemory.buffer.byteLength === 16777216); + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing'); + } + abort(reason); + }); + } + + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // Avoid instantiateStreaming() on Node.js environment for now, as while + // Node.js v18.1.0 implements it, it does not have a full fetch() + // implementation yet. + // + // Reference: + // https://github.com/emscripten-core/emscripten/pull/16917 + !ENVIRONMENT_IS_NODE && + typeof fetch == 'function') { + return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, info); + + return result.then( + receiveInstantiationResult, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel + // to any other async startup actions they are performing. + // Also pthreads and wasm workers initialize the wasm instance through this path. + if (Module['instantiateWasm']) { + try { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort('invalid type for getValue: ' + type); + } + return null; + } + + function ptrToString(ptr) { + return '0x' + ptr.toString(16).padStart(8, '0'); + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>0)] = value; break; + case 'i8': HEAP8[((ptr)>>0)] = value; break; + case 'i16': HEAP16[((ptr)>>1)] = value; break; + case 'i32': HEAP32[((ptr)>>2)] = value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort('invalid type for setValue: ' + type); + } + } + + function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; + err(text); + } + } + + function ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); + } + + var PATH_FS = {resolve:function() { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; + } + var TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + assert(alignment, "alignment argument is required"); + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function(parent, name) { + throw FS.genericErrors[44]; + },mknod:function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function(old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now() + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + },unlink:function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + },rmdir:function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + },readdir:function(node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + }},stream_ops:{read:function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + + var ERRNO_MESSAGES = {0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"}; + + var ERRNO_CODES = {}; + + function withStackSave(f) { + var stack = stackSave(); + var ret = f(); + stackRestore(stack); + return ret; + } + function demangle(func) { + warnOnce('warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling'); + return func; + } + function demangleAll(text) { + var regex = + /\b_Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (y + ' [' + x + ']'); + }); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + assert(typeof parent == 'object') + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + if (typeof type == 'string') { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + + // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack + // now ensures it shows what we want. + if (this.stack) { + // Define the stack property for Node.js 4, which otherwise errors on the next line. + Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); + this.stack = demangleAll(this.stack); + } + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + _fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof lazyArray.chunks[chunkNum] == 'undefined') { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest != 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },absolutePath:() => { + abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); + },createFolder:() => { + abort('FS.createFolder has been removed; use FS.mkdir instead'); + },createLink:() => { + abort('FS.createLink has been removed; use FS.symlink instead'); + },joinPath:() => { + abort('FS.joinPath has been removed; use PATH.join instead'); + },mmapAlloc:() => { + abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); + },standardizePath:() => { + abort('FS.standardizePath has been removed; use PATH.normalize instead'); + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }}; + function ___syscall__newselect(nfds, readfds, writefds, exceptfds, timeout) { + try { + + // readfds are supported, + // writefds checks socket open status + // exceptfds not supported + // timeout is always 0 - fully async + assert(nfds <= 64, 'nfds must be less than or equal to 64'); // fd sets have 64 bits // TODO: this could be 1024 based on current musl headers + assert(!exceptfds, 'exceptfds not supported'); + + var total = 0; + + var srcReadLow = (readfds ? HEAP32[((readfds)>>2)] : 0), + srcReadHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0); + var srcWriteLow = (writefds ? HEAP32[((writefds)>>2)] : 0), + srcWriteHigh = (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0); + var srcExceptLow = (exceptfds ? HEAP32[((exceptfds)>>2)] : 0), + srcExceptHigh = (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0); + + var dstReadLow = 0, + dstReadHigh = 0; + var dstWriteLow = 0, + dstWriteHigh = 0; + var dstExceptLow = 0, + dstExceptHigh = 0; + + var allLow = (readfds ? HEAP32[((readfds)>>2)] : 0) | + (writefds ? HEAP32[((writefds)>>2)] : 0) | + (exceptfds ? HEAP32[((exceptfds)>>2)] : 0); + var allHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0) | + (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0) | + (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0); + + var check = function(fd, low, high, val) { + return (fd < 32 ? (low & val) : (high & val)); + }; + + for (var fd = 0; fd < nfds; fd++) { + var mask = 1 << (fd % 32); + if (!(check(fd, allLow, allHigh, mask))) { + continue; // index isn't in the set + } + + var stream = SYSCALLS.getStreamFromFD(fd); + + var flags = SYSCALLS.DEFAULT_POLLMASK; + + if (stream.stream_ops.poll) { + flags = stream.stream_ops.poll(stream); + } + + if ((flags & 1) && check(fd, srcReadLow, srcReadHigh, mask)) { + fd < 32 ? (dstReadLow = dstReadLow | mask) : (dstReadHigh = dstReadHigh | mask); + total++; + } + if ((flags & 4) && check(fd, srcWriteLow, srcWriteHigh, mask)) { + fd < 32 ? (dstWriteLow = dstWriteLow | mask) : (dstWriteHigh = dstWriteHigh | mask); + total++; + } + if ((flags & 2) && check(fd, srcExceptLow, srcExceptHigh, mask)) { + fd < 32 ? (dstExceptLow = dstExceptLow | mask) : (dstExceptHigh = dstExceptHigh | mask); + total++; + } + } + + if (readfds) { + HEAP32[((readfds)>>2)] = dstReadLow; + HEAP32[(((readfds)+(4))>>2)] = dstReadHigh; + } + if (writefds) { + HEAP32[((writefds)>>2)] = dstWriteLow; + HEAP32[(((writefds)+(4))>>2)] = dstWriteHigh; + } + if (exceptfds) { + HEAP32[((exceptfds)>>2)] = dstExceptLow; + HEAP32[(((exceptfds)+(4))>>2)] = dstExceptHigh; + } + + return total; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_fstat64(fd, buf) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_getdents64(fd, dirp, count) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd) + if (!stream.getdents) { + stream.getdents = FS.readdir(stream.path); + } + + var struct_size = 280; + var pos = 0; + var off = FS.llseek(stream, 0, 1); + + var idx = Math.floor(off / struct_size); + + while (idx < stream.getdents.length && pos + struct_size <= count) { + var id; + var type; + var name = stream.getdents[idx]; + if (name === '.') { + id = stream.node.id; + type = 4; // DT_DIR + } + else if (name === '..') { + var lookup = FS.lookupPath(stream.path, { parent: true }); + id = lookup.node.id; + type = 4; // DT_DIR + } + else { + var child = FS.lookupNode(stream.node, name); + id = child.id; + type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device. + FS.isDir(child.mode) ? 4 : // DT_DIR, directory. + FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link. + 8; // DT_REG, regular file. + } + assert(id); + (tempI64 = [id>>>0,(tempDouble=id,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((dirp + pos)>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(4))>>2)] = tempI64[1]); + (tempI64 = [(idx + 1) * struct_size>>>0,(tempDouble=(idx + 1) * struct_size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((dirp + pos)+(8))>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(12))>>2)] = tempI64[1]); + HEAP16[(((dirp + pos)+(16))>>1)] = 280; + HEAP8[(((dirp + pos)+(18))>>0)] = type; + stringToUTF8(name, dirp + pos + 19, 256); + pos += struct_size; + idx += 1; + } + FS.llseek(stream, idx * struct_size, 0); + return pos; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_lstat64(path, buf) { + try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.lstat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_newfstatat(dirfd, path, buf, flags) { + try { + + path = SYSCALLS.getStr(path); + var nofollow = flags & 256; + var allowEmpty = flags & 4096; + flags = flags & (~4352); + assert(!flags, flags); + path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); + return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_stat64(path, buf) { + try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_unlinkat(dirfd, path, flags) { + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (flags === 0) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + abort('Invalid flags passed to unlinkat'); + } + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + var nowIsMonotonic = true;; + function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; + } + + function readI53FromI64(ptr) { + return HEAPU32[ptr>>2] + HEAP32[ptr+4>>2] * 4294967296; + } + function __gmtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time)*1000); + HEAP32[((tmPtr)>>2)] = date.getUTCSeconds(); + HEAP32[(((tmPtr)+(4))>>2)] = date.getUTCMinutes(); + HEAP32[(((tmPtr)+(8))>>2)] = date.getUTCHours(); + HEAP32[(((tmPtr)+(12))>>2)] = date.getUTCDate(); + HEAP32[(((tmPtr)+(16))>>2)] = date.getUTCMonth(); + HEAP32[(((tmPtr)+(20))>>2)] = date.getUTCFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)] = yday; + } + + function __isLeapYear(year) { + return year%4 === 0 && (year%100 !== 0 || year%400 === 0); + } + + var __MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; + + var __MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; + function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = (isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE); + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 + + return yday; + } + function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time)*1000); + HEAP32[((tmPtr)>>2)] = date.getSeconds(); + HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); + HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); + HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); + HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); + HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); + + var yday = __yday_from_date(date)|0; + HEAP32[(((tmPtr)+(28))>>2)] = yday; + HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); + + // Attention: DST is in December in South, and some regions don't have DST at all. + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; + HEAP32[(((tmPtr)+(32))>>2)] = dst; + } + + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function __tzset_js(timezone, daylight, tzname) { + // TODO: Use (malleable) environment variables instead of system settings. + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + + // Local standard timezone offset. Local standard time is not adjusted for daylight savings. + // This code uses the fact that getTimezoneOffset returns a greater value during Standard Time versus Daylight Saving Time (DST). + // Thus it determines the expected output during Standard Time, and it compares whether the output of the given date the same (Standard) or less (DST). + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by stdTimezoneOffset. + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; + + HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + // Northern hemisphere + HEAPU32[((tzname)>>2)] = winterNamePtr; + HEAPU32[(((tzname)+(4))>>2)] = summerNamePtr; + } else { + HEAPU32[((tzname)>>2)] = summerNamePtr; + HEAPU32[(((tzname)+(4))>>2)] = winterNamePtr; + } + } + + function _emscripten_date_now() { + return Date.now(); + } + + var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = () => { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else _emscripten_get_now = () => performance.now(); + ; + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + err('emscripten_realloc_buffer: Attempted to grow heap from ' + buffer.byteLength + ' bytes to ' + size + ' bytes, but got error: ' + e); + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + maxHeapSize + ' bytes!'); + return false; + } + + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + + return true; + } + } + err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!'); + return false; + } + + var ENV = {}; + + function getExecutableName() { + return thisProgram || './this.program'; + } + function getEnvStrings() { + if (!getEnvStrings.strings) { + // Default values. + // Browser language detection #8751 + var lang = ((typeof navigator == 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; + var env = { + 'USER': 'web_user', + 'LOGNAME': 'web_user', + 'PATH': '/', + 'PWD': '/', + 'HOME': '/home/web_user', + 'LANG': lang, + '_': getExecutableName() + }; + // Apply the user-provided values, if any. + for (var x in ENV) { + // x is a key in ENV; if ENV[x] is undefined, that means it was + // explicitly set to be so. We allow user code to do that to + // force variables with default values to remain unset. + if (ENV[x] === undefined) delete env[x]; + else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + '=' + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + } + + /** @param {boolean=} dontAddNull */ + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff)); + HEAP8[((buffer++)>>0)] = str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; + } + function _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[(((__environ)+(i*4))>>2)] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + + function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[((penviron_count)>>2)] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[((penviron_buf_size)>>2)] = bufSize; + return 0; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + checkUnflushedContent(); + + // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down + if (keepRuntimeAlive() && !implicit) { + var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)'; + readyPromiseReject(msg); + err(msg); + } + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function _fd_fdstat_get(fd, pbuf) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + // All character devices are terminals (other things a Linux system would + // assume is a character device, like the mouse, we have special APIs for). + var type = stream.tty ? 2 : + FS.isDir(stream.mode) ? 3 : + FS.isLink(stream.mode) ? 7 : + 4; + HEAP8[((pbuf)>>0)] = type; + // TODO HEAP16[(((pbuf)+(2))>>1)] = ?; + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(8))>>2)] = tempI64[0],HEAP32[(((pbuf)+(12))>>2)] = tempI64[1]); + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((pbuf)+(16))>>2)] = tempI64[0],HEAP32[(((pbuf)+(20))>>2)] = tempI64[1]); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + checkStackCookie(); + if (e instanceof WebAssembly.RuntimeError) { + if (_emscripten_stack_get_current() <= 0) { + err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to ' + STACK_SIZE + ')'); + } + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +ERRNO_CODES = { + 'EPERM': 63, + 'ENOENT': 44, + 'ESRCH': 71, + 'EINTR': 27, + 'EIO': 29, + 'ENXIO': 60, + 'E2BIG': 1, + 'ENOEXEC': 45, + 'EBADF': 8, + 'ECHILD': 12, + 'EAGAIN': 6, + 'EWOULDBLOCK': 6, + 'ENOMEM': 48, + 'EACCES': 2, + 'EFAULT': 21, + 'ENOTBLK': 105, + 'EBUSY': 10, + 'EEXIST': 20, + 'EXDEV': 75, + 'ENODEV': 43, + 'ENOTDIR': 54, + 'EISDIR': 31, + 'EINVAL': 28, + 'ENFILE': 41, + 'EMFILE': 33, + 'ENOTTY': 59, + 'ETXTBSY': 74, + 'EFBIG': 22, + 'ENOSPC': 51, + 'ESPIPE': 70, + 'EROFS': 69, + 'EMLINK': 34, + 'EPIPE': 64, + 'EDOM': 18, + 'ERANGE': 68, + 'ENOMSG': 49, + 'EIDRM': 24, + 'ECHRNG': 106, + 'EL2NSYNC': 156, + 'EL3HLT': 107, + 'EL3RST': 108, + 'ELNRNG': 109, + 'EUNATCH': 110, + 'ENOCSI': 111, + 'EL2HLT': 112, + 'EDEADLK': 16, + 'ENOLCK': 46, + 'EBADE': 113, + 'EBADR': 114, + 'EXFULL': 115, + 'ENOANO': 104, + 'EBADRQC': 103, + 'EBADSLT': 102, + 'EDEADLOCK': 16, + 'EBFONT': 101, + 'ENOSTR': 100, + 'ENODATA': 116, + 'ETIME': 117, + 'ENOSR': 118, + 'ENONET': 119, + 'ENOPKG': 120, + 'EREMOTE': 121, + 'ENOLINK': 47, + 'EADV': 122, + 'ESRMNT': 123, + 'ECOMM': 124, + 'EPROTO': 65, + 'EMULTIHOP': 36, + 'EDOTDOT': 125, + 'EBADMSG': 9, + 'ENOTUNIQ': 126, + 'EBADFD': 127, + 'EREMCHG': 128, + 'ELIBACC': 129, + 'ELIBBAD': 130, + 'ELIBSCN': 131, + 'ELIBMAX': 132, + 'ELIBEXEC': 133, + 'ENOSYS': 52, + 'ENOTEMPTY': 55, + 'ENAMETOOLONG': 37, + 'ELOOP': 32, + 'EOPNOTSUPP': 138, + 'EPFNOSUPPORT': 139, + 'ECONNRESET': 15, + 'ENOBUFS': 42, + 'EAFNOSUPPORT': 5, + 'EPROTOTYPE': 67, + 'ENOTSOCK': 57, + 'ENOPROTOOPT': 50, + 'ESHUTDOWN': 140, + 'ECONNREFUSED': 14, + 'EADDRINUSE': 3, + 'ECONNABORTED': 13, + 'ENETUNREACH': 40, + 'ENETDOWN': 38, + 'ETIMEDOUT': 73, + 'EHOSTDOWN': 142, + 'EHOSTUNREACH': 23, + 'EINPROGRESS': 26, + 'EALREADY': 7, + 'EDESTADDRREQ': 17, + 'EMSGSIZE': 35, + 'EPROTONOSUPPORT': 66, + 'ESOCKTNOSUPPORT': 137, + 'EADDRNOTAVAIL': 4, + 'ENETRESET': 39, + 'EISCONN': 30, + 'ENOTCONN': 53, + 'ETOOMANYREFS': 141, + 'EUSERS': 136, + 'EDQUOT': 19, + 'ESTALE': 72, + 'ENOTSUP': 138, + 'ENOMEDIUM': 148, + 'EILSEQ': 25, + 'EOVERFLOW': 61, + 'ECANCELED': 11, + 'ENOTRECOVERABLE': 56, + 'EOWNERDEAD': 62, + 'ESTRPIPE': 135, + };; +var ASSERTIONS = true; + +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall__newselect": ___syscall__newselect, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_fstat64": ___syscall_fstat64, + "__syscall_getdents64": ___syscall_getdents64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_lstat64": ___syscall_lstat64, + "__syscall_newfstatat": ___syscall_newfstatat, + "__syscall_openat": ___syscall_openat, + "__syscall_stat64": ___syscall_stat64, + "__syscall_unlinkat": ___syscall_unlinkat, + "_emscripten_get_now_is_monotonic": __emscripten_get_now_is_monotonic, + "_gmtime_js": __gmtime_js, + "_localtime_js": __localtime_js, + "_tzset_js": __tzset_js, + "emscripten_date_now": _emscripten_date_now, + "emscripten_get_now": _emscripten_get_now, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "environ_get": _environ_get, + "environ_sizes_get": _environ_sizes_get, + "exit": _exit, + "fd_close": _fd_close, + "fd_fdstat_get": _fd_fdstat_get, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors"); + +/** @type {function(...*):?} */ +var _main = Module["_main"] = createExportWrapper("__main_argc_argv"); + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location"); + +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); + +/** @type {function(...*):?} */ +var _malloc = Module["_malloc"] = createExportWrapper("malloc"); + +/** @type {function(...*):?} */ +var _emscripten_stack_init = Module["_emscripten_stack_init"] = function() { + return (_emscripten_stack_init = Module["_emscripten_stack_init"] = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_free = Module["_emscripten_stack_get_free"] = function() { + return (_emscripten_stack_get_free = Module["_emscripten_stack_get_free"] = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_base = Module["_emscripten_stack_get_base"] = function() { + return (_emscripten_stack_get_base = Module["_emscripten_stack_get_base"] = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_end = Module["_emscripten_stack_get_end"] = function() { + return (_emscripten_stack_get_end = Module["_emscripten_stack_get_end"] = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = createExportWrapper("stackSave"); + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore"); + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc"); + +/** @type {function(...*):?} */ +var _emscripten_stack_get_current = Module["_emscripten_stack_get_current"] = function() { + return (_emscripten_stack_get_current = Module["_emscripten_stack_get_current"] = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_iij = Module["dynCall_iij"] = createExportWrapper("dynCall_iij"); + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; +var unexportedRuntimeSymbols = [ + 'run', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createDataFile', + 'FS_createPreloadedFile', + 'FS_createLazyFile', + 'FS_createLink', + 'FS_createDevice', + 'FS_unlink', + 'getLEB', + 'getFunctionTables', + 'alignFunctionTables', + 'registerFunctions', + 'prettyPrint', + 'getCompilerSetting', + 'out', + 'err', + 'callMain', + 'abort', + 'keepRuntimeAlive', + 'wasmMemory', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'ptrToString', + 'zeroMemory', + 'stringToNewUTF8', + 'exitJS', + 'getHeapMax', + 'emscripten_realloc_buffer', + 'ENV', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'DNS', + 'getHostByName', + 'Protocols', + 'Sockets', + 'getRandomDevice', + 'warnOnce', + 'traverseStack', + 'UNWIND_CACHE', + 'convertPCtoSourceLocation', + 'readAsmConstArgsArray', + 'readAsmConstArgs', + 'mainThreadEM_ASM', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'handleException', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertI32PairToI53Checked', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'freeTableIndexes', + 'functionsInTableMap', + 'getEmptyTableSlot', + 'updateTableMap', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'writeStringToMemory', + 'writeArrayToMemory', + 'writeAsciiToMemory', + 'SYSCALLS', + 'getSocketFromFD', + 'getSocketAddress', + 'JSEvents', + 'registerKeyEventCallback', + 'specialHTMLTargets', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'ExitStatus', + 'getEnvStrings', + 'checkWasiClock', + 'doReadv', + 'doWritev', + 'dlopenMissingError', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'Browser', + 'setMainLoop', + 'wget', + 'MEMFS', + 'TTY', + 'PIPEFS', + 'SOCKFS', + '_setNetworkCallback', +]; +unexportedRuntimeSymbols.forEach(unexportedRuntimeSymbol); +var missingLibrarySymbols = [ + 'stringToNewUTF8', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'traverseStack', + 'convertPCtoSourceLocation', + 'readAsmConstArgs', + 'mainThreadEM_ASM', + 'jstoi_q', + 'jstoi_s', + 'listenOnce', + 'autoResumeAudioContext', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'writeStringToMemory', + 'writeArrayToMemory', + 'getSocketFromFD', + 'getSocketAddress', + 'registerKeyEventCallback', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'jsStackTrace', + 'stackTrace', + 'checkWasiClock', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'setMainLoop', + '_setNetworkCallback', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + _fflush(0); + // also flush in the JS FS layer + ['stdout', 'stderr'].forEach(function(name) { + var info = FS.analyzePath('/dev/' + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true; + } + }); + } catch(e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return SOXModule.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = SOXModule; +else if (typeof define === 'function' && define['amd']) + define([], function() { return SOXModule; }); +else if (typeof exports === 'object') + exports["SOXModule"] = SOXModule; diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.wasm b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/sox.wasm new file mode 100755 index 0000000000000000000000000000000000000000..d7fdef7bd402c1663b9816902779d6ba8bf2b35d GIT binary patch literal 653393 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%0DQZncwG#S}Pn@S|)cDI-PK|O|%~C=RojbtG)iG;k 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
    + + + + +
    + +
    +
    1. Select your device
    +
    + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + +
    +
    + Can't find your device? Open an issue on + GitHub +
    +
    + +
    + + +
    + +
    +
    2. Select firmware to flash (.zip)
    +
    + +
    + +
    + +
    + +
    +
    + + + +
    +
    Flash Failed
    +
    {{ flashError }}
    +
    +
    +
    + +
    + +
    + +
    +
    + + Flashing: {{flashingProgress}}% + Connecting to device... + + {{ flashingStatus }} +
    +
    +
    +
    +
    + +
    + +
    +
    + Download Firmware + : {{ recommendedFirmwareFilename }} +
    + +
    + +
    +
    Common Issues
    +
    +
    Hardware Failure: You need to provision the eeprom in step 3.
    +
    Firmware Corrupt: You need to set the firmware hash in step 4.
    +
    +
    + +
    + + +
    + + +
    + +
    + +
    +
    3. Provision EEPROM
    +
    Sets device info, checksum and blank signature
    +
    + +
    + +
    + + + + + Provisioning: please wait... +
    +
    + +
    + +
    + + +
    + + +
    + +
    +
    4. Set Firmware Hash
    +
    Uses hash from board
    +
    + +
    + +
    + + + + + Setting Firmware Hash: please wait... +
    +
    + +
    + + +
    + +
    +
    5. Done
    +
    + +
    +
    • If you made it this far, and all previous steps were successful, your RNode should be ready to use.
    +
    • To use RNode with MeshChat, you will need to add an RNodeInterface in the Interfaces → Add Interface page.
    +
    • To use RNode with Sideband, you will need to configure it in Hardware → RNode and enable Connectivity → Connect via RNode.
    +
    • You must restart MeshChat and Sideband for interface setting changes to take effect, otherwise nothing will happen!
    +
    + +
    + +
    + +
    + + +
    + + +
    + +
    +
    Advanced Tools
    +
    + +
    + +
    + + + + + +
    + +
    EEPROM dumps are shown in dev tools console.
    + + +
    + +
    + +
    + +
    + + +
    + +
    +
    Configure Bluetooth (optional)
    +
    + +
    +
    • Bluetooth is not supported on all devices.
    +
    • Some devices use Bluetooth Classic, and some use BLE (Bluetooth Low Energy)
    +
    • Put the RNode into Bluetooth Pairing mode, then connect to it from Android Bluetooth settings.
    +
    • Once you have initiated a pair request from Android, a PIN should show on the RNode display.
    +
    • In Sideband you will need to enable Connect using Bluetooth in Hardware → RNode.
    +
    • If your device uses BLE you will also need to enable Device requires BLE in Hardware → RNode.
    +
    • Don't forget to restart Sideband for the setting changes to take effect!
    +
    + +
    +
    + + + +
    +
    + +
    + + +
    + +
    +
    Configure TNC Mode (optional)
    +
    + +
    +
    • TNC mode allows an RNode to be used as a KISS compatible TNC over the Serial Port.
    +
    • This mode makes it usable with amateur radio software that can talk to a KISS TNC over a serial port.
    +
    • You must leave TNC mode disabled when using RNode with apps like MeshChat or Sideband.
    +
    + +
    + +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + +
    + +
    + + +
    + +
    + +
    + + + + + +
    + +
    + + + +
    + +
    + +
    +
    Setting display rotation requires firmware v1.80+
    +
    + +
    + +
    + + + + + + + + + + + \ No newline at end of file diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/core.js b/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/core.js new file mode 100644 index 0000000..28e34c1 --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/core.js @@ -0,0 +1,760 @@ +;(function (root, factory) { + if (typeof exports === "object") { + // CommonJS + module.exports = exports = factory(); + } + else if (typeof define === "function" && define.amd) { + // AMD + define([], factory); + } + else { + // Global (browser) + root.CryptoJS = factory(); + } +}(this, function () { + + /** + * CryptoJS core components. + */ + var CryptoJS = CryptoJS || (function (Math, undefined) { + /* + * Local polyfil of Object.create + */ + var create = Object.create || (function () { + function F() {}; + + return function (obj) { + var subtype; + + F.prototype = obj; + + subtype = new F(); + + F.prototype = null; + + return subtype; + }; + }()) + + /** + * CryptoJS namespace. + */ + var C = {}; + + /** + * Library namespace. + */ + var C_lib = C.lib = {}; + + /** + * Base object for prototypal inheritance. + */ + var Base = C_lib.Base = (function () { + + + return { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function (overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function () { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function () { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + clone: function () { + return this.init.prototype.extend(this); + } + }; + }()); + + /** + * An array of 32-bit words. + * + * @property {Array} words The array of 32-bit words. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var WordArray = C_lib.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of 32-bit words. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function (encoder) { + return (encoder || Hex).stringify(this); + }, + + /** + * Concatenates a word array to this word array. + * + * @param {WordArray} wordArray The word array to append. + * + * @return {WordArray} This word array. + * + * @example + * + * wordArray1.concat(wordArray2); + */ + concat: function (wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + var r = (function (m_w) { + var m_w = m_w; + var m_z = 0x3ade68b1; + var mask = 0xffffffff; + + return function () { + m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask; + m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask; + var result = ((m_z << 0x10) + m_w) & mask; + result /= 0x100000000; + result += 0.5; + return result * (Math.random() > .5 ? 1 : -1); + } + }); + + for (var i = 0, rcache; i < nBytes; i += 4) { + var _r = r((rcache || Math.random()) * 0x100000000); + + rcache = _r() * 0x3ade67b7; + words.push((_r() * 0x100000000) | 0); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + var processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + return CryptoJS; + +})); \ No newline at end of file diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/md5.js b/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/md5.js new file mode 100644 index 0000000..12b0fdd --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/crypto-js@3.9.1-1/md5.js @@ -0,0 +1,268 @@ +;(function (root, factory) { + if (typeof exports === "object") { + // CommonJS + module.exports = exports = factory(require("./core")); + } + else if (typeof define === "function" && define.amd) { + // AMD + define(["./core"], factory); + } + else { + // Global (browser) + factory(root.CryptoJS); + } +}(this, function (CryptoJS) { + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function () { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + var H = this._hash.words; + + var M_offset_0 = M[offset + 0]; + var M_offset_1 = M[offset + 1]; + var M_offset_2 = M[offset + 2]; + var M_offset_3 = M[offset + 3]; + var M_offset_4 = M[offset + 4]; + var M_offset_5 = M[offset + 5]; + var M_offset_6 = M[offset + 6]; + var M_offset_7 = M[offset + 7]; + var M_offset_8 = M[offset + 8]; + var M_offset_9 = M[offset + 9]; + var M_offset_10 = M[offset + 10]; + var M_offset_11 = M[offset + 11]; + var M_offset_12 = M[offset + 12]; + var M_offset_13 = M[offset + 13]; + var M_offset_14 = M[offset + 14]; + var M_offset_15 = M[offset + 15]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + a = FF(a, b, c, d, M_offset_0, 7, T[0]); + d = FF(d, a, b, c, M_offset_1, 12, T[1]); + c = FF(c, d, a, b, M_offset_2, 17, T[2]); + b = FF(b, c, d, a, M_offset_3, 22, T[3]); + a = FF(a, b, c, d, M_offset_4, 7, T[4]); + d = FF(d, a, b, c, M_offset_5, 12, T[5]); + c = FF(c, d, a, b, M_offset_6, 17, T[6]); + b = FF(b, c, d, a, M_offset_7, 22, T[7]); + a = FF(a, b, c, d, M_offset_8, 7, T[8]); + d = FF(d, a, b, c, M_offset_9, 12, T[9]); + c = FF(c, d, a, b, M_offset_10, 17, T[10]); + b = FF(b, c, d, a, M_offset_11, 22, T[11]); + a = FF(a, b, c, d, M_offset_12, 7, T[12]); + d = FF(d, a, b, c, M_offset_13, 12, T[13]); + c = FF(c, d, a, b, M_offset_14, 17, T[14]); + b = FF(b, c, d, a, M_offset_15, 22, T[15]); + + a = GG(a, b, c, d, M_offset_1, 5, T[16]); + d = GG(d, a, b, c, M_offset_6, 9, T[17]); + c = GG(c, d, a, b, M_offset_11, 14, T[18]); + b = GG(b, c, d, a, M_offset_0, 20, T[19]); + a = GG(a, b, c, d, M_offset_5, 5, T[20]); + d = GG(d, a, b, c, M_offset_10, 9, T[21]); + c = GG(c, d, a, b, M_offset_15, 14, T[22]); + b = GG(b, c, d, a, M_offset_4, 20, T[23]); + a = GG(a, b, c, d, M_offset_9, 5, T[24]); + d = GG(d, a, b, c, M_offset_14, 9, T[25]); + c = GG(c, d, a, b, M_offset_3, 14, T[26]); + b = GG(b, c, d, a, M_offset_8, 20, T[27]); + a = GG(a, b, c, d, M_offset_13, 5, T[28]); + d = GG(d, a, b, c, M_offset_2, 9, T[29]); + c = GG(c, d, a, b, M_offset_7, 14, T[30]); + b = GG(b, c, d, a, M_offset_12, 20, T[31]); + + a = HH(a, b, c, d, M_offset_5, 4, T[32]); + d = HH(d, a, b, c, M_offset_8, 11, T[33]); + c = HH(c, d, a, b, M_offset_11, 16, T[34]); + b = HH(b, c, d, a, M_offset_14, 23, T[35]); + a = HH(a, b, c, d, M_offset_1, 4, T[36]); + d = HH(d, a, b, c, M_offset_4, 11, T[37]); + c = HH(c, d, a, b, M_offset_7, 16, T[38]); + b = HH(b, c, d, a, M_offset_10, 23, T[39]); + a = HH(a, b, c, d, M_offset_13, 4, T[40]); + d = HH(d, a, b, c, M_offset_0, 11, T[41]); + c = HH(c, d, a, b, M_offset_3, 16, T[42]); + b = HH(b, c, d, a, M_offset_6, 23, T[43]); + a = HH(a, b, c, d, M_offset_9, 4, T[44]); + d = HH(d, a, b, c, M_offset_12, 11, T[45]); + c = HH(c, d, a, b, M_offset_15, 16, T[46]); + b = HH(b, c, d, a, M_offset_2, 23, T[47]); + + a = II(a, b, c, d, M_offset_0, 6, T[48]); + d = II(d, a, b, c, M_offset_7, 10, T[49]); + c = II(c, d, a, b, M_offset_14, 15, T[50]); + b = II(b, c, d, a, M_offset_5, 21, T[51]); + a = II(a, b, c, d, M_offset_12, 6, T[52]); + d = II(d, a, b, c, M_offset_3, 10, T[53]); + c = II(c, d, a, b, M_offset_10, 15, T[54]); + b = II(b, c, d, a, M_offset_1, 21, T[55]); + a = II(a, b, c, d, M_offset_8, 6, T[56]); + d = II(d, a, b, c, M_offset_15, 10, T[57]); + c = II(c, d, a, b, M_offset_6, 15, T[58]); + b = II(b, c, d, a, M_offset_13, 21, T[59]); + a = II(a, b, c, d, M_offset_4, 6, T[60]); + d = II(d, a, b, c, M_offset_11, 10, T[61]); + c = II(c, d, a, b, M_offset_2, 15, T[62]); + b = II(b, c, d, a, M_offset_9, 21, T[63]); + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + function FF(a, b, c, d, x, s, t) { + var n = a + ((b & c) | (~b & d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function GG(a, b, c, d, x, s, t) { + var n = a + ((b & d) | (c & ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.MD5('message'); + * var hash = CryptoJS.MD5(wordArray); + */ + C.MD5 = Hasher._createHelper(MD5); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacMD5(message, key); + */ + C.HmacMD5 = Hasher._createHmacHelper(MD5); + }(Math)); + + + return CryptoJS.MD5; + +})); \ No newline at end of file diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/esptool-js@0.4.5/bundle.js b/meshchatx/src/frontend/public/rnode-flasher/js/esptool-js@0.4.5/bundle.js new file mode 100644 index 0000000..6b1c0b1 --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/esptool-js@0.4.5/bundle.js @@ -0,0 +1,2 @@ +class A extends Error{} +/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function t(A){let t=A.length;for(;--t>=0;)A[t]=0}const e=256,i=286,s=30,a=15,n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),h=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),E=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new Array(576);t(g);const o=new Array(60);t(o);const B=new Array(512);t(B);const w=new Array(256);t(w);const c=new Array(29);t(c);const I=new Array(s);function C(A,t,e,i,s){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=s,this.has_stree=A&&A.length}let l,_,d;function D(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}t(I);const M=A=>A<256?B[A]:B[256+(A>>>7)],Q=(A,t)=>{A.pending_buf[A.pending++]=255&t,A.pending_buf[A.pending++]=t>>>8&255},S=(A,t,e)=>{A.bi_valid>16-e?(A.bi_buf|=t<>16-A.bi_valid,A.bi_valid+=e-16):(A.bi_buf|=t<{S(A,e[2*t],e[2*t+1])},f=(A,t)=>{let e=0;do{e|=1&A,A>>>=1,e<<=1}while(--t>0);return e>>>1},F=(A,t,e)=>{const i=new Array(16);let s,n,h=0;for(s=1;s<=a;s++)h=h+e[s-1]<<1,i[s]=h;for(n=0;n<=t;n++){let t=A[2*n+1];0!==t&&(A[2*n]=f(i[t]++,t))}},u=A=>{let t;for(t=0;t{A.bi_valid>8?Q(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},y=(A,t,e,i)=>{const s=2*t,a=2*e;return A[s]{const i=A.heap[e];let s=e<<1;for(;s<=A.heap_len&&(s{let s,a,r,E,g=0;if(0!==A.sym_next)do{s=255&A.pending_buf[A.sym_buf+g++],s+=(255&A.pending_buf[A.sym_buf+g++])<<8,a=A.pending_buf[A.sym_buf+g++],0===s?R(A,a,t):(r=w[a],R(A,r+e+1,t),E=n[r],0!==E&&(a-=c[r],S(A,a,E)),s--,r=M(s),R(A,r,i),E=h[r],0!==E&&(s-=I[r],S(A,s,E)))}while(g{const e=t.dyn_tree,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,n=t.stat_desc.elems;let h,r,E,g=-1;for(A.heap_len=0,A.heap_max=573,h=0;h>1;h>=1;h--)p(A,e,h);E=n;do{h=A.heap[1],A.heap[1]=A.heap[A.heap_len--],p(A,e,1),r=A.heap[1],A.heap[--A.heap_max]=h,A.heap[--A.heap_max]=r,e[2*E]=e[2*h]+e[2*r],A.depth[E]=(A.depth[h]>=A.depth[r]?A.depth[h]:A.depth[r])+1,e[2*h+1]=e[2*r+1]=E,A.heap[1]=E++,p(A,e,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],((A,t)=>{const e=t.dyn_tree,i=t.max_code,s=t.stat_desc.static_tree,n=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,r=t.stat_desc.extra_base,E=t.stat_desc.max_length;let g,o,B,w,c,I,C=0;for(w=0;w<=a;w++)A.bl_count[w]=0;for(e[2*A.heap[A.heap_max]+1]=0,g=A.heap_max+1;g<573;g++)o=A.heap[g],w=e[2*e[2*o+1]+1]+1,w>E&&(w=E,C++),e[2*o+1]=w,o>i||(A.bl_count[w]++,c=0,o>=r&&(c=h[o-r]),I=e[2*o],A.opt_len+=I*(w+c),n&&(A.static_len+=I*(s[2*o+1]+c)));if(0!==C){do{for(w=E-1;0===A.bl_count[w];)w--;A.bl_count[w]--,A.bl_count[w+1]+=2,A.bl_count[E]--,C-=2}while(C>0);for(w=E;0!==w;w--)for(o=A.bl_count[w];0!==o;)B=A.heap[--g],B>i||(e[2*B+1]!==w&&(A.opt_len+=(w-e[2*B+1])*e[2*B],e[2*B+1]=w),o--)}})(A,t),F(e,g,A.bl_count)},P=(A,t,e)=>{let i,s,a=-1,n=t[1],h=0,r=7,E=4;for(0===n&&(r=138,E=3),t[2*(e+1)+1]=65535,i=0;i<=e;i++)s=n,n=t[2*(i+1)+1],++h{let i,s,a=-1,n=t[1],h=0,r=7,E=4;for(0===n&&(r=138,E=3),i=0;i<=e;i++)if(s=n,n=t[2*(i+1)+1],!(++h{S(A,0+(i?1:0),3),T(A),Q(A,e),Q(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e};var U=(A,t,i,s)=>{let a,n,h=0;A.level>0?(2===A.strm.data_type&&(A.strm.data_type=(A=>{let t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==A.dyn_ltree[2*t])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(t=32;t{let t;for(P(A,A.dyn_ltree,A.l_desc.max_code),P(A,A.dyn_dtree,A.d_desc.max_code),H(A,A.bl_desc),t=18;t>=3&&0===A.bl_tree[2*E[t]+1];t--);return A.opt_len+=3*(t+1)+5+5+4,t})(A),a=A.opt_len+3+7>>>3,n=A.static_len+3+7>>>3,n<=a&&(a=n)):a=n=i+5,i+4<=a&&-1!==t?G(A,t,i,s):4===A.strategy||n===a?(S(A,2+(s?1:0),3),k(A,g,o)):(S(A,4+(s?1:0),3),((A,t,e,i)=>{let s;for(S(A,t-257,5),S(A,e-1,5),S(A,i-4,4),s=0;s{O||((()=>{let A,t,e,E,D;const M=new Array(16);for(e=0,E=0;E<28;E++)for(c[E]=e,A=0;A<1<>=7;E(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=i,0===t?A.dyn_ltree[2*i]++:(A.matches++,t--,A.dyn_ltree[2*(w[i]+e+1)]++,A.dyn_dtree[2*M(t)]++),A.sym_next===A.sym_end),_tr_align:A=>{S(A,2,3),R(A,256,g),(A=>{16===A.bi_valid?(Q(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)})(A)}};var Y=(A,t,e,i)=>{let s=65535&A|0,a=A>>>16&65535|0,n=0;for(;0!==e;){n=e>2e3?2e3:e,e-=n;do{s=s+t[i++]|0,a=a+s|0}while(--n);s%=65521,a%=65521}return s|a<<16|0};const K=new Uint32Array((()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;t[e]=A}return t})());var x=(A,t,e,i)=>{const s=K,a=i+e;A^=-1;for(let e=i;e>>8^s[255&(A^t[e])];return-1^A},L={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},J={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:z,_tr_stored_block:v,_tr_flush_block:N,_tr_tally:Z,_tr_align:j}=b,{Z_NO_FLUSH:W,Z_PARTIAL_FLUSH:q,Z_FULL_FLUSH:X,Z_FINISH:V,Z_BLOCK:$,Z_OK:AA,Z_STREAM_END:tA,Z_STREAM_ERROR:eA,Z_DATA_ERROR:iA,Z_BUF_ERROR:sA,Z_DEFAULT_COMPRESSION:aA,Z_FILTERED:nA,Z_HUFFMAN_ONLY:hA,Z_RLE:rA,Z_FIXED:EA,Z_DEFAULT_STRATEGY:gA,Z_UNKNOWN:oA,Z_DEFLATED:BA}=J,wA=258,cA=262,IA=42,CA=113,lA=666,_A=(A,t)=>(A.msg=L[t],t),dA=A=>2*A-(A>4?9:0),DA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},MA=A=>{let t,e,i,s=A.w_size;t=A.hash_size,i=t;do{e=A.head[--i],A.head[i]=e>=s?e-s:0}while(--t);t=s,i=t;do{e=A.prev[--i],A.prev[i]=e>=s?e-s:0}while(--t)};let QA=(A,t,e)=>(t<{const t=A.state;let e=t.pending;e>A.avail_out&&(e=A.avail_out),0!==e&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,0===t.pending&&(t.pending_out=0))},RA=(A,t)=>{N(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,SA(A.strm)},fA=(A,t)=>{A.pending_buf[A.pending++]=t},FA=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=255&t},uA=(A,t,e,i)=>{let s=A.avail_in;return s>i&&(s=i),0===s?0:(A.avail_in-=s,t.set(A.input.subarray(A.next_in,A.next_in+s),e),1===A.state.wrap?A.adler=Y(A.adler,t,s,e):2===A.state.wrap&&(A.adler=x(A.adler,t,s,e)),A.next_in+=s,A.total_in+=s,s)},TA=(A,t)=>{let e,i,s=A.max_chain_length,a=A.strstart,n=A.prev_length,h=A.nice_match;const r=A.strstart>A.w_size-cA?A.strstart-(A.w_size-cA):0,E=A.window,g=A.w_mask,o=A.prev,B=A.strstart+wA;let w=E[a+n-1],c=E[a+n];A.prev_length>=A.good_match&&(s>>=2),h>A.lookahead&&(h=A.lookahead);do{if(e=t,E[e+n]===c&&E[e+n-1]===w&&E[e]===E[a]&&E[++e]===E[a+1]){a+=2,e++;do{}while(E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&E[++a]===E[++e]&&an){if(A.match_start=t,n=i,i>=h)break;w=E[a+n-1],c=E[a+n]}}}while((t=o[t&g])>r&&0!=--s);return n<=A.lookahead?n:A.lookahead},yA=A=>{const t=A.w_size;let e,i,s;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-cA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),MA(A),i+=t),0===A.strm.avail_in)break;if(e=uA(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=3)for(s=A.strstart-A.insert,A.ins_h=A.window[s],A.ins_h=QA(A,A.ins_h,A.window[s+1]);A.insert&&(A.ins_h=QA(A,A.ins_h,A.window[s+3-1]),A.prev[s&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=s,s++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead{let e,i,s,a=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,n=0,h=A.strm.avail_in;do{if(e=65535,s=A.bi_valid+42>>3,A.strm.avail_outi+A.strm.avail_in&&(e=i+A.strm.avail_in),e>s&&(e=s),e>8,A.pending_buf[A.pending-2]=~e,A.pending_buf[A.pending-1]=~e>>8,SA(A.strm),i&&(i>e&&(i=e),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+i),A.strm.next_out),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i,A.block_start+=i,e-=i),e&&(uA(A.strm,A.strm.output,A.strm.next_out,e),A.strm.next_out+=e,A.strm.avail_out-=e,A.strm.total_out+=e)}while(0===n);return h-=A.strm.avail_in,h&&(h>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=h&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-h,A.strm.next_in),A.strstart),A.strstart+=h,A.insert+=h>A.w_size-A.insert?A.w_size-A.insert:h),A.block_start=A.strstart),A.high_waters&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,s+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),s>A.strm.avail_in&&(s=A.strm.avail_in),s&&(uA(A.strm,A.window,A.strstart,s),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.high_water>3,s=A.pending_buf_size-s>65535?65535:A.pending_buf_size-s,a=s>A.w_size?A.w_size:s,i=A.strstart-A.block_start,(i>=a||(i||t===V)&&t!==W&&0===A.strm.avail_in&&i<=s)&&(e=i>s?s:i,n=t===V&&0===A.strm.avail_in&&e===i?1:0,v(A,A.block_start,e,n),A.block_start+=e,SA(A.strm)),n?3:1)},kA=(A,t)=>{let e,i;for(;;){if(A.lookahead=3&&(A.ins_h=QA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==e&&A.strstart-e<=A.w_size-cA&&(A.match_length=TA(A,e)),A.match_length>=3)if(i=Z(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=QA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!=--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=QA(A,A.ins_h,A.window[A.strstart+1]);else i=Z(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(RA(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,t===V?(RA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(RA(A,!1),0===A.strm.avail_out)?1:2},HA=(A,t)=>{let e,i,s;for(;;){if(A.lookahead=3&&(A.ins_h=QA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==e&&A.prev_length4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){s=A.strstart+A.lookahead-3,i=Z(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=s&&(A.ins_h=QA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!=--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(RA(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if(i=Z(A,0,A.window[A.strstart-1]),i&&RA(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=Z(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,t===V?(RA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(RA(A,!1),0===A.strm.avail_out)?1:2};function PA(A,t,e,i,s){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=s}const mA=[new PA(0,0,0,0,pA),new PA(4,4,8,4,kA),new PA(4,5,16,8,kA),new PA(4,6,32,32,kA),new PA(4,4,16,16,HA),new PA(8,16,32,32,HA),new PA(8,16,128,128,HA),new PA(8,32,128,256,HA),new PA(32,128,258,1024,HA),new PA(32,258,258,4096,HA)];function OA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=BA,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),DA(this.dyn_ltree),DA(this.dyn_dtree),DA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),DA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),DA(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const GA=A=>{if(!A)return 1;const t=A.state;return!t||t.strm!==A||t.status!==IA&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==CA&&t.status!==lA?1:0},UA=A=>{if(GA(A))return _A(A,eA);A.total_in=A.total_out=0,A.data_type=oA;const t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?IA:CA,A.adler=2===t.wrap?0:1,t.last_flush=-2,z(t),AA},bA=A=>{const t=UA(A);var e;return t===AA&&((e=A.state).window_size=2*e.w_size,DA(e.head),e.max_lazy_match=mA[e.level].max_lazy,e.good_match=mA[e.level].good_length,e.nice_match=mA[e.level].nice_length,e.max_chain_length=mA[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),t},YA=(A,t,e,i,s,a)=>{if(!A)return eA;let n=1;if(t===aA&&(t=6),i<0?(n=0,i=-i):i>15&&(n=2,i-=16),s<1||s>9||e!==BA||i<8||i>15||t<0||t>9||a<0||a>EA||8===i&&1!==n)return _A(A,eA);8===i&&(i=9);const h=new OA;return A.state=h,h.strm=A,h.status=IA,h.wrap=n,h.gzhead=null,h.w_bits=i,h.w_size=1<YA(A,t,BA,15,8,gA),deflateInit2:YA,deflateReset:bA,deflateResetKeep:UA,deflateSetHeader:(A,t)=>GA(A)||2!==A.state.wrap?eA:(A.state.gzhead=t,AA),deflate:(A,t)=>{if(GA(A)||t>$||t<0)return A?_A(A,eA):eA;const e=A.state;if(!A.output||0!==A.avail_in&&!A.input||e.status===lA&&t!==V)return _A(A,0===A.avail_out?sA:eA);const i=e.last_flush;if(e.last_flush=t,0!==e.pending){if(SA(A),0===A.avail_out)return e.last_flush=-1,AA}else if(0===A.avail_in&&dA(t)<=dA(i)&&t!==V)return _A(A,sA);if(e.status===lA&&0!==A.avail_in)return _A(A,sA);if(e.status===IA&&0===e.wrap&&(e.status=CA),e.status===IA){let t=BA+(e.w_bits-8<<4)<<8,i=-1;if(i=e.strategy>=hA||e.level<2?0:e.level<6?1:6===e.level?2:3,t|=i<<6,0!==e.strstart&&(t|=32),t+=31-t%31,FA(e,t),0!==e.strstart&&(FA(e,A.adler>>>16),FA(e,65535&A.adler)),A.adler=1,e.status=CA,SA(A),0!==e.pending)return e.last_flush=-1,AA}if(57===e.status)if(A.adler=0,fA(e,31),fA(e,139),fA(e,8),e.gzhead)fA(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),fA(e,255&e.gzhead.time),fA(e,e.gzhead.time>>8&255),fA(e,e.gzhead.time>>16&255),fA(e,e.gzhead.time>>24&255),fA(e,9===e.level?2:e.strategy>=hA||e.level<2?4:0),fA(e,255&e.gzhead.os),e.gzhead.extra&&e.gzhead.extra.length&&(fA(e,255&e.gzhead.extra.length),fA(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=x(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=69;else if(fA(e,0),fA(e,0),fA(e,0),fA(e,0),fA(e,0),fA(e,9===e.level?2:e.strategy>=hA||e.level<2?4:0),fA(e,3),e.status=CA,SA(A),0!==e.pending)return e.last_flush=-1,AA;if(69===e.status){if(e.gzhead.extra){let t=e.pending,i=(65535&e.gzhead.extra.length)-e.gzindex;for(;e.pending+i>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>t&&(A.adler=x(A.adler,e.pending_buf,e.pending-t,t)),e.gzindex+=s,SA(A),0!==e.pending)return e.last_flush=-1,AA;t=0,i-=s}let s=new Uint8Array(e.gzhead.extra);e.pending_buf.set(s.subarray(e.gzindex,e.gzindex+i),e.pending),e.pending+=i,e.gzhead.hcrc&&e.pending>t&&(A.adler=x(A.adler,e.pending_buf,e.pending-t,t)),e.gzindex=0}e.status=73}if(73===e.status){if(e.gzhead.name){let t,i=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),SA(A),0!==e.pending)return e.last_flush=-1,AA;i=0}t=e.gzindexi&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=91}if(91===e.status){if(e.gzhead.comment){let t,i=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),SA(A),0!==e.pending)return e.last_flush=-1,AA;i=0}t=e.gzindexi&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i))}e.status=103}if(103===e.status){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(SA(A),0!==e.pending))return e.last_flush=-1,AA;fA(e,255&A.adler),fA(e,A.adler>>8&255),A.adler=0}if(e.status=CA,SA(A),0!==e.pending)return e.last_flush=-1,AA}if(0!==A.avail_in||0!==e.lookahead||t!==W&&e.status!==lA){let i=0===e.level?pA(e,t):e.strategy===hA?((A,t)=>{let e;for(;;){if(0===A.lookahead&&(yA(A),0===A.lookahead)){if(t===W)return 1;break}if(A.match_length=0,e=Z(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(RA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===V?(RA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(RA(A,!1),0===A.strm.avail_out)?1:2})(e,t):e.strategy===rA?((A,t)=>{let e,i,s,a;const n=A.window;for(;;){if(A.lookahead<=wA){if(yA(A),A.lookahead<=wA&&t===W)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(s=A.strstart-1,i=n[s],i===n[++s]&&i===n[++s]&&i===n[++s])){a=A.strstart+wA;do{}while(i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&sA.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(e=Z(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=Z(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(RA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===V?(RA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(RA(A,!1),0===A.strm.avail_out)?1:2})(e,t):mA[e.level].func(e,t);if(3!==i&&4!==i||(e.status=lA),1===i||3===i)return 0===A.avail_out&&(e.last_flush=-1),AA;if(2===i&&(t===q?j(e):t!==$&&(v(e,0,0,!1),t===X&&(DA(e.head),0===e.lookahead&&(e.strstart=0,e.block_start=0,e.insert=0))),SA(A),0===A.avail_out))return e.last_flush=-1,AA}return t!==V?AA:e.wrap<=0?tA:(2===e.wrap?(fA(e,255&A.adler),fA(e,A.adler>>8&255),fA(e,A.adler>>16&255),fA(e,A.adler>>24&255),fA(e,255&A.total_in),fA(e,A.total_in>>8&255),fA(e,A.total_in>>16&255),fA(e,A.total_in>>24&255)):(FA(e,A.adler>>>16),FA(e,65535&A.adler)),SA(A),e.wrap>0&&(e.wrap=-e.wrap),0!==e.pending?AA:tA)},deflateEnd:A=>{if(GA(A))return eA;const t=A.state.status;return A.state=null,t===CA?_A(A,iA):AA},deflateSetDictionary:(A,t)=>{let e=t.length;if(GA(A))return eA;const i=A.state,s=i.wrap;if(2===s||1===s&&i.status!==IA||i.lookahead)return eA;if(1===s&&(A.adler=Y(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){0===s&&(DA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let A=new Uint8Array(i.w_size);A.set(t.subarray(e-i.w_size,e),0),t=A,e=i.w_size}const a=A.avail_in,n=A.next_in,h=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,yA(i);i.lookahead>=3;){let A=i.strstart,t=i.lookahead-2;do{i.ins_h=QA(i,i.ins_h,i.window[A+3-1]),i.prev[A&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=A,A++}while(--t);i.strstart=A,i.lookahead=2,yA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,A.next_in=n,A.input=h,A.avail_in=a,i.wrap=s,AA},deflateInfo:"pako deflate (from Nodeca project)"};const xA=(A,t)=>Object.prototype.hasOwnProperty.call(A,t);var LA={assign:function(A){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const e=t.shift();if(e){if("object"!=typeof e)throw new TypeError(e+"must be non-object");for(const t in e)xA(e,t)&&(A[t]=e[t])}}return A},flattenChunks:A=>{let t=0;for(let e=0,i=A.length;e=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;zA[254]=zA[254]=1;var vA={string2buf:A=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let t,e,i,s,a,n=A.length,h=0;for(s=0;s>>6,t[a++]=128|63&e):e<65536?(t[a++]=224|e>>>12,t[a++]=128|e>>>6&63,t[a++]=128|63&e):(t[a++]=240|e>>>18,t[a++]=128|e>>>12&63,t[a++]=128|e>>>6&63,t[a++]=128|63&e);return t},buf2string:(A,t)=>{const e=t||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,t));let i,s;const a=new Array(2*e);for(s=0,i=0;i4)a[s++]=65533,i+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&i1?a[s++]=65533:t<65536?a[s++]=t:(t-=65536,a[s++]=55296|t>>10&1023,a[s++]=56320|1023&t)}}return((A,t)=>{if(t<65534&&A.subarray&&JA)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e="";for(let i=0;i{(t=t||A.length)>A.length&&(t=A.length);let e=t-1;for(;e>=0&&128==(192&A[e]);)e--;return e<0||0===e?t:e+zA[A[e]]>t?e:t}};var NA=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const ZA=Object.prototype.toString,{Z_NO_FLUSH:jA,Z_SYNC_FLUSH:WA,Z_FULL_FLUSH:qA,Z_FINISH:XA,Z_OK:VA,Z_STREAM_END:$A,Z_DEFAULT_COMPRESSION:At,Z_DEFAULT_STRATEGY:tt,Z_DEFLATED:et}=J;function it(A){this.options=LA.assign({level:At,method:et,chunkSize:16384,windowBits:15,memLevel:8,strategy:tt},A||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NA,this.strm.avail_out=0;let e=KA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==VA)throw new Error(L[e]);if(t.header&&KA.deflateSetHeader(this.strm,t.header),t.dictionary){let A;if(A="string"==typeof t.dictionary?vA.string2buf(t.dictionary):"[object ArrayBuffer]"===ZA.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,e=KA.deflateSetDictionary(this.strm,A),e!==VA)throw new Error(L[e]);this._dict_set=!0}}function st(A,t){const e=new it(t);if(e.push(A,!0),e.err)throw e.msg||L[e.err];return e.result}it.prototype.push=function(A,t){const e=this.strm,i=this.options.chunkSize;let s,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?XA:jA,"string"==typeof A?e.input=vA.string2buf(A):"[object ArrayBuffer]"===ZA.call(A)?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;)if(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(a===WA||a===qA)&&e.avail_out<=6)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else{if(s=KA.deflate(e,a),s===$A)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),s=KA.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===VA;if(0!==e.avail_out){if(a>0&&e.next_out>0)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else if(0===e.avail_in)break}else this.onData(e.output)}return!0},it.prototype.onData=function(A){this.chunks.push(A)},it.prototype.onEnd=function(A){A===VA&&(this.result=LA.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var at={Deflate:it,deflate:st,deflateRaw:function(A,t){return(t=t||{}).raw=!0,st(A,t)},gzip:function(A,t){return(t=t||{}).gzip=!0,st(A,t)},constants:J};const nt=16209;var ht=function(A,t){let e,i,s,a,n,h,r,E,g,o,B,w,c,I,C,l,_,d,D,M,Q,S,R,f;const F=A.state;e=A.next_in,R=A.input,i=e+(A.avail_in-5),s=A.next_out,f=A.output,a=s-(t-A.avail_out),n=s+(A.avail_out-257),h=F.dmax,r=F.wsize,E=F.whave,g=F.wnext,o=F.window,B=F.hold,w=F.bits,c=F.lencode,I=F.distcode,C=(1<>>24,B>>>=d,w-=d,d=_>>>16&255,0===d)f[s++]=65535&_;else{if(!(16&d)){if(0==(64&d)){_=c[(65535&_)+(B&(1<>>=d,w-=d),w<15&&(B+=R[e++]<>>24,B>>>=d,w-=d,d=_>>>16&255,!(16&d)){if(0==(64&d)){_=I[(65535&_)+(B&(1<h){A.msg="invalid distance too far back",F.mode=nt;break A}if(B>>>=d,w-=d,d=s-a,M>d){if(d=M-d,d>E&&F.sane){A.msg="invalid distance too far back",F.mode=nt;break A}if(Q=0,S=o,0===g){if(Q+=r-d,d2;)f[s++]=S[Q++],f[s++]=S[Q++],f[s++]=S[Q++],D-=3;D&&(f[s++]=S[Q++],D>1&&(f[s++]=S[Q++]))}else{Q=s-M;do{f[s++]=f[Q++],f[s++]=f[Q++],f[s++]=f[Q++],D-=3}while(D>2);D&&(f[s++]=f[Q++],D>1&&(f[s++]=f[Q++]))}break}}break}}while(e>3,e-=D,w-=D<<3,B&=(1<{const r=h.bits;let E,g,o,B,w,c,I=0,C=0,l=0,_=0,d=0,D=0,M=0,Q=0,S=0,R=0,f=null;const F=new Uint16Array(16),u=new Uint16Array(16);let T,y,p,k=null;for(I=0;I<=rt;I++)F[I]=0;for(C=0;C=1&&0===F[_];_--);if(d>_&&(d=_),0===_)return s[a++]=20971520,s[a++]=20971520,h.bits=1,0;for(l=1;l<_&&0===F[l];l++);for(d0&&(0===A||1!==_))return-1;for(u[1]=0,I=1;I852||2===A&&S>592)return 1;for(;;){T=I-M,n[C]+1=c?(y=k[n[C]-c],p=f[n[C]-c]):(y=96,p=0),E=1<>M)+g]=T<<24|y<<16|p|0}while(0!==g);for(E=1<>=1;if(0!==E?(R&=E-1,R+=E):R=0,C++,0==--F[I]){if(I===_)break;I=t[e+n[C]]}if(I>d&&(R&B)!==o){for(0===M&&(M=d),w+=l,D=I-M,Q=1<852||2===A&&S>592)return 1;o=R&B,s[o]=d<<24|D<<16|w-a|0}}return 0!==R&&(s[w+R]=I-M<<24|64<<16|0),h.bits=d,0};const{Z_FINISH:ct,Z_BLOCK:It,Z_TREES:Ct,Z_OK:lt,Z_STREAM_END:_t,Z_NEED_DICT:dt,Z_STREAM_ERROR:Dt,Z_DATA_ERROR:Mt,Z_MEM_ERROR:Qt,Z_BUF_ERROR:St,Z_DEFLATED:Rt}=J,ft=16180,Ft=16190,ut=16191,Tt=16192,yt=16194,pt=16199,kt=16200,Ht=16206,Pt=16209,mt=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function Ot(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Gt=A=>{if(!A)return 1;const t=A.state;return!t||t.strm!==A||t.mode16211?1:0},Ut=A=>{if(Gt(A))return Dt;const t=A.state;return A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=1&t.wrap),t.mode=ft,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,lt},bt=A=>{if(Gt(A))return Dt;const t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,Ut(A)},Yt=(A,t)=>{let e;if(Gt(A))return Dt;const i=A.state;return t<0?(e=0,t=-t):(e=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Dt:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,bt(A))},Kt=(A,t)=>{if(!A)return Dt;const e=new Ot;A.state=e,e.strm=A,e.window=null,e.mode=ft;const i=Yt(A,t);return i!==lt&&(A.state=null),i};let xt,Lt,Jt=!0;const zt=A=>{if(Jt){xt=new Int32Array(512),Lt=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(wt(1,A.lens,0,288,xt,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;wt(2,A.lens,0,32,Lt,0,A.work,{bits:5}),Jt=!1}A.lencode=xt,A.lenbits=9,A.distcode=Lt,A.distbits=5},vt=(A,t,e,i)=>{let s;const a=A.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(e-a.wsize,e),0),a.wnext=0,a.whave=a.wsize):(s=a.wsize-a.wnext,s>i&&(s=i),a.window.set(t.subarray(e-i,e-i+s),a.wnext),(i-=s)?(a.window.set(t.subarray(e-i,e),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whaveKt(A,15),inflateInit2:Kt,inflate:(A,t)=>{let e,i,s,a,n,h,r,E,g,o,B,w,c,I,C,l,_,d,D,M,Q,S,R=0;const f=new Uint8Array(4);let F,u;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Gt(A)||!A.output||!A.input&&0!==A.avail_in)return Dt;e=A.state,e.mode===ut&&(e.mode=Tt),n=A.next_out,s=A.output,r=A.avail_out,a=A.next_in,i=A.input,h=A.avail_in,E=e.hold,g=e.bits,o=h,B=r,S=lt;A:for(;;)switch(e.mode){case ft:if(0===e.wrap){e.mode=Tt;break}for(;g<16;){if(0===h)break A;h--,E+=i[a++]<>>8&255,e.check=x(e.check,f,2,0),E=0,g=0,e.mode=16181;break}if(e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&E)<<8)+(E>>8))%31){A.msg="incorrect header check",e.mode=Pt;break}if((15&E)!==Rt){A.msg="unknown compression method",e.mode=Pt;break}if(E>>>=4,g-=4,Q=8+(15&E),0===e.wbits&&(e.wbits=Q),Q>15||Q>e.wbits){A.msg="invalid window size",e.mode=Pt;break}e.dmax=1<>8&1),512&e.flags&&4&e.wrap&&(f[0]=255&E,f[1]=E>>>8&255,e.check=x(e.check,f,2,0)),E=0,g=0,e.mode=16182;case 16182:for(;g<32;){if(0===h)break A;h--,E+=i[a++]<>>8&255,f[2]=E>>>16&255,f[3]=E>>>24&255,e.check=x(e.check,f,4,0)),E=0,g=0,e.mode=16183;case 16183:for(;g<16;){if(0===h)break A;h--,E+=i[a++]<>8),512&e.flags&&4&e.wrap&&(f[0]=255&E,f[1]=E>>>8&255,e.check=x(e.check,f,2,0)),E=0,g=0,e.mode=16184;case 16184:if(1024&e.flags){for(;g<16;){if(0===h)break A;h--,E+=i[a++]<>>8&255,e.check=x(e.check,f,2,0)),E=0,g=0}else e.head&&(e.head.extra=null);e.mode=16185;case 16185:if(1024&e.flags&&(w=e.length,w>h&&(w=h),w&&(e.head&&(Q=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(a,a+w),Q)),512&e.flags&&4&e.wrap&&(e.check=x(e.check,i,w,a)),h-=w,a+=w,e.length-=w),e.length))break A;e.length=0,e.mode=16186;case 16186:if(2048&e.flags){if(0===h)break A;w=0;do{Q=i[a+w++],e.head&&Q&&e.length<65536&&(e.head.name+=String.fromCharCode(Q))}while(Q&&w>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=ut;break;case 16189:for(;g<32;){if(0===h)break A;h--,E+=i[a++]<>>=7&g,g-=7&g,e.mode=Ht;break}for(;g<3;){if(0===h)break A;h--,E+=i[a++]<>>=1,g-=1,3&E){case 0:e.mode=16193;break;case 1:if(zt(e),e.mode=pt,t===Ct){E>>>=2,g-=2;break A}break;case 2:e.mode=16196;break;case 3:A.msg="invalid block type",e.mode=Pt}E>>>=2,g-=2;break;case 16193:for(E>>>=7&g,g-=7&g;g<32;){if(0===h)break A;h--,E+=i[a++]<>>16^65535)){A.msg="invalid stored block lengths",e.mode=Pt;break}if(e.length=65535&E,E=0,g=0,e.mode=yt,t===Ct)break A;case yt:e.mode=16195;case 16195:if(w=e.length,w){if(w>h&&(w=h),w>r&&(w=r),0===w)break A;s.set(i.subarray(a,a+w),n),h-=w,a+=w,r-=w,n+=w,e.length-=w;break}e.mode=ut;break;case 16196:for(;g<14;){if(0===h)break A;h--,E+=i[a++]<>>=5,g-=5,e.ndist=1+(31&E),E>>>=5,g-=5,e.ncode=4+(15&E),E>>>=4,g-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=Pt;break}e.have=0,e.mode=16197;case 16197:for(;e.have>>=3,g-=3}for(;e.have<19;)e.lens[T[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,F={bits:e.lenbits},S=wt(0,e.lens,0,19,e.lencode,0,e.work,F),e.lenbits=F.bits,S){A.msg="invalid code lengths set",e.mode=Pt;break}e.have=0,e.mode=16198;case 16198:for(;e.have>>24,l=R>>>16&255,_=65535&R,!(C<=g);){if(0===h)break A;h--,E+=i[a++]<>>=C,g-=C,e.lens[e.have++]=_;else{if(16===_){for(u=C+2;g>>=C,g-=C,0===e.have){A.msg="invalid bit length repeat",e.mode=Pt;break}Q=e.lens[e.have-1],w=3+(3&E),E>>>=2,g-=2}else if(17===_){for(u=C+3;g>>=C,g-=C,Q=0,w=3+(7&E),E>>>=3,g-=3}else{for(u=C+7;g>>=C,g-=C,Q=0,w=11+(127&E),E>>>=7,g-=7}if(e.have+w>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=Pt;break}for(;w--;)e.lens[e.have++]=Q}}if(e.mode===Pt)break;if(0===e.lens[256]){A.msg="invalid code -- missing end-of-block",e.mode=Pt;break}if(e.lenbits=9,F={bits:e.lenbits},S=wt(1,e.lens,0,e.nlen,e.lencode,0,e.work,F),e.lenbits=F.bits,S){A.msg="invalid literal/lengths set",e.mode=Pt;break}if(e.distbits=6,e.distcode=e.distdyn,F={bits:e.distbits},S=wt(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,F),e.distbits=F.bits,S){A.msg="invalid distances set",e.mode=Pt;break}if(e.mode=pt,t===Ct)break A;case pt:e.mode=kt;case kt:if(h>=6&&r>=258){A.next_out=n,A.avail_out=r,A.next_in=a,A.avail_in=h,e.hold=E,e.bits=g,ht(A,B),n=A.next_out,s=A.output,r=A.avail_out,a=A.next_in,i=A.input,h=A.avail_in,E=e.hold,g=e.bits,e.mode===ut&&(e.back=-1);break}for(e.back=0;R=e.lencode[E&(1<>>24,l=R>>>16&255,_=65535&R,!(C<=g);){if(0===h)break A;h--,E+=i[a++]<>d)],C=R>>>24,l=R>>>16&255,_=65535&R,!(d+C<=g);){if(0===h)break A;h--,E+=i[a++]<>>=d,g-=d,e.back+=d}if(E>>>=C,g-=C,e.back+=C,e.length=_,0===l){e.mode=16205;break}if(32&l){e.back=-1,e.mode=ut;break}if(64&l){A.msg="invalid literal/length code",e.mode=Pt;break}e.extra=15&l,e.mode=16201;case 16201:if(e.extra){for(u=e.extra;g>>=e.extra,g-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=16202;case 16202:for(;R=e.distcode[E&(1<>>24,l=R>>>16&255,_=65535&R,!(C<=g);){if(0===h)break A;h--,E+=i[a++]<>d)],C=R>>>24,l=R>>>16&255,_=65535&R,!(d+C<=g);){if(0===h)break A;h--,E+=i[a++]<>>=d,g-=d,e.back+=d}if(E>>>=C,g-=C,e.back+=C,64&l){A.msg="invalid distance code",e.mode=Pt;break}e.offset=_,e.extra=15&l,e.mode=16203;case 16203:if(e.extra){for(u=e.extra;g>>=e.extra,g-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=Pt;break}e.mode=16204;case 16204:if(0===r)break A;if(w=B-r,e.offset>w){if(w=e.offset-w,w>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=Pt;break}w>e.wnext?(w-=e.wnext,c=e.wsize-w):c=e.wnext-w,w>e.length&&(w=e.length),I=e.window}else I=s,c=n-e.offset,w=e.length;w>r&&(w=r),r-=w,e.length-=w;do{s[n++]=I[c++]}while(--w);0===e.length&&(e.mode=kt);break;case 16205:if(0===r)break A;s[n++]=e.length,r--,e.mode=kt;break;case Ht:if(e.wrap){for(;g<32;){if(0===h)break A;h--,E|=i[a++]<{if(Gt(A))return Dt;let t=A.state;return t.window&&(t.window=null),A.state=null,lt},inflateGetHeader:(A,t)=>{if(Gt(A))return Dt;const e=A.state;return 0==(2&e.wrap)?Dt:(e.head=t,t.done=!1,lt)},inflateSetDictionary:(A,t)=>{const e=t.length;let i,s,a;return Gt(A)?Dt:(i=A.state,0!==i.wrap&&i.mode!==Ft?Dt:i.mode===Ft&&(s=1,s=Y(s,t,e,0),s!==i.check)?Mt:(a=vt(A,t,e,e),a?(i.mode=16210,Qt):(i.havedict=1,lt)))},inflateInfo:"pako inflate (from Nodeca project)"};var Zt=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const jt=Object.prototype.toString,{Z_NO_FLUSH:Wt,Z_FINISH:qt,Z_OK:Xt,Z_STREAM_END:Vt,Z_NEED_DICT:$t,Z_STREAM_ERROR:Ae,Z_DATA_ERROR:te,Z_MEM_ERROR:ee}=J;function ie(A){this.options=LA.assign({chunkSize:65536,windowBits:15,to:""},A||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||A&&A.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NA,this.strm.avail_out=0;let e=Nt.inflateInit2(this.strm,t.windowBits);if(e!==Xt)throw new Error(L[e]);if(this.header=new Zt,Nt.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=vA.string2buf(t.dictionary):"[object ArrayBuffer]"===jt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=Nt.inflateSetDictionary(this.strm,t.dictionary),e!==Xt)))throw new Error(L[e])}function se(A,t){const e=new ie(t);if(e.push(A),e.err)throw e.msg||L[e.err];return e.result}ie.prototype.push=function(A,t){const e=this.strm,i=this.options.chunkSize,s=this.options.dictionary;let a,n,h;if(this.ended)return!1;for(n=t===~~t?t:!0===t?qt:Wt,"[object ArrayBuffer]"===jt.call(A)?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),a=Nt.inflate(e,n),a===$t&&s&&(a=Nt.inflateSetDictionary(e,s),a===Xt?a=Nt.inflate(e,n):a===te&&(a=$t));e.avail_in>0&&a===Vt&&e.state.wrap>0&&0!==A[e.next_in];)Nt.inflateReset(e),a=Nt.inflate(e,n);switch(a){case Ae:case te:case $t:case ee:return this.onEnd(a),this.ended=!0,!1}if(h=e.avail_out,e.next_out&&(0===e.avail_out||a===Vt))if("string"===this.options.to){let A=vA.utf8border(e.output,e.next_out),t=e.next_out-A,s=vA.buf2string(e.output,A);e.next_out=t,e.avail_out=i-t,t&&e.output.set(e.output.subarray(A,A+t),0),this.onData(s)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(a!==Xt||0!==h){if(a===Vt)return a=Nt.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===e.avail_in)break}}return!0},ie.prototype.onData=function(A){this.chunks.push(A)},ie.prototype.onEnd=function(A){A===Xt&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=LA.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var ae={Inflate:ie,inflate:se,inflateRaw:function(A,t){return(t=t||{}).raw=!0,se(A,t)},ungzip:se,constants:J};const{Deflate:ne,deflate:he,deflateRaw:re,gzip:Ee}=at,{Inflate:ge,inflate:oe,inflateRaw:Be,ungzip:we}=ae;var ce=he,Ie=ge;class Ce{constructor(A,t=!1,e=!0){this.device=A,this.tracing=t,this.slipReaderEnabled=!1,this.leftOver=new Uint8Array(0),this.baudrate=0,this.traceLog="",this.lastTraceTime=Date.now(),this._DTR_state=!1,this.slipReaderEnabled=e}getInfo(){const A=this.device.getInfo();return A.usbVendorId&&A.usbProductId?`WebSerial VendorID 0x${A.usbVendorId.toString(16)} ProductID 0x${A.usbProductId.toString(16)}`:""}getPid(){return this.device.getInfo().usbProductId}trace(A){const t=`${`TRACE ${(Date.now()-this.lastTraceTime).toFixed(3)}`} ${A}`;console.log(t),this.traceLog+=t+"\n"}async returnTrace(){try{await navigator.clipboard.writeText(this.traceLog),console.log("Text copied to clipboard!")}catch(A){console.error("Failed to copy text:",A)}}hexify(A){return Array.from(A).map((A=>A.toString(16).padStart(2,"0"))).join("").padEnd(16," ")}hexConvert(A,t=!0){if(t&&A.length>16){let t="",e=A;for(;e.length>0;){const A=e.slice(0,16),i=String.fromCharCode(...A).split("").map((A=>" "===A||A>=" "&&A<="~"&&" "!==A?A:".")).join("");e=e.slice(16),t+=`\n ${this.hexify(A.slice(0,8))} ${this.hexify(A.slice(8))} | ${i}`}return t}return this.hexify(A)}slipWriter(A){const t=[];t.push(192);for(let e=0;e0)return A;i=this.leftOver,this.leftOver=new Uint8Array(0)}if(null==this.device.readable)return this.leftOver;this.reader=this.device.readable.getReader();try{A>0&&(e=setTimeout((()=>{this.reader&&this.reader.cancel()}),A));do{const{value:A,done:t}=await this.reader.read();if(t)throw this.leftOver=i,new Error("Timeout");i=new Uint8Array(this._appendBuffer(i.buffer,A.buffer))}while(i.length0&&clearTimeout(e),this.reader.releaseLock()}if(this.tracing&&(console.log("Read bytes"),this.trace(`Read ${i.length} bytes: ${this.hexConvert(i)}`)),this.slipReaderEnabled){const A=this.slipReader(i);return this.tracing&&(console.log("Slip reader results"),this.trace(`Read ${A.length} bytes: ${this.hexConvert(A)}`)),A}return i}async rawRead(A=0){if(0!=this.leftOver.length){const A=this.leftOver;return this.leftOver=new Uint8Array(0),A}if(!this.device.readable)return this.leftOver;let t;this.reader=this.device.readable.getReader();try{A>0&&(t=setTimeout((()=>{this.reader&&this.reader.cancel()}),A));const{value:e,done:i}=await this.reader.read();return i||this.tracing&&(console.log("Raw Read bytes"),this.trace(`Read ${e.length} bytes: ${this.hexConvert(e)}`)),e}finally{A>0&&clearTimeout(t),this.reader.releaseLock()}}async setRTS(A){await this.device.setSignals({requestToSend:A}),await this.setDTR(this._DTR_state)}async setDTR(A){this._DTR_state=A,await this.device.setSignals({dataTerminalReady:A})}async connect(A=115200,t={}){await this.device.open({baudRate:A,dataBits:null==t?void 0:t.dataBits,stopBits:null==t?void 0:t.stopBits,bufferSize:null==t?void 0:t.bufferSize,parity:null==t?void 0:t.parity,flowControl:null==t?void 0:t.flowControl}),this.baudrate=A,this.leftOver=new Uint8Array(0)}async sleep(A){return new Promise((t=>setTimeout(t,A)))}async waitForUnlock(A){for(;this.device.readable&&this.device.readable.locked||this.device.writable&&this.device.writable.locked;)await this.sleep(A)}async disconnect(){var A,t;(null===(A=this.device.readable)||void 0===A?void 0:A.locked)&&await(null===(t=this.reader)||void 0===t?void 0:t.cancel()),await this.waitForUnlock(400),this.reader=void 0,await this.device.close()}}function le(A){return new Promise((t=>setTimeout(t,A)))}async function _e(A,t=50){await A.setDTR(!1),await A.setRTS(!0),await le(100),await A.setDTR(!0),await A.setRTS(!1),await le(t),await A.setDTR(!1)}async function de(A){await A.setRTS(!1),await A.setDTR(!1),await le(100),await A.setDTR(!0),await A.setRTS(!1),await le(100),await A.setRTS(!0),await A.setDTR(!1),await A.setRTS(!0),await le(100),await A.setRTS(!1),await A.setDTR(!1)}async function De(A,t=!1){t?(await le(200),await A.setRTS(!1),await le(200)):(await le(100),await A.setRTS(!1))}function Me(A){const t=["D","R","W"],e=A.split("|");for(const A of e){const e=A[0],i=A.slice(1);if(!t.includes(e))return!1;if("D"===e||"R"===e){if("0"!==i&&"1"!==i)return!1}else if("W"===e){const A=parseInt(i);if(isNaN(A)||A<=0)return!1}}return!0}async function Qe(A,t){const e={D:async t=>await A.setDTR(t),R:async t=>await A.setRTS(t),W:async A=>await le(A)};try{if(!Me(t))return;const A=t.split("|");for(const t of A){const A=t[0],i=t.slice(1);"W"===A?await e.W(Number(i)):"D"!==A&&"R"!==A||await e[A]("1"===i)}}catch(A){throw new Error("Invalid custom reset sequence")}}var Se=function(A){return atob(A)};class Re{constructor(A){this.ESP_RAM_BLOCK=6144,this.ESP_FLASH_BEGIN=2,this.ESP_FLASH_DATA=3,this.ESP_FLASH_END=4,this.ESP_MEM_BEGIN=5,this.ESP_MEM_END=6,this.ESP_MEM_DATA=7,this.ESP_WRITE_REG=9,this.ESP_READ_REG=10,this.ESP_SPI_ATTACH=13,this.ESP_CHANGE_BAUDRATE=15,this.ESP_FLASH_DEFL_BEGIN=16,this.ESP_FLASH_DEFL_DATA=17,this.ESP_FLASH_DEFL_END=18,this.ESP_SPI_FLASH_MD5=19,this.ESP_ERASE_FLASH=208,this.ESP_ERASE_REGION=209,this.ESP_READ_FLASH=210,this.ESP_RUN_USER_CODE=211,this.ESP_IMAGE_MAGIC=233,this.ESP_CHECKSUM_MAGIC=239,this.ROM_INVALID_RECV_MSG=5,this.ERASE_REGION_TIMEOUT_PER_MB=3e4,this.ERASE_WRITE_TIMEOUT_PER_MB=4e4,this.MD5_TIMEOUT_PER_MB=8e3,this.CHIP_ERASE_TIMEOUT=12e4,this.FLASH_READ_TIMEOUT=1e5,this.MAX_TIMEOUT=2*this.CHIP_ERASE_TIMEOUT,this.CHIP_DETECT_MAGIC_REG_ADDR=1073745920,this.DETECTED_FLASH_SIZES={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB"},this.DETECTED_FLASH_SIZES_NUM={18:256,19:512,20:1024,21:2048,22:4096,23:8192,24:16384},this.USB_JTAG_SERIAL_PID=4097,this.romBaudrate=115200,this.debugLogging=!1,this.syncStubDetected=!1,this.checksum=function(A){let t,e=239;for(t=0;tsetTimeout(t,A)))}write(A,t=!0){this.terminal?t?this.terminal.writeLine(A):this.terminal.write(A):console.log(A)}error(A,t=!0){this.write(`Error: ${A}`,t)}info(A,t=!0){this.write(A,t)}debug(A,t=!0){this.debugLogging&&this.write(`Debug: ${A}`,t)}_shortToBytearray(A){return new Uint8Array([255&A,A>>8&255])}_intToByteArray(A){return new Uint8Array([255&A,A>>8&255,A>>16&255,A>>24&255])}_byteArrayToShort(A,t){return A|t>>8}_byteArrayToInt(A,t,e,i){return A|t<<8|e<<16|i<<24}_appendBuffer(A,t){const e=new Uint8Array(A.byteLength+t.byteLength);return e.set(new Uint8Array(A),0),e.set(new Uint8Array(t),A.byteLength),e.buffer}_appendArray(A,t){const e=new Uint8Array(A.length+t.length);return e.set(A,0),e.set(t,A.length),e}ui8ToBstr(A){let t="";for(let e=0;e0&&(a=this._appendArray(a,this._intToByteArray(this.chip.UART_DATE_REG_ADDR)),a=this._appendArray(a,this._intToByteArray(0)),a=this._appendArray(a,this._intToByteArray(0)),a=this._appendArray(a,this._intToByteArray(s))),await this.checkCommand("write target memory",this.ESP_WRITE_REG,a)}async sync(){this.debug("Sync");const A=new Uint8Array(36);let t;for(A[0]=7,A[1]=7,A[2]=18,A[3]=32,t=0;t<32;t++)A[4+t]=85;try{const t=await this.command(8,A,void 0,void 0,100);return this.syncStubDetected=this.syncStubDetected&&0===t[0],t}catch(A){throw this.debug("Sync err "+A),A}}async _connectAttempt(A="default_reset",t=!1){if(this.debug("_connect_attempt "+A+" "+t),"no_reset"!==A)if(this.transport.getPid()===this.USB_JTAG_SERIAL_PID)await de(this.transport);else{const A=t?"D0|R1|W100|W2000|D1|R0|W50|D0":"D0|R1|W100|D1|R0|W50|D0";await Qe(this.transport,A)}let e=0,i=!0;for(;i;){try{e+=(await this.transport.read(1e3)).length}catch(A){if(this.debug(A.message),A instanceof Error){i=!1;break}}await this._sleep(50)}for(this.transport.slipReaderEnabled=!0,this.syncStubDetected=!0,e=7;e--;){try{const A=await this.sync();return this.debug(A[0].toString()),"success"}catch(A){A instanceof Error&&(t?this.info("_",!1):this.info(".",!1))}await this._sleep(50)}return"error"}async connect(t="default_reset",e=7,i=!1){let s,a;for(this.info("Connecting...",!1),await this.transport.connect(this.romBaudrate,this.serialOptions),s=0;s>>0;this.debug("Chip Magic "+t.toString(16));const e=await async function(A){switch(A){case 15736195:{const{ESP32ROM:A}=await Promise.resolve().then((function(){return He}));return new A}case 1867591791:case 2084675695:{const{ESP32C2ROM:A}=await Promise.resolve().then((function(){return ve}));return new A}case 1763790959:case 456216687:case 1216438383:case 1130455151:{const{ESP32C3ROM:A}=await Promise.resolve().then((function(){return Ye}));return new A}case 752910447:{const{ESP32C6ROM:A}=await Promise.resolve().then((function(){return Xe}));return new A}case 3619110528:{const{ESP32H2ROM:A}=await Promise.resolve().then((function(){return ii}));return new A}case 9:{const{ESP32S3ROM:A}=await Promise.resolve().then((function(){return Ei}));return new A}case 1990:{const{ESP32S2ROM:A}=await Promise.resolve().then((function(){return Ii}));return new A}case 4293968129:{const{ESP8266ROM:A}=await Promise.resolve().then((function(){return Mi}));return new A}case 0:case 182303440:case 117676761:{const{ESP32P4ROM:A}=await Promise.resolve().then((function(){return ui}));return new A}default:return null}}(t);if(null===this.chip)throw new A(`Unexpected CHIP magic value ${t}. Failed to autodetect chip type.`);this.chip=e}}async detectChip(A="default_reset"){await this.connect(A),this.info("Detecting chip type... ",!1),null!=this.chip?this.info(this.chip.CHIP_NAME):this.info("unknown!")}async checkCommand(A="",t=null,e=new Uint8Array(0),i=0,s=3e3){this.debug("check_command "+A);const a=await this.command(t,e,i,void 0,s);return a[1].length>4?a[1]:a[0]}async memBegin(A,t,e,i){this.debug("mem_begin "+A+" "+t+" "+e+" "+i.toString(16));let s=this._appendArray(this._intToByteArray(A),this._intToByteArray(t));s=this._appendArray(s,this._intToByteArray(e)),s=this._appendArray(s,this._intToByteArray(i)),await this.checkCommand("enter RAM download mode",this.ESP_MEM_BEGIN,s)}async memBlock(A,t){let e=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));e=this._appendArray(e,this._intToByteArray(0)),e=this._appendArray(e,this._intToByteArray(0)),e=this._appendArray(e,A);const i=this.checksum(A);await this.checkCommand("write to target RAM",this.ESP_MEM_DATA,e,i)}async memFinish(A){const t=0===A?1:0,e=this._appendArray(this._intToByteArray(t),this._intToByteArray(A));await this.checkCommand("leave RAM download mode",this.ESP_MEM_END,e,void 0,50)}async flashSpiAttach(A){const t=this._intToByteArray(A);await this.checkCommand("configure SPI flash pins",this.ESP_SPI_ATTACH,t)}async flashBegin(A,t){const e=Math.floor((A+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),i=this.chip.getEraseSize(t,A),s=new Date,a=s.getTime();let n=3e3;0==this.IS_STUB&&(n=this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB,A)),this.debug("flash begin "+i+" "+e+" "+this.FLASH_WRITE_SIZE+" "+t+" "+A);let h=this._appendArray(this._intToByteArray(i),this._intToByteArray(e));h=this._appendArray(h,this._intToByteArray(this.FLASH_WRITE_SIZE)),h=this._appendArray(h,this._intToByteArray(t)),0==this.IS_STUB&&(h=this._appendArray(h,this._intToByteArray(0))),await this.checkCommand("enter Flash download mode",this.ESP_FLASH_BEGIN,h,void 0,n);const r=s.getTime();return 0!=A&&0==this.IS_STUB&&this.info("Took "+(r-a)/1e3+"."+(r-a)%1e3+"s to erase flash block"),e}async flashDeflBegin(A,t,e){const i=Math.floor((t+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),s=Math.floor((A+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),a=new Date,n=a.getTime();let h,r;this.IS_STUB?(h=A,r=3e3):(h=s*this.FLASH_WRITE_SIZE,r=this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB,h)),this.info("Compressed "+A+" bytes to "+t+"...");let E=this._appendArray(this._intToByteArray(h),this._intToByteArray(i));E=this._appendArray(E,this._intToByteArray(this.FLASH_WRITE_SIZE)),E=this._appendArray(E,this._intToByteArray(e)),"ESP32-S2"!==this.chip.CHIP_NAME&&"ESP32-S3"!==this.chip.CHIP_NAME&&"ESP32-C3"!==this.chip.CHIP_NAME&&"ESP32-C2"!==this.chip.CHIP_NAME||!1!==this.IS_STUB||(E=this._appendArray(E,this._intToByteArray(0))),await this.checkCommand("enter compressed flash mode",this.ESP_FLASH_DEFL_BEGIN,E,void 0,r);const g=a.getTime();return 0!=A&&!1===this.IS_STUB&&this.info("Took "+(g-n)/1e3+"."+(g-n)%1e3+"s to erase flash block"),i}async flashBlock(A,t,e){let i=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,A);const s=this.checksum(A);await this.checkCommand("write to target Flash after seq "+t,this.ESP_FLASH_DATA,i,s,e)}async flashDeflBlock(A,t,e){let i=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,A);const s=this.checksum(A);this.debug("flash_defl_block "+A[0].toString(16)+" "+A[1].toString(16)),await this.checkCommand("write compressed data to flash after seq "+t,this.ESP_FLASH_DEFL_DATA,i,s,e)}async flashFinish(A=!1){const t=A?0:1,e=this._intToByteArray(t);await this.checkCommand("leave Flash mode",this.ESP_FLASH_END,e)}async flashDeflFinish(A=!1){const t=A?0:1,e=this._intToByteArray(t);await this.checkCommand("leave compressed flash mode",this.ESP_FLASH_DEFL_END,e)}async runSpiflashCommand(t,e,i){const s=this.chip.SPI_REG_BASE,a=s+0,n=s+this.chip.SPI_USR_OFFS,h=s+this.chip.SPI_USR1_OFFS,r=s+this.chip.SPI_USR2_OFFS,E=s+this.chip.SPI_W0_OFFS;let g;g=null!=this.chip.SPI_MOSI_DLEN_OFFS?async(A,t)=>{const e=s+this.chip.SPI_MOSI_DLEN_OFFS,i=s+this.chip.SPI_MISO_DLEN_OFFS;A>0&&await this.writeReg(e,A-1),t>0&&await this.writeReg(i,t-1)}:async(A,t)=>{const e=h,i=(0===t?0:t-1)<<8|(0===A?0:A-1)<<17;await this.writeReg(e,i)};const o=1<<18;if(i>32)throw new A("Reading more than 32 bits back from a SPI flash operation is unsupported");if(e.length>64)throw new A("Writing more than 64 bytes of data with one SPI command is unsupported");const B=8*e.length,w=await this.readReg(n),c=await this.readReg(r);let I,C=1<<31;i>0&&(C|=268435456),B>0&&(C|=134217728),await g(B,i),await this.writeReg(n,C);let l=7<<28|t;if(await this.writeReg(r,l),0==B)await this.writeReg(E,0);else{if(e.length%4!=0){const A=new Uint8Array(e.length%4);e=this._appendArray(e,A)}let A=E;for(I=0;I("00"+A.toString(16)).slice(-2))).join("")}async flashMd5sum(A,t){const e=this.timeoutPerMb(this.MD5_TIMEOUT_PER_MB,t);let i=this._appendArray(this._intToByteArray(A),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0));let s=await this.checkCommand("calculate md5sum",this.ESP_SPI_FLASH_MD5,i,void 0,e);s instanceof Uint8Array&&s.length>16&&(s=s.slice(0,16));return this.toHex(s)}async readFlash(t,e,i=null){let s=this._appendArray(this._intToByteArray(t),this._intToByteArray(e));s=this._appendArray(s,this._intToByteArray(4096)),s=this._appendArray(s,this._intToByteArray(1024));const a=await this.checkCommand("read flash",this.ESP_READ_FLASH,s);if(0!=a)throw new A("Failed to read memory: "+a);let n=new Uint8Array(0);for(;n.length0&&(n=this._appendArray(n,t),await this.transport.write(this._intToByteArray(n.length)),i&&i(t,n.length,e))}return n}async runStub(){if(this.syncStubDetected)return this.info("Stub is already running. No upload is necessary."),this.chip;this.info("Uploading stub...");let t=Se(this.chip.ROM_TEXT),e=t.split("").map((function(A){return A.charCodeAt(0)}));const i=new Uint8Array(e);t=Se(this.chip.ROM_DATA),e=t.split("").map((function(A){return A.charCodeAt(0)}));const s=new Uint8Array(e);let a,n=Math.floor((i.length+this.ESP_RAM_BLOCK-1)/this.ESP_RAM_BLOCK);for(await this.memBegin(i.length,n,this.ESP_RAM_BLOCK,this.chip.TEXT_START),a=0;ae)throw new A(`File ${i+1} doesn't fit in the available flash`)}let e,i;!0===this.IS_STUB&&!0===t.eraseAll&&await this.eraseFlash();for(let s=0;s0&&(e+="ÿÿÿÿ".substring(4-a)),i=t.fileArray[s].address,this.debug("Image Length "+e.length),0===e.length){this.debug("Warning: File is empty");continue}e=this._updateImageFlashParams(e,i,t.flashSize,t.flashMode,t.flashFreq);let n=null;t.calculateMD5Hash&&(n=t.calculateMD5Hash(e),this.debug("Image MD5 "+n));const h=e.length;let r;if(t.compress){const A=this.bstrToUi8(e);e=this.ui8ToBstr(ce(A,{level:9})),r=await this.flashDeflBegin(h,e.length,i)}else r=await this.flashBegin(h,i);let E=0,g=0;const o=e.length;t.reportProgress&&t.reportProgress(s,0,o);let B=new Date;const w=B.getTime();let c=5e3;const I=new Ie({chunkSize:1});let C=0;for(I.onData=function(A){C+=A.byteLength};e.length>0;){this.debug("Write loop "+i+" "+E+" "+r),this.info("Writing at 0x"+(i+C).toString(16)+"... ("+Math.floor(100*(E+1)/r)+"%)");const a=this.bstrToUi8(e.slice(0,this.FLASH_WRITE_SIZE));if(!t.compress)throw new A("Yet to handle Non Compressed writes");{const A=C;I.push(a,!1);const t=C-A;let e=3e3;this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB,t)>3e3&&(e=this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB,t)),!1===this.IS_STUB&&(c=e),await this.flashDeflBlock(a,E,c),this.IS_STUB&&(c=e)}g+=a.length,e=e.slice(this.FLASH_WRITE_SIZE,e.length),E++,t.reportProgress&&t.reportProgress(s,g,o)}this.IS_STUB&&await this.readReg(this.CHIP_DETECT_MAGIC_REG_ADDR,c),B=new Date;const l=B.getTime()-w;if(t.compress&&this.info("Wrote "+h+" bytes ("+g+" compressed) at 0x"+i.toString(16)+" in "+l/1e3+" seconds."),n){const t=await this.flashMd5sum(i,h);if(new String(t).valueOf()!=new String(n).valueOf())throw this.info("File md5: "+n),this.info("Flash md5: "+t),new A("MD5 of file does not match data in flash!");this.info("Hash of data verified.")}}this.info("Leaving..."),this.IS_STUB&&(await this.flashBegin(0,0),t.compress?await this.flashDeflFinish():await this.flashFinish())}async flashId(){this.debug("flash_id");const A=await this.readFlashId();this.info("Manufacturer: "+(255&A).toString(16));const t=A>>16&255;this.info("Device: "+(A>>8&255).toString(16)+t.toString(16)),this.info("Detected flash size: "+this.DETECTED_FLASH_SIZES[t])}async getFlashSize(){this.debug("flash_id");const A=await this.readFlashId()>>16&255;return this.DETECTED_FLASH_SIZES_NUM[A]}async hardReset(){await this.transport.setRTS(!0),await this._sleep(100),await this.transport.setRTS(!1)}async softReset(){if(this.IS_STUB){if("ESP8266"!=this.chip.CHIP_NAME)throw new A("Soft resetting is currently only supported on ESP8266");await this.command(this.ESP_RUN_USER_CODE,void 0,void 0,!1)}else await this.flashBegin(0,0),await this.flashFinish(!1)}}class fe{getEraseSize(A,t){return t}}var Fe=1074521560,ue="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",Te=1074520064,ye="GOv8P9jnC0Bx6AtA8+wLQO3oC0CP6AtA7egLQEnpC0AG6gtAeOoLQCHqC0CB5wtAo+kLQPjpC0Bn6QtAmuoLQI7pC0Ca6gtAXegLQLPoC0Dt6AtASekLQHfoC0BM6wtAs+wLQKXmC0DX7AtApeYLQKXmC0Cl5gtApeYLQKXmC0Cl5gtApeYLQKXmC0Dz6gtApeYLQM3rC0Cz7AtA",pe=1073605544;class ke extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32",this.IMAGE_CHIP_ID=0,this.EFUSE_RD_REG_BASE=1073061888,this.DR_REG_SYSCON_BASE=1073111040,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.XTAL_CLK_DIVIDER=1,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.SPI_REG_BASE=1072963584,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_W0_OFFS=128,this.SPI_MOSI_DLEN_OFFS=40,this.SPI_MISO_DLEN_OFFS=44,this.TEXT_START=Te,this.ENTRY=Fe,this.DATA_START=pe,this.ROM_DATA=ye,this.ROM_TEXT=ue}async readEfuse(A,t){const e=this.EFUSE_RD_REG_BASE+4*t;return A.debug("Read efuse "+e),await A.readReg(e)}async getPkgVersion(A){const t=await this.readEfuse(A,3);let e=t>>9&7;return e+=(t>>2&1)<<3,e}async getChipRevision(A){const t=await this.readEfuse(A,3),e=await this.readEfuse(A,5),i=await A.readReg(this.DR_REG_SYSCON_BASE+124);return 0!=(t>>15&1)?0!=(e>>20&1)?0!=(i>>31&1)?3:2:1:0}async getChipDescription(A){const t=["ESP32-D0WDQ6","ESP32-D0WD","ESP32-D2WD","","ESP32-U4WDH","ESP32-PICO-D4","ESP32-PICO-V3-02"];let e="";const i=await this.getPkgVersion(A),s=await this.getChipRevision(A),a=3==s;return 0!=(1&await this.readEfuse(A,3))&&(t[0]="ESP32-S0WDQ6",t[1]="ESP32-S0WD"),a&&(t[5]="ESP32-PICO-V3"),e=i>=0&&i<=6?t[i]:"Unknown ESP32",!a||0!==i&&1!==i||(e+="-V3"),e+" (revision "+s+")"}async getChipFeatures(A){const t=["Wi-Fi"],e=await this.readEfuse(A,3);0===(2&e)&&t.push(" BT");0!==(1&e)?t.push(" Single Core"):t.push(" Dual Core");if(0!==(8192&e)){0!==(4096&e)?t.push(" 160MHz"):t.push(" 240MHz")}const i=await this.getPkgVersion(A);-1!==[2,4,5,6].indexOf(i)&&t.push(" Embedded Flash"),6===i&&t.push(" Embedded PSRAM");0!==(await this.readEfuse(A,4)>>8&31)&&t.push(" VRef calibration in efuse");0!==(e>>14&1)&&t.push(" BLK3 partially reserved");const s=3&await this.readEfuse(A,6);return t.push(" Coding Scheme "+["None","3/4","Repeat (UNSUPPORTED)","Invalid"][s]),t}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info("WARNING: Unsupported crystal in use"),i}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await this.readEfuse(A,1);t>>>=0;let e=await this.readEfuse(A,2);e>>>=0;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}}var He=Object.freeze({__proto__:null,ESP32ROM:ke}),Pe=1077413532,me="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",Oe=1077411840,Ge="IGvIP3YKOEDGCjhAHgs4QMILOEAuDDhA3As4QEIJOEB+CzhAvgs4QDILOEDyCDhAZgs4QPIIOEBQCjhAlgo4QMYKOEAeCzhAYgo4QKYJOEDWCThAXgo4QIAOOEDGCjhARg04QDgOOEAyCDhAYA44QDIIOEAyCDhAMgg4QDIIOEAyCDhAMgg4QDIIOEAyCDhA4gw4QDIIOEBkDThAOA44QA==",Ue=1070164912;class be extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32-C3",this.IMAGE_CHIP_ID=5,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=Oe,this.ENTRY=Pe,this.DATA_START=Ue,this.ROM_DATA=Ge,this.ROM_TEXT=me}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&7}async getChipRevision(A){const t=this.EFUSE_BASE+68+12;return(await A.readReg(t)&7<<18)>>18}async getChipDescription(A){let t;t=0===await this.getPkgVersion(A)?"ESP32-C3":"unknown ESP32-C3";return t+=" (revision "+await this.getChipRevision(A)+")",t}async getChipFeatures(A){return["Wi-Fi"]}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}var Ye=Object.freeze({__proto__:null,ESP32C3ROM:be}),Ke=1077413304,xe="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",Le=1077411840,Je="DEDKP+AIOEAsCThAhAk4QFIKOEC+CjhAbAo4QKgHOEAOCjhATgo4QJgJOEBYBzhAzAk4QFgHOEC6CDhA/gg4QCwJOECECThAzAg4QBIIOEBCCDhAyAg4QBYNOEAsCThA1gs4QMoMOECkBjhA9Aw4QKQGOECkBjhApAY4QKQGOECkBjhApAY4QKQGOECkBjhAcgs4QKQGOEDyCzhAygw4QA==",ze=1070295976;var ve=Object.freeze({__proto__:null,ESP32C2ROM:class extends be{constructor(){super(...arguments),this.CHIP_NAME="ESP32-C2",this.IMAGE_CHIP_ID=12,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+64,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.XTAL_CLK_DIVIDER=1,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=Le,this.ENTRY=Ke,this.DATA_START=ze,this.ROM_DATA=Je,this.ROM_TEXT=xe}async getPkgVersion(A){const t=this.EFUSE_BASE+64+4;return await A.readReg(t)>>22&7}async getChipRevision(A){const t=this.EFUSE_BASE+64+4;return(await A.readReg(t)&3<<20)>>20}async getChipDescription(A){let t;const e=await this.getPkgVersion(A);t=0===e||1===e?"ESP32-C2":"unknown ESP32-C2";return t+=" (revision "+await this.getChipRevision(A)+")",t}async getChipFeatures(A){return["Wi-Fi","BLE"]}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info("WARNING: Unsupported crystal in use"),i}async changeBaudRate(A){26===await this.getCrystalFreq(A)&&A.changeBaud()}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),Ne=1082132112,Ze="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",je=1082130432,We="HCuEQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQEwOgECSCoBAEg2AQAQOgED+B4BALA6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBABA6AQA==",qe=1082469292;var Xe=Object.freeze({__proto__:null,ESP32C6ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32-C6",this.IMAGE_CHIP_ID=13,this.EFUSE_BASE=1611335680,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=je,this.ENTRY=Ne,this.DATA_START=qe,this.ROM_DATA=We,this.ROM_TEXT=Ze}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&7}async getChipRevision(A){const t=this.EFUSE_BASE+68+12;return(await A.readReg(t)&7<<18)>>18}async getChipDescription(A){let t;t=0===await this.getPkgVersion(A)?"ESP32-C6":"unknown ESP32-C6";return t+=" (revision "+await this.getChipRevision(A)+")",t}async getChipFeatures(A){return["Wi-Fi"]}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),Ve=1082132112,$e="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",Ai=1082130432,ti="EACDQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQFIOgECSCoBAEg2AQAoOgED+B4BAMg6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBACg6AQA==",ei=1082403756;var ii=Object.freeze({__proto__:null,ESP32H2ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32-H2",this.IMAGE_CHIP_ID=16,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.USB_RAM_BLOCK=2048,this.UARTDEV_BUF_NO_USB=3,this.UARTDEV_BUF_NO=1070526796,this.TEXT_START=Ai,this.ENTRY=Ve,this.DATA_START=ei,this.ROM_DATA=ti,this.ROM_TEXT=$e}async getChipDescription(A){return this.CHIP_NAME}async getChipFeatures(A){return["BLE","IEEE802.15.4"]}async getCrystalFreq(A){return 32}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async postConnect(A){const t=255&await A.readReg(this.UARTDEV_BUF_NO);A.debug("In _post_connect "+t),t==this.UARTDEV_BUF_NO_USB&&(A.ESP_RAM_BLOCK=this.USB_RAM_BLOCK)}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),si=1077381696,ai="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",ni=1077379072,hi="ZCvKP8qNN0CvjjdAcJM3QDqPN0DPjjdAOo83QJmPN0BmkDdA2ZA3QIGQN0BVjTdA/I83QFiQN0C8jzdA+5A3QOaPN0D7kDdAnY43QPqON0A6jzdAmY83QLWON0CWjTdAvJE3QDaTN0ByjDdAVpM3QHKMN0ByjDdAcow3QHKMN0ByjDdAcow3QHKMN0ByjDdAVpE3QHKMN0BRkjdANpM3QAQInwAAAAAAAAAYAQQIBQAAAAAAAAAIAQQIBgAAAAAAAAAAAQQIIQAAAAAAIAAAEQQI3AAAAAAAIAAAEQQIDAAAAAAAIAAAAQQIEgAAAAAAIAAAESAoDAAQAQAA",ri=1070279668;var Ei=Object.freeze({__proto__:null,ESP32S3ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32-S3",this.IMAGE_CHIP_ID=9,this.EFUSE_BASE=1610641408,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612864,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.USB_RAM_BLOCK=2048,this.UARTDEV_BUF_NO_USB=3,this.UARTDEV_BUF_NO=1070526796,this.TEXT_START=ni,this.ENTRY=si,this.DATA_START=ri,this.ROM_DATA=hi,this.ROM_TEXT=ai}async getChipDescription(A){return"ESP32-S3"}async getChipFeatures(A){return["Wi-Fi","BLE"]}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async postConnect(A){const t=255&await A.readReg(this.UARTDEV_BUF_NO);A.debug("In _post_connect "+t),t==this.UARTDEV_BUF_NO_USB&&(A.ESP_RAM_BLOCK=this.USB_RAM_BLOCK)}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),gi=1073907696,oi="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",Bi=1073905664,wi="ZCv9PzaLAkDBiwJAhpACQEqMAkDjiwJASowCQKmMAkByjQJA5Y0CQI2NAkDAigJAC40CQGSNAkDMjAJACI4CQPaMAkAIjgJAr4sCQA6MAkBKjAJAqYwCQMeLAkACiwJAx44CQD2QAkDYiQJAZZACQNiJAkDYiQJA2IkCQNiJAkDYiQJA2IkCQNiJAkDYiQJAZI4CQNiJAkBZjwJAPZACQA==",ci=1073622012;var Ii=Object.freeze({__proto__:null,ESP32S2ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP32-S2",this.IMAGE_CHIP_ID=2,this.MAC_EFUSE_REG=1061265476,this.EFUSE_BASE=1061265408,this.UART_CLKDIV_REG=1061158932,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.SPI_REG_BASE=1061167104,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_W0_OFFS=88,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.TEXT_START=Bi,this.ENTRY=gi,this.DATA_START=ci,this.ROM_DATA=wi,this.ROM_TEXT=oi}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&15}async getChipDescription(A){const t=["ESP32-S2","ESP32-S2FH16","ESP32-S2FH32"],e=await this.getPkgVersion(A);return e>=0&&e<=2?t[e]:"unknown ESP32-S2"}async getChipFeatures(A){const t=["Wi-Fi"],e=await this.getPkgVersion(A);1==e?t.push("Embedded 2MB Flash"):2==e&&t.push("Embedded 4MB Flash");const i=this.EFUSE_BASE+92+16;return 1==(await A.readReg(i)>>4&7)&&t.push("ADC and temperature sensor calibration in BLK2 of efuse"),t}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),Ci=1074843652,li="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",_i=1074843648,di="CIH+PwUFBAACAwcAAwMLALnXEEDv1xBAHdgQQLrYEEBo5xBAHtkQQHTZEEDA2RBAaOcQQILaEED/2hBAwNsQQGjnEEBo5xBAWNwQQGjnEEA33xBAAOAQQDvgEEBo5xBAaOcQQNfgEEBo5xBAv+EQQGXiEECj4xBAY+QQQDTlEEBo5xBAaOcQQGjnEEBo5xBAYuYQQGjnEEBX5xBAkN0QQI/YEECm5RBAq9oQQPzZEEBo5xBA7OYQQDHnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQCLaEEBf2hBAvuUQQAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAANAAAADwAAABEAAAATAAAAFwAAABsAAAAfAAAAIwAAACsAAAAzAAAAOwAAAEMAAABTAAAAYwAAAHMAAACDAAAAowAAAMMAAADjAAAAAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AAQEAAAEAAAAEAAAA",Di=1073720488;var Mi=Object.freeze({__proto__:null,ESP8266ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME="ESP8266",this.CHIP_DETECT_MAGIC_VALUE=[4293968129],this.EFUSE_RD_REG_BASE=1072693328,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.XTAL_CLK_DIVIDER=2,this.FLASH_WRITE_SIZE=16384,this.BOOTLOADER_FLASH_OFFSET=0,this.UART_DATE_REG_ADDR=0,this.FLASH_SIZES={"512KB":0,"256KB":16,"1MB":32,"2MB":48,"4MB":64,"2MB-c1":80,"4MB-c1":96,"8MB":128,"16MB":144},this.SPI_REG_BASE=1610613248,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_MOSI_DLEN_OFFS=0,this.SPI_MISO_DLEN_OFFS=0,this.SPI_W0_OFFS=64,this.TEXT_START=_i,this.ENTRY=Ci,this.DATA_START=Di,this.ROM_DATA=di,this.ROM_TEXT=li,this.getChipFeatures=async A=>{const t=["WiFi"];return"ESP8285"==await this.getChipDescription(A)&&t.push("Embedded Flash"),t}}async readEfuse(A,t){const e=this.EFUSE_RD_REG_BASE+4*t;return A.debug("Read efuse "+e),await A.readReg(e)}async getChipDescription(A){const t=await this.readEfuse(A,2);return 0!=(16&await this.readEfuse(A,0)|65536&t)?"ESP8285":"ESP8266EX"}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info("WARNING: Detected crystal freq "+e+"MHz is quite different to normalized freq "+i+"MHz. Unsupported crystal in use?"),i}_d2h(A){const t=(+A).toString(16);return 1===t.length?"0"+t:t}async readMac(A){let t=await this.readEfuse(A,0);t>>>=0;let e=await this.readEfuse(A,1);e>>>=0;let i=await this.readEfuse(A,3);i>>>=0;const s=new Uint8Array(6);return 0!=i?(s[0]=i>>16&255,s[1]=i>>8&255,s[2]=255&i):0==(e>>16&255)?(s[0]=24,s[1]=254,s[2]=52):1==(e>>16&255)?(s[0]=172,s[1]=208,s[2]=116):A.error("Unknown OUI"),s[3]=e>>8&255,s[4]=255&e,s[5]=t>>24&255,this._d2h(s[0])+":"+this._d2h(s[1])+":"+this._d2h(s[2])+":"+this._d2h(s[3])+":"+this._d2h(s[4])+":"+this._d2h(s[5])}getEraseSize(A,t){return t}}}),Qi=1341195918,Si="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",Ri=1341194240,fi="EAD1TwYK8U9WCvFPrgrxT4QL8U/wC/FPngvxT9QI8U9AC/FPgAvxT8IK8U+ECPFP9grxT4QI8U/gCfFPJgrxT1YK8U+uCvFP8gnxTzgJ8U9oCfFP7gnxT0AO8U9WCvFPCA3xTwAO8U/EB/FPJA7xT8QH8U/EB/FPxAfxT8QH8U/EB/FPxAfxT8QH8U/EB/FPpAzxT8QH8U8mDfFPAA7xTw==",Fi=1341533100;var ui=Object.freeze({__proto__:null,ESP32P4ROM:class extends ke{constructor(){super(...arguments),this.CHIP_NAME="ESP32-P4",this.IMAGE_CHIP_ID=18,this.IROM_MAP_START=1073741824,this.IROM_MAP_END=1275068416,this.DROM_MAP_START=1073741824,this.DROM_MAP_END=1275068416,this.BOOTLOADER_FLASH_OFFSET=8192,this.CHIP_DETECT_MAGIC_VALUE=[0,182303440],this.UART_DATE_REG_ADDR=1343004812,this.EFUSE_BASE=1343410176,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.SPI_REG_BASE=1342754816,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.EFUSE_RD_REG_BASE=this.EFUSE_BASE+48,this.EFUSE_PURPOSE_KEY0_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY0_SHIFT=24,this.EFUSE_PURPOSE_KEY1_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY1_SHIFT=28,this.EFUSE_PURPOSE_KEY2_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY2_SHIFT=0,this.EFUSE_PURPOSE_KEY3_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY3_SHIFT=4,this.EFUSE_PURPOSE_KEY4_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY4_SHIFT=8,this.EFUSE_PURPOSE_KEY5_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY5_SHIFT=12,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG=this.EFUSE_RD_REG_BASE,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT=1<<20,this.EFUSE_SPI_BOOT_CRYPT_CNT_REG=this.EFUSE_BASE+52,this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK=7<<18,this.EFUSE_SECURE_BOOT_EN_REG=this.EFUSE_BASE+56,this.EFUSE_SECURE_BOOT_EN_MASK=1<<20,this.PURPOSE_VAL_XTS_AES256_KEY_1=2,this.PURPOSE_VAL_XTS_AES256_KEY_2=3,this.PURPOSE_VAL_XTS_AES128_KEY=4,this.SUPPORTS_ENCRYPTED_FLASH=!0,this.FLASH_ENCRYPTED_WRITE_ALIGN=16,this.MEMORY_MAP=[[0,65536,"PADDING"],[1073741824,1275068416,"DROM"],[1341128704,1341784064,"DRAM"],[1341128704,1341784064,"BYTE_ACCESSIBLE"],[1337982976,1338114048,"DROM_MASK"],[1337982976,1338114048,"IROM_MASK"],[1073741824,1275068416,"IROM"],[1341128704,1341784064,"IRAM"],[1343258624,1343291392,"RTC_IRAM"],[1343258624,1343291392,"RTC_DRAM"],[1611653120,1611661312,"MEM_INTERNAL2"]],this.UF2_FAMILY_ID=1026592404,this.EFUSE_MAX_KEY=5,this.KEY_PURPOSES={0:"USER/EMPTY",1:"ECDSA_KEY",2:"XTS_AES_256_KEY_1",3:"XTS_AES_256_KEY_2",4:"XTS_AES_128_KEY",5:"HMAC_DOWN_ALL",6:"HMAC_DOWN_JTAG",7:"HMAC_DOWN_DIGITAL_SIGNATURE",8:"HMAC_UP",9:"SECURE_BOOT_DIGEST0",10:"SECURE_BOOT_DIGEST1",11:"SECURE_BOOT_DIGEST2",12:"KM_INIT_KEY"},this.TEXT_START=Ri,this.ENTRY=Qi,this.DATA_START=Fi,this.ROM_DATA=fi,this.ROM_TEXT=Si}async getPkgVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>27&7}async getMinorChipVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>0&15}async getMajorChipVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>4&3}async getChipDescription(A){return`${0===await this.getPkgVersion(A)?"ESP32-P4":"unknown ESP32-P4"} (revision v${await this.getMajorChipVersion(A)}.${await this.getMinorChipVersion(A)})`}async getChipFeatures(A){return["High-Performance MCU"]}async getCrystalFreq(A){return 40}async getFlashVoltage(A){}async overrideVddsdio(A){A.debug("VDD_SDIO overrides are not supported for ESP32-P4")}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[5])}async getFlashCryptConfig(A){}async getSecureBootEnabled(A){return await A.readReg(this.EFUSE_SECURE_BOOT_EN_REG)&this.EFUSE_SECURE_BOOT_EN_MASK}async getKeyBlockPurpose(A,t){if(t<0||t>this.EFUSE_MAX_KEY)return void A.debug(`Valid key block numbers must be in range 0-${this.EFUSE_MAX_KEY}`);const e=[[this.EFUSE_PURPOSE_KEY0_REG,this.EFUSE_PURPOSE_KEY0_SHIFT],[this.EFUSE_PURPOSE_KEY1_REG,this.EFUSE_PURPOSE_KEY1_SHIFT],[this.EFUSE_PURPOSE_KEY2_REG,this.EFUSE_PURPOSE_KEY2_SHIFT],[this.EFUSE_PURPOSE_KEY3_REG,this.EFUSE_PURPOSE_KEY3_SHIFT],[this.EFUSE_PURPOSE_KEY4_REG,this.EFUSE_PURPOSE_KEY4_SHIFT],[this.EFUSE_PURPOSE_KEY5_REG,this.EFUSE_PURPOSE_KEY5_SHIFT]],[i,s]=e[t];return await A.readReg(i)>>s&15}async isFlashEncryptionKeyValid(A){const t=[];for(let e=0;e<=this.EFUSE_MAX_KEY;e++){const i=await this.getKeyBlockPurpose(A,e);t.push(i)}if(void 0!==typeof t.find((A=>A===this.PURPOSE_VAL_XTS_AES128_KEY)))return!0;const e=t.find((A=>A===this.PURPOSE_VAL_XTS_AES256_KEY_1)),i=t.find((A=>A===this.PURPOSE_VAL_XTS_AES256_KEY_2));return void 0!==typeof e&&void 0!==typeof i}}});export{Re as ESPLoader,fe as ROM,Ce as Transport,_e as classicReset,Qe as customReset,De as hardReset,de as usbJTAGSerialReset,Me as validateCustomResetStringSequence}; diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/nrf52_dfu_flasher.js b/meshchatx/src/frontend/public/rnode-flasher/js/nrf52_dfu_flasher.js new file mode 100644 index 0000000..3065461 --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/nrf52_dfu_flasher.js @@ -0,0 +1,446 @@ +/** + * A Web Serial based nRF52 flasher written by liam@liamcottle.com based on dfu_transport.serial.py + * https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py + */ +class Nrf52DfuFlasher { + + DFU_TOUCH_BAUD = 1200; + SERIAL_PORT_OPEN_WAIT_TIME = 0.1; + TOUCH_RESET_WAIT_TIME = 1.5; + + FLASH_BAUD = 115200; + + HEX_TYPE_APPLICATION = 4; + + DFU_INIT_PACKET = 1; + DFU_START_PACKET = 3; + DFU_DATA_PACKET = 4; + DFU_STOP_DATA_PACKET = 5; + + DATA_INTEGRITY_CHECK_PRESENT = 1; + RELIABLE_PACKET = 1; + HCI_PACKET_TYPE = 14; + + FLASH_PAGE_SIZE = 4096; + FLASH_PAGE_ERASE_TIME = 0.0897; + FLASH_WORD_WRITE_TIME = 0.000100; + FLASH_PAGE_WRITE_TIME = (this.FLASH_PAGE_SIZE/4) * this.FLASH_WORD_WRITE_TIME; + + // The DFU packet max size + DFU_PACKET_MAX_SIZE = 512; + + constructor(serialPort) { + this.serialPort = serialPort; + this.sequenceNumber = 0; + this.sd_size = 0; + this.total_size = 0; + } + + /** + * Waits for the provided milliseconds, and then resolves. + * @param millis + * @returns {Promise} + */ + async sleepMillis(millis) { + await new Promise((resolve) => { + setTimeout(resolve, millis); + }); + } + + /** + * Writes the provided data to the Serial Port. + * @param data + * @returns {Promise} + */ + async sendPacket(data) { + const writer = this.serialPort.writable.getWriter(); + try { + await writer.write(new Uint8Array(data)); + } finally { + writer.releaseLock(); + } + } + + /** + * Puts an nRF52 board into DFU mode by quickly opening and closing a serial port. + * @returns {Promise} + */ + async enterDfuMode() { + + // open port + await this.serialPort.open({ + baudRate: this.DFU_TOUCH_BAUD, + }); + + // wait SERIAL_PORT_OPEN_WAIT_TIME before closing port + await this.sleepMillis(this.SERIAL_PORT_OPEN_WAIT_TIME * 1000); + + // close port + await this.serialPort.close(); + + // wait TOUCH_RESET_WAIT_TIME for device to enter into DFU mode + await this.sleepMillis(this.TOUCH_RESET_WAIT_TIME * 1000); + + } + + /** + * Flashes the provided firmware zip. + * @param firmwareZipBlob + * @param progressCallback + * @returns {Promise} + */ + async flash(firmwareZipBlob, progressCallback) { + + // read zip file + const blobReader = new window.zip.BlobReader(firmwareZipBlob); + const zipReader = new window.zip.ZipReader(blobReader); + const zipEntries = await zipReader.getEntries(); + + // find manifest file + const manifestFile = zipEntries.find((zipEntry) => zipEntry.filename === "manifest.json"); + if(!manifestFile){ + throw "manifest.json not found in firmware file!"; + } + + // read manifest file as text + const text = await manifestFile.getData(new window.zip.TextWriter()); + + // parse manifest json + const json = JSON.parse(text); + const manifest = json.manifest; + + // todo softdevice_bootloader + // if self.manifest.softdevice_bootloader: + // self._dfu_send_image(HexType.SD_BL, self.manifest.softdevice_bootloader) + + // todo softdevice + // if self.manifest.softdevice: + // self._dfu_send_image(HexType.SOFTDEVICE, self.manifest.softdevice) + + // todo bootloader + // if self.manifest.bootloader: + // self._dfu_send_image(HexType.BOOTLOADER, self.manifest.bootloader) + + // flash application image + if(manifest.application){ + await this.dfuSendImage(this.HEX_TYPE_APPLICATION, zipEntries, manifest.application, progressCallback); + } + + } + + /** + * Sends the firmware image to the device in DFU mode. + * @param programMode + * @param zipEntries + * @param firmwareManifest + * @param progressCallback + * @returns {Promise} + */ + async dfuSendImage(programMode, zipEntries, firmwareManifest, progressCallback) { + + // open port + await this.serialPort.open({ + baudRate: this.FLASH_BAUD, + }); + + // wait SERIAL_PORT_OPEN_WAIT_TIME + await this.sleepMillis(this.SERIAL_PORT_OPEN_WAIT_TIME * 1000); + + // file sizes + var softdeviceSize = 0 + var bootloaderSize = 0 + var applicationSize = 0 + + // read bin file (firmware) + const binFile = zipEntries.find((zipEntry) => zipEntry.filename === firmwareManifest.bin_file); + const firmware = await binFile.getData(new window.zip.Uint8ArrayWriter()); + + // read dat file (init packet) + const datFile = zipEntries.find((zipEntry) => zipEntry.filename === firmwareManifest.dat_file); + const init_packet = await datFile.getData(new window.zip.Uint8ArrayWriter()); + + // only support flashing application for now + if(programMode !== this.HEX_TYPE_APPLICATION){ + throw "not implemented"; + } + + // determine application size + if(programMode === this.HEX_TYPE_APPLICATION){ + applicationSize = firmware.length; + } + + console.log("Sending DFU start packet"); + await this.sendStartDfu(programMode, softdeviceSize, bootloaderSize, applicationSize); + + console.log("Sending DFU init packet"); + await this.sendInitPacket(init_packet); + + console.log("Sending firmware"); + await this.sendFirmware(firmware, progressCallback); + + // todo + // sleep(self.dfu_transport.get_activate_wait_time()) + + } + + /** + * Calculates CRC16 on the provided binaryData + * @param {Uint8Array} binaryData - Array with data to run CRC16 calculation on + * @param {number} crc - CRC value to start calculation with + * @return {number} - Calculated CRC value of binaryData + */ + calcCrc16(binaryData, crc = 0xffff) { + + if(!(binaryData instanceof Uint8Array)){ + throw new Error("calcCrc16 requires Uint8Array input"); + } + + for(let b of binaryData){ + crc = (crc >> 8 & 0x00FF) | (crc << 8 & 0xFF00); + crc ^= b; + crc ^= (crc & 0x00FF) >> 4; + crc ^= (crc << 8) << 4; + crc ^= ((crc & 0x00FF) << 4) << 1; + } + + return crc & 0xFFFF; + + } + + /** + * Encode esc characters in a SLIP package. + * Replace 0xC0 with 0xDBDC and 0xDB with 0xDBDD. + * @param dataIn + * @returns {*[]} + */ + slipEncodeEscChars(dataIn) { + + let result = []; + + for(let i = 0; i < dataIn.length; i++){ + let char = dataIn[i]; + if(char === 0xC0){ + result.push(0xDB); + result.push(0xDC); + } else if(char === 0xDB) { + result.push(0xDB); + result.push(0xDD); + } else { + result.push(char); + } + } + + return result; + + } + + /** + * Creates an HCI packet from the provided frame data. + * https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py#L332 + * @param frame + * @returns {*[]} + */ + createHciPacketFromFrame(frame) { + + // increase sequence number, but roll over at 8 + this.sequenceNumber = (this.sequenceNumber + 1) % 8; + + // create slip header + const slipHeaderBytes = this.createSlipHeader( + this.sequenceNumber, + this.DATA_INTEGRITY_CHECK_PRESENT, + this.RELIABLE_PACKET, + this.HCI_PACKET_TYPE, + frame.length, + ); + + // create packet data + let data = [ + ...slipHeaderBytes, + ...frame, + ]; + + // add crc of data + const crc = this.calcCrc16(new Uint8Array(data), 0xffff); + data.push(crc & 0xFF); + data.push((crc & 0xFF00) >> 8); + + // add escape characters + return [ + 0xc0, + ...this.slipEncodeEscChars(data), + 0xc0, + ]; + + } + + /** + * Calculate how long we should wait for erasing data. + * @returns {number} + */ + getEraseWaitTime() { + // always wait at least 0.5 seconds + return Math.max(0.5, ((this.total_size / this.FLASH_PAGE_SIZE) + 1) * this.FLASH_PAGE_ERASE_TIME); + } + + /** + * Constructs the image size packet sent in the DFU Start packet. + * @param softdeviceSize + * @param bootloaderSize + * @param appSize + * @returns {number[]} + */ + createImageSizePacket(softdeviceSize = 0, bootloaderSize = 0, appSize = 0) { + return [ + ...this.int32ToBytes(softdeviceSize), + ...this.int32ToBytes(bootloaderSize), + ...this.int32ToBytes(appSize), + ]; + } + + /** + * Sends the DFU Start packet to the device. + * @param mode + * @param softdevice_size + * @param bootloader_size + * @param app_size + * @returns {Promise} + */ + async sendStartDfu(mode, softdevice_size = 0, bootloader_size = 0, app_size = 0){ + + // create frame + const frame = [ + ...this.int32ToBytes(this.DFU_START_PACKET), + ...this.int32ToBytes(mode), + ...this.createImageSizePacket(softdevice_size, bootloader_size, app_size), + ]; + + // send hci packet + await this.sendPacket(this.createHciPacketFromFrame(frame)); + + // remember file sizes for calculating erase wait time + this.sd_size = softdevice_size; + this.total_size = softdevice_size + bootloader_size + app_size; + + // wait for initial erase + await this.sleepMillis(this.getEraseWaitTime() * 1000); + + } + + /** + * Sends the DFU Init packet to the device. + * @param initPacket + * @returns {Promise} + */ + async sendInitPacket(initPacket){ + + // create frame + const frame = [ + ...this.int32ToBytes(this.DFU_INIT_PACKET), + ...initPacket, + ...this.int16ToBytes(0x0000), // padding required + ]; + + // send hci packet + await this.sendPacket(this.createHciPacketFromFrame(frame)); + + } + + /** + * Sends the firmware file to the device in multiple chunks. + * @param firmware + * @param progressCallback + * @returns {Promise} + */ + async sendFirmware(firmware, progressCallback) { + + const packets = []; + var packetsSent = 0; + + // chunk firmware into separate packets + for(let i = 0; i < firmware.length; i += this.DFU_PACKET_MAX_SIZE){ + packets.push(this.createHciPacketFromFrame([ + ...this.int32ToBytes(this.DFU_DATA_PACKET), + ...firmware.slice(i, i + this.DFU_PACKET_MAX_SIZE), + ])); + } + + // send initial progress + if(progressCallback){ + progressCallback(0); + } + + // send each packet one after the other + for(var i = 0; i < packets.length; i++){ + + // send packet + await this.sendPacket(packets[i]); + + // wait a bit to allow device to write before sending next packet + await this.sleepMillis(this.FLASH_PAGE_WRITE_TIME * 1000); + + // update progress + packetsSent++; + if(progressCallback){ + const progress = Math.floor((packetsSent / packets.length) * 100); + progressCallback(progress); + } + + } + + // finished sending firmware, send DFU Stop Data packet + await this.sendPacket(this.createHciPacketFromFrame([ + ...this.int32ToBytes(this.DFU_STOP_DATA_PACKET), + ])); + + } + + /** + * Creates a SLIP header. + * + * For a description of the SLIP header go to: + * http://developer.nordicsemi.com/nRF51_SDK/doc/7.2.0/s110/html/a00093.html + * + * @param {number} seq - Packet sequence number + * @param {number} dip - Data integrity check + * @param {number} rp - Reliable packet + * @param {number} pktType - Payload packet + * @param {number} pktLen - Packet length + * @return {Uint8Array} - SLIP header + */ + createSlipHeader(seq, dip, rp, pktType, pktLen) { + let ints = [0, 0, 0, 0]; + ints[0] = seq | (((seq + 1) % 8) << 3) | (dip << 6) | (rp << 7); + ints[1] = pktType | ((pktLen & 0x000F) << 4); + ints[2] = (pktLen & 0x0FF0) >> 4; + ints[3] = (~(ints[0] + ints[1] + ints[2]) + 1) & 0xFF; + return new Uint8Array(ints); + } + + /** + * Converts the provided int32 to 4 bytes. + * @param num + * @returns {number[]} + */ + int32ToBytes(num){ + return [ + (num & 0x000000ff), + (num & 0x0000ff00) >> 8, + (num & 0x00ff0000) >> 16, + (num & 0xff000000) >> 24, + ]; + } + + /** + * Converts the provided int16 to 2 bytes. + * @param num + * @returns {number[]} + */ + int16ToBytes(num){ + return [ + (num & 0x00FF), + (num & 0xFF00) >> 8, + ]; + } + +} diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/rnode.js b/meshchatx/src/frontend/public/rnode-flasher/js/rnode.js new file mode 100644 index 0000000..2eec41e --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/rnode.js @@ -0,0 +1,1017 @@ +class Utils { + + /** + * Waits for the provided milliseconds, and then resolves. + * @param millis + * @returns {Promise} + */ + static async sleepMillis(millis) { + await new Promise((resolve) => { + setTimeout(resolve, millis); + }); + } + + static bytesToHex(bytes) { + for(var hex = [], i = 0; i < bytes.length; i++){ + var current = bytes[i] < 0 ? bytes[i] + 256 : bytes[i]; + hex.push((current >>> 4).toString(16)); + hex.push((current & 0xF).toString(16)); + } + return hex.join(""); + } + + static md5(data) { + var bytes = []; + const hash = CryptoJS.MD5(CryptoJS.enc.Hex.parse(this.bytesToHex(data))); + for(var i = 0; i < hash.sigBytes; i++){ + bytes.push((hash.words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff); + } + return bytes; + } + + static packUInt32BE(value) { + const buffer = new ArrayBuffer(4); + const view = new DataView(buffer); + view.setUint32(0, value, false); + return new Uint8Array(buffer); + } + + static unpackUInt32BE(byteArray) { + const buffer = new Uint8Array(byteArray).buffer; + const view = new DataView(buffer); + return view.getUint32(0, false); + } + +} + +class RNode { + + KISS_FEND = 0xC0; + KISS_FESC = 0xDB; + KISS_TFEND = 0xDC; + KISS_TFESC = 0xDD; + + CMD_FREQUENCY = 0x01; + CMD_BANDWIDTH = 0x02; + CMD_TXPOWER = 0x03; + CMD_SF = 0x04; + CMD_CR = 0x05; + CMD_RADIO_STATE = 0x06; + + CMD_STAT_RX = 0x21; + CMD_STAT_TX = 0x22 + CMD_STAT_RSSI = 0x23; + CMD_STAT_SNR = 0x24; + + CMD_BOARD = 0x47; + CMD_PLATFORM = 0x48; + CMD_MCU = 0x49; + CMD_RESET = 0x55; + CMD_RESET_BYTE = 0xF8; + CMD_DEV_HASH = 0x56; + CMD_FW_VERSION = 0x50; + CMD_ROM_READ = 0x51; + CMD_ROM_WRITE = 0x52; + CMD_CONF_SAVE = 0x53; + CMD_CONF_DELETE = 0x54; + CMD_FW_HASH = 0x58; + CMD_UNLOCK_ROM = 0x59; + ROM_UNLOCK_BYTE = 0xF8; + CMD_HASHES = 0x60; + CMD_FW_UPD = 0x61; + CMD_DISP_ROT = 0x67; + CMD_DISP_RCND = 0x68; + + CMD_BT_CTRL = 0x46; + CMD_BT_PIN = 0x62; + + CMD_DISP_READ = 0x66; + + CMD_DETECT = 0x08; + DETECT_REQ = 0x73; + DETECT_RESP = 0x46; + + RADIO_STATE_OFF = 0x00; + RADIO_STATE_ON = 0x01; + RADIO_STATE_ASK = 0xFF; + + CMD_ERROR = 0x90 + ERROR_INITRADIO = 0x01 + ERROR_TXFAILED = 0x02 + ERROR_EEPROM_LOCKED = 0x03 + + PLATFORM_AVR = 0x90; + PLATFORM_ESP32 = 0x80; + PLATFORM_NRF52 = 0x70; + + MCU_1284P = 0x91; + MCU_2560 = 0x92; + MCU_ESP32 = 0x81; + MCU_NRF52 = 0x71; + + BOARD_RNODE = 0x31; + BOARD_HMBRW = 0x32; + BOARD_TBEAM = 0x33; + BOARD_HUZZAH32 = 0x34; + BOARD_GENERIC_ESP32 = 0x35; + BOARD_LORA32_V2_0 = 0x36; + BOARD_LORA32_V2_1 = 0x37; + BOARD_RAK4631 = 0x51; + + HASH_TYPE_TARGET_FIRMWARE = 0x01; + HASH_TYPE_FIRMWARE = 0x02; + + constructor(serialPort) { + this.serialPort = serialPort; + this.reader = serialPort.readable.getReader(); + this.writable = serialPort.writable; + this.callbacks = {}; + this.readLoop(); + } + + static async fromSerialPort(serialPort) { + + // open port + await serialPort.open({ + baudRate: 115200, + }); + + return new RNode(serialPort); + + } + + async close() { + + // release reader lock + try { + this.reader.releaseLock(); + } catch(e) { + //console.log("failed to release lock on serial port readable, ignoring...", e); + } + + // close serial port + try { + await this.serialPort.close(); + } catch(e) { + //console.log("failed to close serial port, ignoring...", e); + } + + } + + async write(bytes) { + const writer = this.writable.getWriter(); + try { + await writer.write(new Uint8Array(bytes)); + } finally { + writer.releaseLock(); + } + } + + async readLoop() { + try { + let buffer = []; + let inFrame = false; + while(true){ + + // read kiss frames until reader indicates it's done + const { value, done } = await this.reader.read(); + if(done){ + break; + } + + // read kiss frames + for(const byte of value){ + if(byte === this.KISS_FEND){ + if(inFrame){ + // End of frame + const decodedFrame = this.decodeKissFrame(buffer); + if(decodedFrame){ + this.onCommandReceived(decodedFrame); + } else { + console.warn("Invalid frame ignored."); + } + buffer = []; + } + inFrame = !inFrame; + } else if(inFrame) { + buffer.push(byte); + } + } + + } + } catch(error) { + + // ignore error if reader was released + if(error instanceof TypeError){ + return; + } + + console.error('Error reading from serial port: ', error); + + } finally { + this.reader.releaseLock(); + } + } + + onCommandReceived(data) { + try { + + // get received command and bytes from data + const [ command, ...bytes ] = data; + console.log("onCommandReceived", "0x" + command.toString(16), bytes); + + // find callback for received command + const callback = this.callbacks[command]; + if(!callback){ + return; + } + + // fire callback + callback(bytes); + + // forget callback + delete this.callbacks[command]; + + } catch(e) { + console.log("failed to handle received command", data, e); + } + } + + decodeKissFrame(frame) { + + const data = []; + let escaping = false; + + for(const byte of frame){ + if(escaping){ + if(byte === this.KISS_TFEND){ + data.push(this.KISS_FEND); + } else if(byte === this.KISS_TFESC) { + data.push(this.KISS_FESC); + } else { + return null; // Invalid escape sequence + } + escaping = false; + } else if(byte === this.KISS_FESC) { + escaping = true; + } else { + data.push(byte); + } + } + + // return null if incomplete escape at end + return escaping ? null : data; + + } + + createKissFrame(data) { + let frame = [this.KISS_FEND]; + for(let byte of data){ + if(byte === this.KISS_FEND){ + frame.push(this.KISS_FESC, this.KISS_TFEND); + } else if(byte === this.KISS_FESC){ + frame.push(this.KISS_FESC, this.KISS_TFESC); + } else { + frame.push(byte); + } + } + frame.push(this.KISS_FEND); + return new Uint8Array(frame); + } + + async sendKissCommand(data) { + await this.write(this.createKissFrame(data)); + } + + // sends a command to the rnode, and resolves the promise with the result + async sendCommand(command, data) { + return new Promise(async (resolve, reject) => { + try { + + // listen for response + this.callbacks[command] = (response) => { + resolve(response); + }; + + // send command + await this.sendKissCommand([ + command, + ...data, + ]); + + } catch(e) { + reject(e); + } + }); + } + + async reset() { + await this.sendKissCommand([ + this.CMD_RESET, + this.CMD_RESET_BYTE, + ]); + } + + async detect() { + return new Promise(async (resolve) => { + try { + + // timeout after provided millis + const timeout = setTimeout(() => { + resolve(false); + }, 2000); + + // detect rnode + const response = await this.sendCommand(this.CMD_DETECT, [ + this.DETECT_REQ, + ]); + + // we no longer want to timeout + clearTimeout(timeout); + + // device is an rnode if response is as expected + const [ responseByte ] = response; + const isRnode = responseByte === this.DETECT_RESP; + resolve(isRnode); + + } catch(e) { + resolve(false); + } + }); + + } + + async getFirmwareVersion() { + + const response = await this.sendCommand(this.CMD_FW_VERSION, [ + 0x00, + ]); + + // read response from device + var [ majorVersion, minorVersion ] = response; + if(minorVersion.length === 1){ + minorVersion = "0" + minorVersion; + } + + // 1.23 + return majorVersion + "." + minorVersion; + + } + + async getPlatform() { + + const response = await this.sendCommand(this.CMD_PLATFORM, [ + 0x00, + ]); + + // read response from device + const [ platformByte ] = response; + return platformByte; + + } + + async getMcu() { + + const response = await this.sendCommand(this.CMD_MCU, [ + 0x00, + ]); + + // read response from device + const [ mcuByte ] = response; + return mcuByte; + + } + + async getBoard() { + + const response = await this.sendCommand(this.CMD_BOARD, [ + 0x00, + ]); + + // read response from device + const [ boardByte ] = response; + return boardByte; + + } + + async getDeviceHash() { + + const response = await this.sendCommand(this.CMD_DEV_HASH, [ + 0x01, // anything != 0x00 + ]); + + // read response from device + const [ ...deviceHash ] = response; + return deviceHash; + + } + + async getTargetFirmwareHash() { + + const response = await this.sendCommand(this.CMD_HASHES, [ + this.HASH_TYPE_TARGET_FIRMWARE, + ]); + + // read response from device + const [ hashType, ...targetFirmwareHash ] = response; + return targetFirmwareHash; + + } + + async getFirmwareHash() { + + const response = await this.sendCommand(this.CMD_HASHES, [ + this.HASH_TYPE_FIRMWARE, + ]); + + // read response from device + const [ hashType, ...firmwareHash ] = response; + return firmwareHash; + + } + + async getRom() { + + const response = await this.sendCommand(this.CMD_ROM_READ, [ + 0x00, + ]); + + // read response from device + const [ ...eepromBytes ] = response; + return eepromBytes; + + } + + async getFrequency() { + + const response = await this.sendCommand(this.CMD_FREQUENCY, [ + // request frequency by sending zero as 4 bytes + 0x00, + 0x00, + 0x00, + 0x00, + ]); + + // read response from device + const [ ...frequencyBytes ] = response; + + // convert 4 bytes to 32bit integer representing frequency in hertz + const frequencyInHz = frequencyBytes[0] << 24 | frequencyBytes[1] << 16 | frequencyBytes[2] << 8 | frequencyBytes[3]; + return frequencyInHz; + + } + + async getBandwidth() { + + const response = await this.sendCommand(this.CMD_BANDWIDTH, [ + // request bandwidth by sending zero as 4 bytes + 0x00, + 0x00, + 0x00, + 0x00, + ]); + + // read response from device + const [ ...bandwidthBytes ] = response; + + // convert 4 bytes to 32bit integer representing bandwidth in hertz + const bandwidthInHz = bandwidthBytes[0] << 24 | bandwidthBytes[1] << 16 | bandwidthBytes[2] << 8 | bandwidthBytes[3]; + return bandwidthInHz; + + } + + async getTxPower() { + + const response = await this.sendCommand(this.CMD_TXPOWER, [ + 0xFF, // request tx power + ]); + + // read response from device + const [ txPower ] = response; + return txPower; + + } + + async getSpreadingFactor() { + + const response = await this.sendCommand(this.CMD_SF, [ + 0xFF, // request spreading factor + ]); + + // read response from device + const [ spreadingFactor ] = response; + return spreadingFactor; + + } + + async getCodingRate() { + + const response = await this.sendCommand(this.CMD_CR, [ + 0xFF, // request coding rate + ]); + + // read response from device + const [ codingRate ] = response; + return codingRate; + + } + + async getRadioState() { + + const response = await this.sendCommand(this.CMD_RADIO_STATE, [ + 0xFF, // request radio state + ]); + + // read response from device + const [ radioState ] = response; + return radioState; + + } + + async getRxStat() { + + const response = await this.sendCommand(this.CMD_STAT_RX, [ + 0x00, + ]); + + // read response from device + const [ ...statBytes ] = response; + + // convert 4 bytes to 32bit integer + const stat = statBytes[0] << 24 | statBytes[1] << 16 | statBytes[2] << 8 | statBytes[3]; + return stat; + + } + + async getTxStat() { + + const response = await this.sendCommand(this.CMD_STAT_TX, [ + 0x00, + ]); + + // read response from device + const [ ...statBytes ] = response; + + // convert 4 bytes to 32bit integer + const stat = statBytes[0] << 24 | statBytes[1] << 16 | statBytes[2] << 8 | statBytes[3]; + return stat; + + } + + async getRssiStat() { + + const response = await this.sendCommand(this.CMD_STAT_RSSI, [ + 0x00, + ]); + + // read response from device + const [ rssi ] = response; + return rssi; + + } + + async disableBluetooth() { + await this.sendKissCommand([ + this.CMD_BT_CTRL, + 0x00, // stop + ]); + } + + async enableBluetooth() { + await this.sendKissCommand([ + this.CMD_BT_CTRL, + 0x01, // start + ]); + } + + async startBluetoothPairing(pinCallback) { + + // listen for bluetooth pin + // pin will be available once the user has initiated pairing from an Android device + this.callbacks[this.CMD_BT_PIN] = (response) => { + + // read response from device + const [ ...pinBytes ] = response; + + // convert 4 bytes to 32bit integer + const pin = pinBytes[0] << 24 | pinBytes[1] << 16 | pinBytes[2] << 8 | pinBytes[3]; + + // tell user what the bluetooth pin is + console.log("Bluetooth Pairing Pin: " + pin); + pinCallback(pin); + + }; + + // enable pairing + await this.sendKissCommand([ + this.CMD_BT_CTRL, + 0x02, // enable pairing + ]); + + } + + async readDisplay() { + + const response = await this.sendCommand(this.CMD_DISP_READ, [ + 0x01, + ]); + + // read response from device + const [ ...displayBuffer ] = response; + return displayBuffer; + + } + + async setFrequency(frequencyInHz) { + + const c1 = frequencyInHz >> 24; + const c2 = frequencyInHz >> 16 & 0xFF; + const c3 = frequencyInHz >> 8 & 0xFF; + const c4 = frequencyInHz & 0xFF; + + await this.sendKissCommand([ + this.CMD_FREQUENCY, + c1, + c2, + c3, + c4, + ]); + + } + + async setBandwidth(bandwidthInHz) { + + const c1 = bandwidthInHz >> 24; + const c2 = bandwidthInHz >> 16 & 0xFF; + const c3 = bandwidthInHz >> 8 & 0xFF; + const c4 = bandwidthInHz & 0xFF; + + await this.sendKissCommand([ + this.CMD_BANDWIDTH, + c1, + c2, + c3, + c4, + ]); + + } + + async setTxPower(db) { + await this.sendKissCommand([ + this.CMD_TXPOWER, + db, + ]); + } + + async setSpreadingFactor(spreadingFactor) { + await this.sendKissCommand([ + this.CMD_SF, + spreadingFactor, + ]); + } + + async setCodingRate(codingRate) { + await this.sendKissCommand([ + this.CMD_CR, + codingRate, + ]); + } + + async setRadioStateOn() { + await this.sendKissCommand([ + this.CMD_RADIO_STATE, + this.RADIO_STATE_ON, + ]); + } + + async setRadioStateOff() { + await this.sendKissCommand([ + this.CMD_RADIO_STATE, + this.RADIO_STATE_OFF, + ]); + } + + // setTNCMode + async saveConfig() { + await this.sendKissCommand([ + this.CMD_CONF_SAVE, + 0x00, + ]); + } + + // setNormalMode + async deleteConfig() { + await this.sendKissCommand([ + this.CMD_CONF_DELETE, + 0x00, + ]); + } + + async indicateFirmwareUpdate() { + await this.sendKissCommand([ + this.CMD_FW_UPD, + 0x01, + ]); + } + + async setFirmwareHash(hash) { + await this.sendKissCommand([ + this.CMD_FW_HASH, + ...hash, + ]); + } + + async writeRom(address, value) { + + // write to rom + await this.sendKissCommand([ + this.CMD_ROM_WRITE, + address, + value, + ]); + + // wait a bit to allow device to write to rom + await Utils.sleepMillis(85); + + } + + async wipeRom() { + + await this.sendKissCommand([ + this.CMD_UNLOCK_ROM, + this.ROM_UNLOCK_BYTE, + ]); + + // wiping can take up to 30 seconds + await Utils.sleepMillis(30000); + + } + + async getRomAsObject() { + const rom = await this.getRom(); + return new ROM(rom); + } + + async setDisplayRotation(rotation) { + await this.sendKissCommand([ + this.CMD_DISP_ROT, + rotation & 0xFF, + ]); + } + + async startDisplayReconditioning() { + await this.sendKissCommand([ + this.CMD_DISP_RCND, + 0x01, + ]); + } + +} + +class ROM { + + static PLATFORM_AVR = 0x90 + static PLATFORM_ESP32 = 0x80 + static PLATFORM_NRF52 = 0x70 + + static MCU_1284P = 0x91 + static MCU_2560 = 0x92 + static MCU_ESP32 = 0x81 + static MCU_NRF52 = 0x71 + + static PRODUCT_RAK4631 = 0x10 + static MODEL_11 = 0x11 + static MODEL_12 = 0x12 + + static PRODUCT_RNODE = 0x03 + static MODEL_A1 = 0xA1 + static MODEL_A6 = 0xA6 + static MODEL_A4 = 0xA4 + static MODEL_A9 = 0xA9 + static MODEL_A3 = 0xA3 + static MODEL_A8 = 0xA8 + static MODEL_A2 = 0xA2 + static MODEL_A7 = 0xA7 + static MODEL_A5 = 0xA5; + static MODEL_AA = 0xAA; + static MODEL_AC = 0xAC; + + static PRODUCT_T32_10 = 0xB2 + static MODEL_BA = 0xBA + static MODEL_BB = 0xBB + + static PRODUCT_T32_20 = 0xB0 + static MODEL_B3 = 0xB3 + static MODEL_B8 = 0xB8 + + static PRODUCT_T32_21 = 0xB1 + static MODEL_B4 = 0xB4 + static MODEL_B9 = 0xB9 + static MODEL_B4_TCXO = 0x04 // The TCXO model codes are only used here to select the + static MODEL_B9_TCXO = 0x09 // correct firmware, actual model codes in firmware is still 0xB4 and 0xB9. + + static PRODUCT_H32_V2 = 0xC0 + static MODEL_C4 = 0xC4 + static MODEL_C9 = 0xC9 + + static PRODUCT_H32_V3 = 0xC1 + static MODEL_C5 = 0xC5 + static MODEL_CA = 0xCA + + static PRODUCT_HELTEC_T114 = 0xC2 + static MODEL_C6 = 0xC6 + static MODEL_C7 = 0xC7 + + static PRODUCT_TBEAM = 0xE0 + static MODEL_E4 = 0xE4 + static MODEL_E9 = 0xE9 + static MODEL_E3 = 0xE3 + static MODEL_E8 = 0xE8 + + static PRODUCT_TBEAM_S_V1 = 0xEA; + static MODEL_DB = 0xDB + static MODEL_DC = 0xDC + + static PRODUCT_TDECK = 0xD0; + static MODEL_D4 = 0xD4; + static MODEL_D9 = 0xD9; + + static PRODUCT_TECHO = 0x15; + static MODEL_16 = 0x16; + static MODEL_17 = 0x17; + + static PRODUCT_HMBRW = 0xF0 + static MODEL_FF = 0xFF + static MODEL_FE = 0xFE + + static ADDR_PRODUCT = 0x00 + static ADDR_MODEL = 0x01 + static ADDR_HW_REV = 0x02 + static ADDR_SERIAL = 0x03 + static ADDR_MADE = 0x07 + static ADDR_CHKSUM = 0x0B + static ADDR_SIGNATURE = 0x1B + static ADDR_INFO_LOCK = 0x9B + static ADDR_CONF_SF = 0x9C + static ADDR_CONF_CR = 0x9D + static ADDR_CONF_TXP = 0x9E + static ADDR_CONF_BW = 0x9F + static ADDR_CONF_FREQ = 0xA3 + static ADDR_CONF_OK = 0xA7 + + static INFO_LOCK_BYTE = 0x73 + static CONF_OK_BYTE = 0x73 + + static BOARD_RNODE = 0x31 + static BOARD_HMBRW = 0x32 + static BOARD_TBEAM = 0x33 + static BOARD_HUZZAH32 = 0x34 + static BOARD_GENERIC_ESP32 = 0x35 + static BOARD_LORA32_V2_0 = 0x36 + static BOARD_LORA32_V2_1 = 0x37 + static BOARD_RAK4631 = 0x51 + + static MANUAL_FLASH_MODELS = [ROM.MODEL_A1, ROM.MODEL_A6] + + constructor(eeprom) { + this.eeprom = eeprom; + } + + getProduct() { + return this.eeprom[ROM.ADDR_PRODUCT]; + } + + getModel() { + return this.eeprom[ROM.ADDR_MODEL]; + } + + getHardwareRevision() { + return this.eeprom[ROM.ADDR_HW_REV]; + } + + getSerialNumber() { + return [ + this.eeprom[ROM.ADDR_SERIAL], + this.eeprom[ROM.ADDR_SERIAL + 1], + this.eeprom[ROM.ADDR_SERIAL + 2], + this.eeprom[ROM.ADDR_SERIAL + 3], + ]; + } + + getMade() { + return [ + this.eeprom[ROM.ADDR_MADE], + this.eeprom[ROM.ADDR_MADE + 1], + this.eeprom[ROM.ADDR_MADE + 2], + this.eeprom[ROM.ADDR_MADE + 3], + ]; + } + + getChecksum() { + const checksum = []; + for(var i = 0; i < 16; i++){ + checksum.push(this.eeprom[ROM.ADDR_CHKSUM + i]); + } + return checksum; + } + + getSignature() { + const signature = []; + for(var i = 0; i < 128; i++){ + signature.push(this.eeprom[ROM.ADDR_SIGNATURE + i]); + } + return signature; + } + + getCalculatedChecksum() { + return Utils.md5([ + this.getProduct(), + this.getModel(), + this.getHardwareRevision(), + ...this.getSerialNumber(), + ...this.getMade(), + ]); + } + + getConfiguredSpreadingFactor() { + return this.eeprom[ROM.ADDR_CONF_SF]; + } + + getConfiguredCodingRate() { + return this.eeprom[ROM.ADDR_CONF_CR]; + } + + getConfiguredTxPower() { + return this.eeprom[ROM.ADDR_CONF_TXP]; + } + + getConfiguredFrequency() { + return this.eeprom[ROM.ADDR_CONF_FREQ] << 24 + | this.eeprom[ROM.ADDR_CONF_FREQ + 1] << 16 + | this.eeprom[ROM.ADDR_CONF_FREQ + 2] << 8 + | this.eeprom[ROM.ADDR_CONF_FREQ + 3]; + } + + getConfiguredBandwidth() { + return this.eeprom[ROM.ADDR_CONF_BW] << 24 + | this.eeprom[ROM.ADDR_CONF_BW + 1] << 16 + | this.eeprom[ROM.ADDR_CONF_BW + 2] << 8 + | this.eeprom[ROM.ADDR_CONF_BW + 3]; + } + + isInfoLocked() { + return this.eeprom[ROM.ADDR_INFO_LOCK] === ROM.INFO_LOCK_BYTE; + } + + isConfigured() { + return this.eeprom[ROM.ADDR_CONF_OK] === ROM.CONF_OK_BYTE; + } + + parse() { + + // ensure info lock byte is set + if(!this.isInfoLocked()){ + return null; + } + + // convert to hex + const checksumHex = Utils.bytesToHex(this.getChecksum()); + const calculatedChecksumHex = Utils.bytesToHex(this.getCalculatedChecksum()); + const signatureHex = Utils.bytesToHex(this.getSignature()); + + // add details + var details = { + is_provisioned: true, + is_configured: this.isConfigured(), + product: this.getProduct(), + model: this.getModel(), + hardware_revision: this.getHardwareRevision(), + serial_number: Utils.unpackUInt32BE(this.getSerialNumber()), + made: Utils.unpackUInt32BE(this.getMade()), + checksum: checksumHex, + calculated_checksum: calculatedChecksumHex, + signature: signatureHex, + } + + // if configured, add configuration to details + if(details.is_configured){ + details = { + ...details, + configured_spreading_factor: this.getConfiguredSpreadingFactor(), + configured_coding_rate: this.getConfiguredCodingRate(), + configured_tx_power: this.getConfiguredTxPower(), + configured_frequency: this.getConfiguredFrequency(), + configured_bandwidth: this.getConfiguredBandwidth(), + }; + } + + // if checksum in eeprom does not match checksum calculated from info, it is not provisioned + if(details.checksum !== details.calculated_checksum){ + details.is_provisioned = false; + } + + return details; + + } + +} diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js b/meshchatx/src/frontend/public/rnode-flasher/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js new file mode 100644 index 0000000..8369aad --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js @@ -0,0 +1,62 @@ +(()=>{var Rb=Object.create;var ci=Object.defineProperty;var Mb=Object.getOwnPropertyDescriptor;var Bb=Object.getOwnPropertyNames;var Fb=Object.getPrototypeOf,Lb=Object.prototype.hasOwnProperty;var gu=r=>ci(r,"__esModule",{value:!0});var yu=r=>{if(typeof require!="undefined")return require(r);throw new Error('Dynamic require of "'+r+'" is not supported')};var C=(r,e)=>()=>(r&&(e=r(r=0)),e);var v=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ae=(r,e)=>{gu(r);for(var t in e)ci(r,t,{get:e[t],enumerable:!0})},Nb=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Bb(e))!Lb.call(r,i)&&i!=="default"&&ci(r,i,{get:()=>e[i],enumerable:!(t=Mb(e,i))||t.enumerable});return r},X=r=>Nb(gu(ci(r!=null?Rb(Fb(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var h,l=C(()=>{h={platform:"",env:{},versions:{node:"14.17.6"}}});var $b,te,ze=C(()=>{l();$b=0,te={readFileSync:r=>self[r]||"",statSync:()=>({mtimeMs:$b++}),promises:{readFile:r=>Promise.resolve(self[r]||"")}}});var rs=v((eE,bu)=>{l();"use strict";var wu=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge=="number"&&e.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction=="function")for(let[t,i]of e)this.onEviction(t,i.value)}_deleteIfExpired(e,t){return typeof t.expiry=="number"&&t.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(e,t.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,t){if(this._deleteIfExpired(e,t)===!1)return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){let i=t.get(e);return this._getItemValue(e,i)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(let e of this.oldCache){let[t,i]=e;this.cache.has(t)||this._deleteIfExpired(t,i)===!1&&(yield e)}for(let e of this.cache){let[t,i]=e;this._deleteIfExpired(t,i)===!1&&(yield e)}}get(e){if(this.cache.has(e)){let t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){let t=this.oldCache.get(e);if(this._deleteIfExpired(e,t)===!1)return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:i=this.maxAge===1/0?void 0:Date.now()+this.maxAge}={}){this.cache.has(e)?this.cache.set(e,{value:t,maxAge:i}):this._set(e,{value:t,expiry:i})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");let t=[...this._entriesAscending()],i=t.length-e;i<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(i>0&&this._emitEvictions(t.slice(0,i)),this.oldCache=new Map(t.slice(i)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[t,i]=e;this._deleteIfExpired(t,i)===!1&&(yield[t,i.value])}for(let e of this.oldCache){let[t,i]=e;this.cache.has(t)||this._deleteIfExpired(t,i)===!1&&(yield[t,i.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){let i=e[t],[n,a]=i;this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){let i=e[t],[n,a]=i;this.cache.has(n)||this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}}*entriesAscending(){for(let[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};bu.exports=wu});var vu,xu=C(()=>{l();vu=r=>r&&r._hash});function pi(r){return vu(r,{ignoreUnknown:!0})}var ku=C(()=>{l();xu()});function Ke(r){if(r=`${r}`,r==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(r))return r.replace(/^[+-]?/,t=>t==="-"?"":"-");let e=["var","calc","min","max","clamp"];for(let t of e)if(r.includes(`${t}(`))return`calc(${r} * -1)`}var di=C(()=>{l()});var Su,Cu=C(()=>{l();Su=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","contain","content","forcedColorAdjust"]});function Au(r,e){return r===void 0?e:Array.isArray(r)?r:[...new Set(e.filter(i=>r!==!1&&r[i]!==!1).concat(Object.keys(r).filter(i=>r[i]!==!1)))]}var _u=C(()=>{l()});var Ou={};Ae(Ou,{default:()=>_e});var _e,hi=C(()=>{l();_e=new Proxy({},{get:()=>String})});function is(r,e,t){typeof h!="undefined"&&h.env.JEST_WORKER_ID||t&&Eu.has(t)||(t&&Eu.add(t),console.warn(""),e.forEach(i=>console.warn(r,"-",i)))}function ns(r){return _e.dim(r)}var Eu,F,Oe=C(()=>{l();hi();Eu=new Set;F={info(r,e){is(_e.bold(_e.cyan("info")),...Array.isArray(r)?[r]:[e,r])},warn(r,e){["content-problems"].includes(r)||is(_e.bold(_e.yellow("warn")),...Array.isArray(r)?[r]:[e,r])},risk(r,e){is(_e.bold(_e.magenta("risk")),...Array.isArray(r)?[r]:[e,r])}}});var as={};Ae(as,{default:()=>ss});function lr({version:r,from:e,to:t}){F.warn(`${e}-color-renamed`,[`As of Tailwind CSS ${r}, \`${e}\` has been renamed to \`${t}\`.`,"Update your configuration file to silence this warning."])}var ss,mi=C(()=>{l();Oe();ss={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return lr({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return lr({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return lr({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return lr({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return lr({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}});function os(r,...e){for(let t of e){for(let i in t)r?.hasOwnProperty?.(i)||(r[i]=t[i]);for(let i of Object.getOwnPropertySymbols(t))r?.hasOwnProperty?.(i)||(r[i]=t[i])}return r}var Tu=C(()=>{l()});function Ze(r){if(Array.isArray(r))return r;let e=r.split("[").length-1,t=r.split("]").length-1;if(e!==t)throw new Error(`Path is invalid. Has unbalanced brackets: ${r}`);return r.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}var gi=C(()=>{l()});function K(r,e){return yi.future.includes(e)?r.future==="all"||(r?.future?.[e]??Pu[e]??!1):yi.experimental.includes(e)?r.experimental==="all"||(r?.experimental?.[e]??Pu[e]??!1):!1}function Du(r){return r.experimental==="all"?yi.experimental:Object.keys(r?.experimental??{}).filter(e=>yi.experimental.includes(e)&&r.experimental[e])}function Iu(r){if(h.env.JEST_WORKER_ID===void 0&&Du(r).length>0){let e=Du(r).map(t=>_e.yellow(t)).join(", ");F.warn("experimental-flags-enabled",[`You have enabled experimental features: ${e}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}var Pu,yi,je=C(()=>{l();hi();Oe();Pu={optimizeUniversalDefaults:!1,generalizedModifiers:!0,disableColorOpacityUtilitiesByDefault:!1,relativeContentPathsByDefault:!1},yi={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]}});function qu(r){(()=>{if(r.purge||!r.content||!Array.isArray(r.content)&&!(typeof r.content=="object"&&r.content!==null))return!1;if(Array.isArray(r.content))return r.content.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string"));if(typeof r.content=="object"&&r.content!==null){if(Object.keys(r.content).some(t=>!["files","relative","extract","transform"].includes(t)))return!1;if(Array.isArray(r.content.files)){if(!r.content.files.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string")))return!1;if(typeof r.content.extract=="object"){for(let t of Object.values(r.content.extract))if(typeof t!="function")return!1}else if(!(r.content.extract===void 0||typeof r.content.extract=="function"))return!1;if(typeof r.content.transform=="object"){for(let t of Object.values(r.content.transform))if(typeof t!="function")return!1}else if(!(r.content.transform===void 0||typeof r.content.transform=="function"))return!1;if(typeof r.content.relative!="boolean"&&typeof r.content.relative!="undefined")return!1}return!0}return!1})()||F.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),r.safelist=(()=>{let{content:t,purge:i,safelist:n}=r;return Array.isArray(n)?n:Array.isArray(t?.safelist)?t.safelist:Array.isArray(i?.safelist)?i.safelist:Array.isArray(i?.options?.safelist)?i.options.safelist:[]})(),r.blocklist=(()=>{let{blocklist:t}=r;if(Array.isArray(t)){if(t.every(i=>typeof i=="string"))return t;F.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof r.prefix=="function"?(F.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),r.prefix=""):r.prefix=r.prefix??"",r.content={relative:(()=>{let{content:t}=r;return t?.relative?t.relative:K(r,"relativeContentPathsByDefault")})(),files:(()=>{let{content:t,purge:i}=r;return Array.isArray(i)?i:Array.isArray(i?.content)?i.content:Array.isArray(t)?t:Array.isArray(t?.content)?t.content:Array.isArray(t?.files)?t.files:[]})(),extract:(()=>{let t=(()=>r.purge?.extract?r.purge.extract:r.content?.extract?r.content.extract:r.purge?.extract?.DEFAULT?r.purge.extract.DEFAULT:r.content?.extract?.DEFAULT?r.content.extract.DEFAULT:r.purge?.options?.extractors?r.purge.options.extractors:r.content?.options?.extractors?r.content.options.extractors:{})(),i={},n=(()=>{if(r.purge?.options?.defaultExtractor)return r.purge.options.defaultExtractor;if(r.content?.options?.defaultExtractor)return r.content.options.defaultExtractor})();if(n!==void 0&&(i.DEFAULT=n),typeof t=="function")i.DEFAULT=t;else if(Array.isArray(t))for(let{extensions:a,extractor:s}of t??[])for(let o of a)i[o]=s;else typeof t=="object"&&t!==null&&Object.assign(i,t);return i})(),transform:(()=>{let t=(()=>r.purge?.transform?r.purge.transform:r.content?.transform?r.content.transform:r.purge?.transform?.DEFAULT?r.purge.transform.DEFAULT:r.content?.transform?.DEFAULT?r.content.transform.DEFAULT:{})(),i={};return typeof t=="function"&&(i.DEFAULT=t),typeof t=="object"&&t!==null&&Object.assign(i,t),i})()};for(let t of r.content.files)if(typeof t=="string"&&/{([^,]*?)}/g.test(t)){F.warn("invalid-glob-braces",[`The glob pattern ${ns(t)} in your Tailwind CSS configuration is invalid.`,`Update it to ${ns(t.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return r}var Ru=C(()=>{l();je();Oe()});function ie(r){if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||Object.getPrototypeOf(e)===null}var At=C(()=>{l()});function et(r){return Array.isArray(r)?r.map(e=>et(e)):typeof r=="object"&&r!==null?Object.fromEntries(Object.entries(r).map(([e,t])=>[e,et(t)])):r}var wi=C(()=>{l()});function wt(r){return r.replace(/\\,/g,"\\2c ")}var bi=C(()=>{l()});var ls,Mu=C(()=>{l();ls={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});function ur(r,{loose:e=!1}={}){if(typeof r!="string")return null;if(r=r.trim(),r==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(r in ls)return{mode:"rgb",color:ls[r].map(a=>a.toString())};let t=r.replace(jb,(a,s,o,u,c)=>["#",s,s,o,o,u,u,c?c+c:""].join("")).match(zb);if(t!==null)return{mode:"rgb",color:[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)].map(a=>a.toString()),alpha:t[4]?(parseInt(t[4],16)/255).toString():void 0};let i=r.match(Vb)??r.match(Ub);if(i===null)return null;let n=[i[2],i[3],i[4]].filter(Boolean).map(a=>a.toString());return n.length===2&&n[0].startsWith("var(")?{mode:i[1],color:[n[0]],alpha:n[1]}:!e&&n.length!==3||n.length<3&&!n.some(a=>/^var\(.*?\)$/.test(a))?null:{mode:i[1],color:n,alpha:i[5]?.toString?.()}}function us({mode:r,color:e,alpha:t}){let i=t!==void 0;return r==="rgba"||r==="hsla"?`${r}(${e.join(", ")}${i?`, ${t}`:""})`:`${r}(${e.join(" ")}${i?` / ${t}`:""})`}var zb,jb,tt,vi,Bu,rt,Vb,Ub,fs=C(()=>{l();Mu();zb=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,jb=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,tt=/(?:\d+|\d*\.\d+)%?/,vi=/(?:\s*,\s*|\s+)/,Bu=/\s*[,/]\s*/,rt=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,Vb=new RegExp(`^(rgba?)\\(\\s*(${tt.source}|${rt.source})(?:${vi.source}(${tt.source}|${rt.source}))?(?:${vi.source}(${tt.source}|${rt.source}))?(?:${Bu.source}(${tt.source}|${rt.source}))?\\s*\\)$`),Ub=new RegExp(`^(hsla?)\\(\\s*((?:${tt.source})(?:deg|rad|grad|turn)?|${rt.source})(?:${vi.source}(${tt.source}|${rt.source}))?(?:${vi.source}(${tt.source}|${rt.source}))?(?:${Bu.source}(${tt.source}|${rt.source}))?\\s*\\)$`)});function Ie(r,e,t){if(typeof r=="function")return r({opacityValue:e});let i=ur(r,{loose:!0});return i===null?t:us({...i,alpha:e})}function se({color:r,property:e,variable:t}){let i=[].concat(e);if(typeof r=="function")return{[t]:"1",...Object.fromEntries(i.map(a=>[a,r({opacityVariable:t,opacityValue:`var(${t})`})]))};let n=ur(r);return n===null?Object.fromEntries(i.map(a=>[a,r])):n.alpha!==void 0?Object.fromEntries(i.map(a=>[a,r])):{[t]:"1",...Object.fromEntries(i.map(a=>[a,us({...n,alpha:`var(${t})`})]))}}var fr=C(()=>{l();fs()});function ae(r,e){let t=[],i=[],n=0,a=!1;for(let s=0;s{l()});function xi(r){return ae(r,",").map(t=>{let i=t.trim(),n={raw:i},a=i.split(Gb),s=new Set;for(let o of a)Fu.lastIndex=0,!s.has("KEYWORD")&&Wb.has(o)?(n.keyword=o,s.add("KEYWORD")):Fu.test(o)?s.has("X")?s.has("Y")?s.has("BLUR")?s.has("SPREAD")||(n.spread=o,s.add("SPREAD")):(n.blur=o,s.add("BLUR")):(n.y=o,s.add("Y")):(n.x=o,s.add("X")):n.color?(n.unknown||(n.unknown=[]),n.unknown.push(o)):n.color=o;return n.valid=n.x!==void 0&&n.y!==void 0,n})}function Lu(r){return r.map(e=>e.valid?[e.keyword,e.x,e.y,e.blur,e.spread,e.color].filter(Boolean).join(" "):e.raw).join(", ")}var Wb,Gb,Fu,cs=C(()=>{l();_t();Wb=new Set(["inset","inherit","initial","revert","unset"]),Gb=/\ +(?![^(]*\))/g,Fu=/^-?(\d+|\.\d+)(.*?)$/g});function ps(r){return Hb.some(e=>new RegExp(`^${e}\\(.*\\)`).test(r))}function L(r,e=null,t=!0){let i=e&&Yb.has(e.property);return r.startsWith("--")&&!i?`var(${r})`:r.includes("url(")?r.split(/(url\(.*?\))/g).filter(Boolean).map(n=>/^url\(.*?\)$/.test(n)?n:L(n,e,!1)).join(""):(r=r.replace(/([^\\])_+/g,(n,a)=>a+" ".repeat(n.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),t&&(r=r.trim()),r=Qb(r),r)}function Qb(r){let e=["theme"],t=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient"];return r.replace(/(calc|min|max|clamp)\(.+\)/g,i=>{let n="";function a(){let s=n.trimEnd();return s[s.length-1]}for(let s=0;si[s+p]===d)},u=function(f){let d=1/0;for(let m of f){let b=i.indexOf(m,s);b!==-1&&bo(f))){let f=t.find(d=>o(d));n+=f,s+=f.length-1}else e.some(f=>o(f))?n+=u([")"]):o("[")?n+=u(["]"]):["+","-","*","/"].includes(c)&&!["(","+","-","*","/",","].includes(a())?n+=` ${c} `:n+=c}return n.replace(/\s+/g," ")})}function ds(r){return r.startsWith("url(")}function hs(r){return!isNaN(Number(r))||ps(r)}function cr(r){return r.endsWith("%")&&hs(r.slice(0,-1))||ps(r)}function pr(r){return r==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${Xb}$`).test(r)||ps(r)}function Nu(r){return Kb.has(r)}function $u(r){let e=xi(L(r));for(let t of e)if(!t.valid)return!1;return!0}function zu(r){let e=0;return ae(r,"_").every(i=>(i=L(i),i.startsWith("var(")?!0:ur(i,{loose:!0})!==null?(e++,!0):!1))?e>0:!1}function ju(r){let e=0;return ae(r,",").every(i=>(i=L(i),i.startsWith("var(")?!0:ds(i)||e0(i)||["element(","image(","cross-fade(","image-set("].some(n=>i.startsWith(n))?(e++,!0):!1))?e>0:!1}function e0(r){r=L(r);for(let e of Zb)if(r.startsWith(`${e}(`))return!0;return!1}function Vu(r){let e=0;return ae(r,"_").every(i=>(i=L(i),i.startsWith("var(")?!0:t0.has(i)||pr(i)||cr(i)?(e++,!0):!1))?e>0:!1}function Uu(r){let e=0;return ae(r,",").every(i=>(i=L(i),i.startsWith("var(")?!0:i.includes(" ")&&!/(['"])([^"']+)\1/g.test(i)||/^\d/g.test(i)?!1:(e++,!0)))?e>0:!1}function Wu(r){return r0.has(r)}function Gu(r){return i0.has(r)}function Hu(r){return n0.has(r)}var Hb,Yb,Jb,Xb,Kb,Zb,t0,r0,i0,n0,dr=C(()=>{l();fs();cs();_t();Hb=["min","max","clamp","calc"];Yb=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","scroll-timeline","animation-timeline","view-timeline"]);Jb=["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"],Xb=`(?:${Jb.join("|")})`;Kb=new Set(["thin","medium","thick"]);Zb=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);t0=new Set(["center","top","right","bottom","left"]);r0=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);i0=new Set(["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large"]);n0=new Set(["larger","smaller"])});function Yu(r){let e=["cover","contain"];return ae(r,",").every(t=>{let i=ae(t,"_").filter(Boolean);return i.length===1&&e.includes(i[0])?!0:i.length!==1&&i.length!==2?!1:i.every(n=>pr(n)||cr(n)||n==="auto")})}var Qu=C(()=>{l();dr();_t()});function Ju(r,e){r.walkClasses(t=>{t.value=e(t.value),t.raws&&t.raws.value&&(t.raws.value=wt(t.raws.value))})}function Xu(r,e){if(!it(r))return;let t=r.slice(1,-1);if(!!e(t))return L(t)}function s0(r,e={},t){let i=e[r];if(i!==void 0)return Ke(i);if(it(r)){let n=Xu(r,t);return n===void 0?void 0:Ke(n)}}function ki(r,e={},{validate:t=()=>!0}={}){let i=e.values?.[r];return i!==void 0?i:e.supportsNegativeValues&&r.startsWith("-")?s0(r.slice(1),e.values,t):Xu(r,t)}function it(r){return r.startsWith("[")&&r.endsWith("]")}function Ku(r){let e=r.lastIndexOf("/"),t=r.lastIndexOf("[",e),i=r.indexOf("]",e);return r[e-1]==="]"||r[e+1]==="["||t!==-1&&i!==-1&&t")){let e=r;return({opacityValue:t=1})=>e.replace("",t)}return r}function Zu(r){return L(r.slice(1,-1))}function a0(r,e={},{tailwindConfig:t={}}={}){if(e.values?.[r]!==void 0)return Ot(e.values?.[r]);let[i,n]=Ku(r);if(n!==void 0){let a=e.values?.[i]??(it(i)?i.slice(1,-1):void 0);return a===void 0?void 0:(a=Ot(a),it(n)?Ie(a,Zu(n)):t.theme?.opacity?.[n]===void 0?void 0:Ie(a,t.theme.opacity[n]))}return ki(r,e,{validate:zu})}function o0(r,e={}){return e.values?.[r]}function me(r){return(e,t)=>ki(e,t,{validate:r})}function l0(r,e){let t=r.indexOf(e);return t===-1?[void 0,r]:[r.slice(0,t),r.slice(t+1)]}function gs(r,e,t,i){if(t.values&&e in t.values)for(let{type:a}of r??[]){let s=ms[a](e,t,{tailwindConfig:i});if(s!==void 0)return[s,a,null]}if(it(e)){let a=e.slice(1,-1),[s,o]=l0(a,":");if(!/^[\w-_]+$/g.test(s))o=a;else if(s!==void 0&&!ef.includes(s))return[];if(o.length>0&&ef.includes(s))return[ki(`[${o}]`,t),s,null]}let n=ys(r,e,t,i);for(let a of n)return a;return[]}function*ys(r,e,t,i){let n=K(i,"generalizedModifiers"),[a,s]=Ku(e);if(n&&t.modifiers!=null&&(t.modifiers==="any"||typeof t.modifiers=="object"&&(s&&it(s)||s in t.modifiers))||(a=e,s=void 0),s!==void 0&&a===""&&(a="DEFAULT"),s!==void 0&&typeof t.modifiers=="object"){let u=t.modifiers?.[s]??null;u!==null?s=u:it(s)&&(s=Zu(s))}for(let{type:u}of r??[]){let c=ms[u](a,t,{tailwindConfig:i});c!==void 0&&(yield[c,u,s??null])}}var ms,ef,hr=C(()=>{l();bi();fr();dr();di();Qu();je();ms={any:ki,color:a0,url:me(ds),image:me(ju),length:me(pr),percentage:me(cr),position:me(Vu),lookup:o0,"generic-name":me(Wu),"family-name":me(Uu),number:me(hs),"line-width":me(Nu),"absolute-size":me(Gu),"relative-size":me(Hu),shadow:me($u),size:me(Yu)},ef=Object.keys(ms)});function N(r){return typeof r=="function"?r({}):r}var ws=C(()=>{l()});function Et(r){return typeof r=="function"}function mr(r,...e){let t=e.pop();for(let i of e)for(let n in i){let a=t(r[n],i[n]);a===void 0?ie(r[n])&&ie(i[n])?r[n]=mr({},r[n],i[n],t):r[n]=i[n]:r[n]=a}return r}function u0(r,...e){return Et(r)?r(...e):r}function f0(r){return r.reduce((e,{extend:t})=>mr(e,t,(i,n)=>i===void 0?[n]:Array.isArray(i)?[n,...i]:[n,i]),{})}function c0(r){return{...r.reduce((e,t)=>os(e,t),{}),extend:f0(r)}}function tf(r,e){if(Array.isArray(r)&&ie(r[0]))return r.concat(e);if(Array.isArray(e)&&ie(e[0])&&ie(r))return[r,...e];if(Array.isArray(e))return e}function p0({extend:r,...e}){return mr(e,r,(t,i)=>!Et(t)&&!i.some(Et)?mr({},t,...i,tf):(n,a)=>mr({},...[t,...i].map(s=>u0(s,n,a)),tf))}function*d0(r){let e=Ze(r);if(e.length===0||(yield e,Array.isArray(r)))return;let t=/^(.*?)\s*\/\s*([^/]+)$/,i=r.match(t);if(i!==null){let[,n,a]=i,s=Ze(n);s.alpha=a,yield s}}function h0(r){let e=(t,i)=>{for(let n of d0(t)){let a=0,s=r;for(;s!=null&&a(t[i]=Et(r[i])?r[i](e,bs):r[i],t),{})}function rf(r){let e=[];return r.forEach(t=>{e=[...e,t];let i=t?.plugins??[];i.length!==0&&i.forEach(n=>{n.__isOptionsFunction&&(n=n()),e=[...e,...rf([n?.config??{}])]})}),e}function m0(r){return[...r].reduceRight((t,i)=>Et(i)?i({corePlugins:t}):Au(i,t),Su)}function g0(r){return[...r].reduceRight((t,i)=>[...t,...i],[])}function vs(r){let e=[...rf(r),{prefix:"",important:!1,separator:":"}];return qu(os({theme:h0(p0(c0(e.map(t=>t?.theme??{})))),corePlugins:m0(e.map(t=>t.corePlugins)),plugins:g0(r.map(t=>t?.plugins??[]))},...e))}var bs,nf=C(()=>{l();di();Cu();_u();mi();Tu();gi();Ru();At();wi();hr();fr();ws();bs={colors:ss,negative(r){return Object.keys(r).filter(e=>r[e]!=="0").reduce((e,t)=>{let i=Ke(r[t]);return i!==void 0&&(e[`-${t}`]=i),e},{})},breakpoints(r){return Object.keys(r).filter(e=>typeof r[e]=="string").reduce((e,t)=>({...e,[`screen-${t}`]:r[t]}),{})}}});var Si=v((i3,sf)=>{l();sf.exports={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:r})=>({...r("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:r})=>r("blur"),backdropBrightness:({theme:r})=>r("brightness"),backdropContrast:({theme:r})=>r("contrast"),backdropGrayscale:({theme:r})=>r("grayscale"),backdropHueRotate:({theme:r})=>r("hueRotate"),backdropInvert:({theme:r})=>r("invert"),backdropOpacity:({theme:r})=>r("opacity"),backdropSaturate:({theme:r})=>r("saturate"),backdropSepia:({theme:r})=>r("sepia"),backgroundColor:({theme:r})=>r("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:r})=>r("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:r})=>({...r("colors"),DEFAULT:r("colors.gray.200","currentColor")}),borderOpacity:({theme:r})=>r("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:r})=>({...r("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:r})=>r("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:r})=>r("colors"),colors:({colors:r})=>({inherit:r.inherit,current:r.current,transparent:r.transparent,black:r.black,white:r.white,slate:r.slate,gray:r.gray,zinc:r.zinc,neutral:r.neutral,stone:r.stone,red:r.red,orange:r.orange,amber:r.amber,yellow:r.yellow,lime:r.lime,green:r.green,emerald:r.emerald,teal:r.teal,cyan:r.cyan,sky:r.sky,blue:r.blue,indigo:r.indigo,violet:r.violet,purple:r.purple,fuchsia:r.fuchsia,pink:r.pink,rose:r.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:r})=>r("borderColor"),divideOpacity:({theme:r})=>r("borderOpacity"),divideWidth:({theme:r})=>r("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:r})=>({none:"none",...r("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:r})=>r("spacing"),gradientColorStops:({theme:r})=>r("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},height:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:r})=>({auto:"auto",...r("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:r})=>({...r("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:r,breakpoints:e})=>({...r("spacing"),none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(r("screens"))}),minHeight:({theme:r})=>({...r("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:r})=>({...r("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:r})=>r("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:r})=>r("spacing"),placeholderColor:({theme:r})=>r("colors"),placeholderOpacity:({theme:r})=>r("opacity"),ringColor:({theme:r})=>({DEFAULT:r("colors.blue.500","#3b82f6"),...r("colors")}),ringOffsetColor:({theme:r})=>r("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:r})=>({DEFAULT:"0.5",...r("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:r})=>({...r("spacing")}),scrollPadding:({theme:r})=>r("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:r})=>({...r("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:r})=>({none:"none",...r("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:r})=>r("colors"),textDecorationColor:({theme:r})=>r("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:r})=>({...r("spacing")}),textOpacity:({theme:r})=>r("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:r})=>({...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),width:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}});function Ci(r){let e=(r?.presets??[af.default]).slice().reverse().flatMap(n=>Ci(n instanceof Function?n():n)),t={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:n})=>({DEFAULT:"#3b82f67f",...n("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},i=Object.keys(t).filter(n=>K(r,n)).map(n=>t[n]);return[r,...i,...e]}var af,of=C(()=>{l();af=X(Si());je()});var lf={};Ae(lf,{default:()=>gr});function gr(...r){let[,...e]=Ci(r[0]);return vs([...r,...e])}var xs=C(()=>{l();nf();of()});var uf={};Ae(uf,{default:()=>Z});var Z,bt=C(()=>{l();Z={resolve:r=>r,extname:r=>"."+r.split(".").pop()}});function Ai(r){return typeof r=="object"&&r!==null}function w0(r){return Object.keys(r).length===0}function ff(r){return typeof r=="string"||r instanceof String}function ks(r){return Ai(r)&&r.config===void 0&&!w0(r)?null:Ai(r)&&r.config!==void 0&&ff(r.config)?Z.resolve(r.config):Ai(r)&&r.config!==void 0&&Ai(r.config)?null:ff(r)?Z.resolve(r):b0()}function b0(){for(let r of y0)try{let e=Z.resolve(r);return te.accessSync(e),e}catch(e){}return null}var y0,cf=C(()=>{l();ze();bt();y0=["./tailwind.config.js","./tailwind.config.cjs","./tailwind.config.mjs","./tailwind.config.ts"]});var pf={};Ae(pf,{default:()=>Ss});var Ss,Cs=C(()=>{l();Ss={parse:r=>({href:r})}});var As=v(()=>{l()});var _i=v((d3,mf)=>{l();"use strict";var df=(hi(),Ou),hf=As(),Tt=class extends Error{constructor(e,t,i,n,a,s){super(e);this.name="CssSyntaxError",this.reason=e,a&&(this.file=a),n&&(this.source=n),s&&(this.plugin=s),typeof t!="undefined"&&typeof i!="undefined"&&(typeof t=="number"?(this.line=t,this.column=i):(this.line=t.line,this.column=t.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Tt)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line!="undefined"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;e==null&&(e=df.isColorSupported),hf&&e&&(t=hf(t));let i=t.split(/\r?\n/),n=Math.max(this.line-3,0),a=Math.min(this.line+2,i.length),s=String(a).length,o,u;if(e){let{bold:c,red:f,gray:d}=df.createColors(!0);o=p=>c(f(p)),u=p=>d(p)}else o=u=c=>c;return i.slice(n,a).map((c,f)=>{let d=n+1+f,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let m=u(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+u(p)+c+` + `+m+o("^")}return" "+u(p)+c}).join(` +`)}toString(){let e=this.showSourceCode();return e&&(e=` + +`+e+` +`),this.name+": "+this.message+e}};mf.exports=Tt;Tt.default=Tt});var Oi=v((h3,_s)=>{l();"use strict";_s.exports.isClean=Symbol("isClean");_s.exports.my=Symbol("my")});var Os=v((m3,yf)=>{l();"use strict";var gf={colon:": ",indent:" ",beforeDecl:` +`,beforeRule:` +`,beforeOpen:" ",beforeClose:` +`,beforeComment:` +`,after:` +`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function v0(r){return r[0].toUpperCase()+r.slice(1)}var Ei=class{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+i+"*/",e)}decl(e,t){let i=this.raw(e,"between","colon"),n=e.prop+i+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let i="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName!="undefined"?i+=e.raws.afterName:n&&(i+=" "),e.nodes)this.block(e,i+n);else{let a=(e.raws.between||"")+(t?";":"");this.builder(i+n+a,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type==="comment";)t-=1;let i=this.raw(e,"semicolon");for(let n=0;n{if(n=u.raws[t],typeof n!="undefined")return!1})}return typeof n=="undefined"&&(n=gf[i]),s.rawCache[i]=n,n}rawSemicolon(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(t=i.raws.semicolon,typeof t!="undefined"))return!1}),t}rawEmptyBody(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(t=i.raws.after,typeof t!="undefined"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(i=>{let n=i.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof i.raws.before!="undefined"){let a=i.raws.before.split(` +`);return t=a[a.length-1],t=t.replace(/\S/g,""),!1}}),t}rawBeforeComment(e,t){let i;return e.walkComments(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(` +`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(t,null,"beforeDecl"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeDecl(e,t){let i;return e.walkDecls(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(` +`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(t,null,"beforeRule"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeRule(e){let t;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before!="undefined")return t=i.raws.before,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after!="undefined")return t=i.raws.after,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk(i=>{if(i.type!=="decl"&&(t=i.raws.between,typeof t!="undefined"))return!1}),t}rawColon(e){let t;return e.walkDecls(i=>{if(typeof i.raws.between!="undefined")return t=i.raws.between.replace(/[^\s:]/g,""),!1}),t}beforeAfter(e,t){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):t==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let n=e.parent,a=0;for(;n&&n.type!=="root";)a+=1,n=n.parent;if(i.includes(` +`)){let s=this.raw(e,null,"indent");if(s.length)for(let o=0;o{l();"use strict";var x0=Os();function Es(r,e){new x0(e).stringify(r)}wf.exports=Es;Es.default=Es});var wr=v((y3,bf)=>{l();"use strict";var{isClean:Ti,my:k0}=Oi(),S0=_i(),C0=Os(),A0=yr();function Ts(r,e){let t=new r.constructor;for(let i in r){if(!Object.prototype.hasOwnProperty.call(r,i)||i==="proxyCache")continue;let n=r[i],a=typeof n;i==="parent"&&a==="object"?e&&(t[i]=e):i==="source"?t[i]=n:Array.isArray(n)?t[i]=n.map(s=>Ts(s,t)):(a==="object"&&n!==null&&(n=Ts(n)),t[i]=n)}return t}var Pi=class{constructor(e={}){this.raws={},this[Ti]=!1,this[k0]=!0;for(let t in e)if(t==="nodes"){this.nodes=[];for(let i of e[t])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:i,end:n}=this.rangeBy(t);return this.source.input.error(e,{line:i.line,column:i.column},{line:n.line,column:n.column},t)}return new S0(e)}warn(e,t,i){let n={node:this};for(let a in i)n[a]=i[a];return e.warn(t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=A0){e.stringify&&(e=e.stringify);let t="";return e(this,i=>{t+=i}),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=Ts(this);for(let i in e)t[i]=e[i];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,i=!1;for(let n of e)n===this?i=!0:i?(this.parent.insertAfter(t,n),t=n):this.parent.insertBefore(t,n);i||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}raw(e,t){return new C0().raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let i={},n=t==null;t=t||new Map;let a=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let o=this[s];if(Array.isArray(o))i[s]=o.map(u=>typeof u=="object"&&u.toJSON?u.toJSON(null,t):u);else if(typeof o=="object"&&o.toJSON)i[s]=o.toJSON(null,t);else if(s==="source"){let u=t.get(o.input);u==null&&(u=a,t.set(o.input,a),a++),i[s]={inputId:u,start:o.start,end:o.end}}else i[s]=o}return n&&(i.inputs=[...t.keys()].map(s=>s.toJSON())),i}positionInside(e){let t=this.toString(),i=this.source.start.column,n=this.source.start.line;for(let a=0;ae.root().toProxy():e[t]}}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[Ti]){this[Ti]=!1;let e=this;for(;e=e.parent;)e[Ti]=!1}}get proxyOf(){return this}};bf.exports=Pi;Pi.default=Pi});var br=v((w3,vf)=>{l();"use strict";var _0=wr(),Di=class extends _0{constructor(e){e&&typeof e.value!="undefined"&&typeof e.value!="string"&&(e={...e,value:String(e.value)});super(e);this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};vf.exports=Di;Di.default=Di});var Ps=v((b3,xf)=>{l();xf.exports=function(r,e){return{generate:()=>{let t="";return r(e,i=>{t+=i}),[t]}}}});var vr=v((v3,kf)=>{l();"use strict";var O0=wr(),Ii=class extends O0{constructor(e){super(e);this.type="comment"}};kf.exports=Ii;Ii.default=Ii});var nt=v((x3,Df)=>{l();"use strict";var{isClean:Sf,my:Cf}=Oi(),Af=br(),_f=vr(),E0=wr(),Of,Ds,Is,Ef;function Tf(r){return r.map(e=>(e.nodes&&(e.nodes=Tf(e.nodes)),delete e.source,e))}function Pf(r){if(r[Sf]=!1,r.proxyOf.nodes)for(let e of r.proxyOf.nodes)Pf(e)}var we=class extends E0{push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),i,n;for(;this.indexes[t]{let n;try{n=e(t,i)}catch(a){throw t.addToError(a)}return n!==!1&&t.walk&&(n=t.walk(e)),n})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="decl"&&e.test(i.prop))return t(i,n)}):this.walk((i,n)=>{if(i.type==="decl"&&i.prop===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="decl")return t(i,n)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="rule"&&e.test(i.selector))return t(i,n)}):this.walk((i,n)=>{if(i.type==="rule"&&i.selector===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="rule")return t(i,n)}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="atrule"&&e.test(i.name))return t(i,n)}):this.walk((i,n)=>{if(i.type==="atrule"&&i.name===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="atrule")return t(i,n)}))}walkComments(e){return this.walk((t,i)=>{if(t.type==="comment")return e(t,i)})}append(...e){for(let t of e){let i=this.normalize(t,this.last);for(let n of i)this.proxyOf.nodes.push(n)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let i=this.normalize(t,this.first,"prepend").reverse();for(let n of i)this.proxyOf.nodes.unshift(n);for(let n in this.indexes)this.indexes[n]=this.indexes[n]+i.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let i=this.index(e),n=i===0?"prepend":!1,a=this.normalize(t,this.proxyOf.nodes[i],n).reverse();i=this.index(e);for(let o of a)this.proxyOf.nodes.splice(i,0,o);let s;for(let o in this.indexes)s=this.indexes[o],i<=s&&(this.indexes[o]=s+a.length);return this.markDirty(),this}insertAfter(e,t){let i=this.index(e),n=this.normalize(t,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of n)this.proxyOf.nodes.splice(i+1,0,s);let a;for(let s in this.indexes)a=this.indexes[s],i=e&&(this.indexes[i]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,i){return i||(i=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,i))}),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if(typeof e=="string")e=Tf(Of(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value=="undefined")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new Af(e)]}else if(e.selector)e=[new Ds(e)];else if(e.name)e=[new Is(e)];else if(e.text)e=[new _f(e)];else throw new Error("Unknown node type in node creation");return e.map(n=>(n[Cf]||we.rebuild(n),n=n.proxyOf,n.parent&&n.parent.removeChild(n),n[Sf]&&Pf(n),typeof n.raws.before=="undefined"&&t&&typeof t.raws.before!="undefined"&&(n.raws.before=t.raws.before.replace(/\S/g,"")),n.parent=this.proxyOf,n))}getProxyProcessor(){return{set(e,t,i){return e[t]===i||(e[t]=i,(t==="name"||t==="params"||t==="selector")&&e.markDirty()),!0},get(e,t){return t==="proxyOf"?e:e[t]?t==="each"||typeof t=="string"&&t.startsWith("walk")?(...i)=>e[t](...i.map(n=>typeof n=="function"?(a,s)=>n(a.toProxy(),s):n)):t==="every"||t==="some"?i=>e[t]((n,...a)=>i(n.toProxy(),...a)):t==="root"?()=>e.root().toProxy():t==="nodes"?e.nodes.map(i=>i.toProxy()):t==="first"||t==="last"?e[t].toProxy():e[t]:e[t]}}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}};we.registerParse=r=>{Of=r};we.registerRule=r=>{Ds=r};we.registerAtRule=r=>{Is=r};we.registerRoot=r=>{Ef=r};Df.exports=we;we.default=we;we.rebuild=r=>{r.type==="atrule"?Object.setPrototypeOf(r,Is.prototype):r.type==="rule"?Object.setPrototypeOf(r,Ds.prototype):r.type==="decl"?Object.setPrototypeOf(r,Af.prototype):r.type==="comment"?Object.setPrototypeOf(r,_f.prototype):r.type==="root"&&Object.setPrototypeOf(r,Ef.prototype),r[Cf]=!0,r.nodes&&r.nodes.forEach(e=>{we.rebuild(e)})}});var qi=v((k3,Rf)=>{l();"use strict";var T0=nt(),If,qf,Pt=class extends T0{constructor(e){super({type:"document",...e});this.nodes||(this.nodes=[])}toResult(e={}){return new If(new qf,this,e).stringify()}};Pt.registerLazyResult=r=>{If=r};Pt.registerProcessor=r=>{qf=r};Rf.exports=Pt;Pt.default=Pt});var qs=v((S3,Bf)=>{l();"use strict";var Mf={};Bf.exports=function(e){Mf[e]||(Mf[e]=!0,typeof console!="undefined"&&console.warn&&console.warn(e))}});var Rs=v((C3,Ff)=>{l();"use strict";var Ri=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let i=t.node.rangeBy(t);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in t)this[i]=t[i]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Ff.exports=Ri;Ri.default=Ri});var Bi=v((A3,Lf)=>{l();"use strict";var P0=Rs(),Mi=class{constructor(e,t,i){this.processor=e,this.messages=[],this.root=t,this.opts=i,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let i=new P0(e,t);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};Lf.exports=Mi;Mi.default=Mi});var Vf=v((_3,jf)=>{l();"use strict";var Ms="'".charCodeAt(0),Nf='"'.charCodeAt(0),Fi="\\".charCodeAt(0),$f="/".charCodeAt(0),Li=` +`.charCodeAt(0),xr=" ".charCodeAt(0),Ni="\f".charCodeAt(0),$i=" ".charCodeAt(0),zi="\r".charCodeAt(0),D0="[".charCodeAt(0),I0="]".charCodeAt(0),q0="(".charCodeAt(0),R0=")".charCodeAt(0),M0="{".charCodeAt(0),B0="}".charCodeAt(0),F0=";".charCodeAt(0),L0="*".charCodeAt(0),N0=":".charCodeAt(0),$0="@".charCodeAt(0),ji=/[\t\n\f\r "#'()/;[\\\]{}]/g,Vi=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,z0=/.[\n"'(/\\]/,zf=/[\da-f]/i;jf.exports=function(e,t={}){let i=e.css.valueOf(),n=t.ignoreErrors,a,s,o,u,c,f,d,p,m,b,x=i.length,y=0,w=[],k=[];function S(){return y}function _(R){throw e.error("Unclosed "+R,y)}function E(){return k.length===0&&y>=x}function I(R){if(k.length)return k.pop();if(y>=x)return;let J=R?R.ignoreUnclosed:!1;switch(a=i.charCodeAt(y),a){case Li:case xr:case $i:case zi:case Ni:{s=y;do s+=1,a=i.charCodeAt(s);while(a===xr||a===Li||a===$i||a===zi||a===Ni);b=["space",i.slice(y,s)],y=s-1;break}case D0:case I0:case M0:case B0:case N0:case F0:case R0:{let ue=String.fromCharCode(a);b=[ue,ue,y];break}case q0:{if(p=w.length?w.pop()[1]:"",m=i.charCodeAt(y+1),p==="url"&&m!==Ms&&m!==Nf&&m!==xr&&m!==Li&&m!==$i&&m!==Ni&&m!==zi){s=y;do{if(f=!1,s=i.indexOf(")",s+1),s===-1)if(n||J){s=y;break}else _("bracket");for(d=s;i.charCodeAt(d-1)===Fi;)d-=1,f=!f}while(f);b=["brackets",i.slice(y,s+1),y,s],y=s}else s=i.indexOf(")",y+1),u=i.slice(y,s+1),s===-1||z0.test(u)?b=["(","(",y]:(b=["brackets",u,y,s],y=s);break}case Ms:case Nf:{o=a===Ms?"'":'"',s=y;do{if(f=!1,s=i.indexOf(o,s+1),s===-1)if(n||J){s=y+1;break}else _("string");for(d=s;i.charCodeAt(d-1)===Fi;)d-=1,f=!f}while(f);b=["string",i.slice(y,s+1),y,s],y=s;break}case $0:{ji.lastIndex=y+1,ji.test(i),ji.lastIndex===0?s=i.length-1:s=ji.lastIndex-2,b=["at-word",i.slice(y,s+1),y,s],y=s;break}case Fi:{for(s=y,c=!0;i.charCodeAt(s+1)===Fi;)s+=1,c=!c;if(a=i.charCodeAt(s+1),c&&a!==$f&&a!==xr&&a!==Li&&a!==$i&&a!==zi&&a!==Ni&&(s+=1,zf.test(i.charAt(s)))){for(;zf.test(i.charAt(s+1));)s+=1;i.charCodeAt(s+1)===xr&&(s+=1)}b=["word",i.slice(y,s+1),y,s],y=s;break}default:{a===$f&&i.charCodeAt(y+1)===L0?(s=i.indexOf("*/",y+2)+1,s===0&&(n||J?s=i.length:_("comment")),b=["comment",i.slice(y,s+1),y,s],y=s):(Vi.lastIndex=y+1,Vi.test(i),Vi.lastIndex===0?s=i.length-1:s=Vi.lastIndex-2,b=["word",i.slice(y,s+1),y,s],w.push(b),y=s);break}}return y++,b}function q(R){k.push(R)}return{back:q,nextToken:I,endOfFile:E,position:S}}});var Ui=v((O3,Wf)=>{l();"use strict";var Uf=nt(),kr=class extends Uf{constructor(e){super(e);this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};Wf.exports=kr;kr.default=kr;Uf.registerAtRule(kr)});var Dt=v((E3,Qf)=>{l();"use strict";var Gf=nt(),Hf,Yf,vt=class extends Gf{constructor(e){super(e);this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let i=this.index(e);return!t&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}normalize(e,t,i){let n=super.normalize(e);if(t){if(i==="prepend")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let a of n)a.raws.before=t.raws.before}return n}toResult(e={}){return new Hf(new Yf,this,e).stringify()}};vt.registerLazyResult=r=>{Hf=r};vt.registerProcessor=r=>{Yf=r};Qf.exports=vt;vt.default=vt;Gf.registerRoot(vt)});var Bs=v((T3,Jf)=>{l();"use strict";var Sr={split(r,e,t){let i=[],n="",a=!1,s=0,o=!1,u="",c=!1;for(let f of r)c?c=!1:f==="\\"?c=!0:o?f===u&&(o=!1):f==='"'||f==="'"?(o=!0,u=f):f==="("?s+=1:f===")"?s>0&&(s-=1):s===0&&e.includes(f)&&(a=!0),a?(n!==""&&i.push(n.trim()),n="",a=!1):n+=f;return(t||n!=="")&&i.push(n.trim()),i},space(r){let e=[" ",` +`," "];return Sr.split(r,e)},comma(r){return Sr.split(r,[","],!0)}};Jf.exports=Sr;Sr.default=Sr});var Wi=v((P3,Kf)=>{l();"use strict";var Xf=nt(),j0=Bs(),Cr=class extends Xf{constructor(e){super(e);this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return j0.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,i=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}};Kf.exports=Cr;Cr.default=Cr;Xf.registerRule(Cr)});var ic=v((D3,rc)=>{l();"use strict";var V0=br(),U0=Vf(),W0=vr(),G0=Ui(),H0=Dt(),Zf=Wi(),ec={empty:!0,space:!0};function Y0(r){for(let e=r.length-1;e>=0;e--){let t=r[e],i=t[3]||t[2];if(i)return i}}var tc=class{constructor(e){this.input=e,this.root=new H0,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=U0(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}comment(e){let t=new W0;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let i=e[1].slice(2,-2);if(/^\s*$/.test(i))t.text="",t.raws.left=i,t.raws.right="";else{let n=i.match(/^(\s*)([^]*\S)(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}}emptyRule(e){let t=new Zf;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,i=null,n=!1,a=null,s=[],o=e[1].startsWith("--"),u=[],c=e;for(;c;){if(i=c[0],u.push(c),i==="("||i==="[")a||(a=c),s.push(i==="("?")":"]");else if(o&&n&&i==="{")a||(a=c),s.push("}");else if(s.length===0)if(i===";")if(n){this.decl(u,o);return}else break;else if(i==="{"){this.rule(u);return}else if(i==="}"){this.tokenizer.back(u.pop()),t=!0;break}else i===":"&&(n=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(a=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(a),t&&n){if(!o)for(;u.length&&(c=u[u.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(u.pop());this.decl(u,o)}else this.unknownWord(u)}rule(e){e.pop();let t=new Zf;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let i=new V0;this.init(i,e[0][2]);let n=e[e.length-1];for(n[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(n[3]||n[2]||Y0(e));e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let a;for(;e.length;)if(a=e.shift(),a[0]===":"){i.raws.between+=a[1];break}else a[0]==="word"&&/\w/.test(a[1])&&this.unknownWord([a]),i.raws.between+=a[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],o;for(;e.length&&(o=e[0][0],!(o!=="space"&&o!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(a=e[c],a[1].toLowerCase()==="!important"){i.important=!0;let f=this.stringFrom(e,c);f=this.spacesFromEnd(e)+f,f!==" !important"&&(i.raws.important=f);break}else if(a[1].toLowerCase()==="important"){let f=e.slice(0),d="";for(let p=c;p>0;p--){let m=f[p][0];if(d.trim().indexOf("!")===0&&m!=="space")break;d=f.pop()[1]+d}d.trim().indexOf("!")===0&&(i.important=!0,i.raws.important=d,e=f)}if(a[0]!=="space"&&a[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),t),i.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t=new G0;t.name=e[1].slice(1),t.name===""&&this.unnamedAtrule(t,e),this.init(t,e[2]);let i,n,a,s=!1,o=!1,u=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){t.source.end=this.getPosition(e[2]),this.semicolon=!0;break}else if(i==="{"){o=!0;break}else if(i==="}"){if(u.length>0){for(a=u.length-1,n=u[a];n&&n[0]==="space";)n=u[--a];n&&(t.source.end=this.getPosition(n[3]||n[2]))}this.end(e);break}else u.push(e);else u.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(t.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(t,"params",u),s&&(e=u[u.length-1],t.source.end=this.getPosition(e[3]||e[2]),this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type==="rule"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}raw(e,t,i,n){let a,s,o=i.length,u="",c=!0,f,d;for(let p=0;pm+b[1],"");e.raws[t]={value:u,raw:p}}e[t]=u}spacesAndCommentsFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],!(t!=="space"&&t!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let t,i="";for(;e.length&&(t=e[0][0],!(t!=="space"&&t!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],t==="space");)i=e.pop()[1]+i;return i}stringFrom(e,t){let i="";for(let n=t;n=0&&(n=e[a],!(n[0]!=="space"&&(i+=1,i===2)));a--);throw this.input.error("Missed semicolon",n[0]==="word"?n[3]+1:n[2])}};rc.exports=tc});var nc=v(()=>{l()});var ac=v((R3,sc)=>{l();var Q0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",J0=(r,e=21)=>(t=e)=>{let i="",n=t;for(;n--;)i+=r[Math.random()*r.length|0];return i},X0=(r=21)=>{let e="",t=r;for(;t--;)e+=Q0[Math.random()*64|0];return e};sc.exports={nanoid:X0,customAlphabet:J0}});var Fs=v((M3,oc)=>{l();oc.exports={}});var Hi=v((B3,cc)=>{l();"use strict";var{SourceMapConsumer:K0,SourceMapGenerator:Z0}=nc(),{fileURLToPath:lc,pathToFileURL:Gi}=(Cs(),pf),{resolve:Ls,isAbsolute:Ns}=(bt(),uf),{nanoid:ev}=ac(),$s=As(),uc=_i(),tv=Fs(),zs=Symbol("fromOffsetCache"),rv=Boolean(K0&&Z0),fc=Boolean(Ls&&Ns),Ar=class{constructor(e,t={}){if(e===null||typeof e=="undefined"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!fc||/^\w+:\/\//.test(t.from)||Ns(t.from)?this.file=t.from:this.file=Ls(t.from)),fc&&rv){let i=new tv(this.css,t);if(i.text){this.map=i;let n=i.consumer().file;!this.file&&n&&(this.file=this.mapResolve(n))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,i;if(this[zs])i=this[zs];else{let a=this.css.split(` +`);i=new Array(a.length);let s=0;for(let o=0,u=a.length;o=t)n=i.length-1;else{let a=i.length-2,s;for(;n>1),e=i[s+1])n=s+1;else{n=s;break}}return{line:n+1,col:e-i[n]+1}}error(e,t,i,n={}){let a,s,o;if(t&&typeof t=="object"){let c=t,f=i;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);t=d.line,i=d.col}else t=c.line,i=c.column;if(typeof f.offset=="number"){let d=this.fromOffset(f.offset);s=d.line,o=d.col}else s=f.line,o=f.column}else if(!i){let c=this.fromOffset(t);t=c.line,i=c.col}let u=this.origin(t,i,s,o);return u?a=new uc(e,u.endLine===void 0?u.line:{line:u.line,column:u.column},u.endLine===void 0?u.column:{line:u.endLine,column:u.endColumn},u.source,u.file,n.plugin):a=new uc(e,s===void 0?t:{line:t,column:i},s===void 0?i:{line:s,column:o},this.css,this.file,n.plugin),a.input={line:t,column:i,endLine:s,endColumn:o,source:this.css},this.file&&(Gi&&(a.input.url=Gi(this.file).toString()),a.input.file=this.file),a}origin(e,t,i,n){if(!this.map)return!1;let a=this.map.consumer(),s=a.originalPositionFor({line:e,column:t});if(!s.source)return!1;let o;typeof i=="number"&&(o=a.originalPositionFor({line:i,column:n}));let u;Ns(s.source)?u=Gi(s.source):u=new URL(s.source,this.map.consumer().sourceRoot||Gi(this.map.mapFile));let c={url:u.toString(),line:s.line,column:s.column,endLine:o&&o.line,endColumn:o&&o.column};if(u.protocol==="file:")if(lc)c.file=lc(u);else throw new Error("file: protocol is not available in this PostCSS build");let f=a.sourceContentFor(s.source);return f&&(c.source=f),c}mapResolve(e){return/^\w+:\/\//.test(e)?e:Ls(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};cc.exports=Ar;Ar.default=Ar;$s&&$s.registerInput&&$s.registerInput(Ar)});var Qi=v((F3,pc)=>{l();"use strict";var iv=nt(),nv=ic(),sv=Hi();function Yi(r,e){let t=new sv(r,e),i=new nv(t);try{i.parse()}catch(n){throw n}return i.root}pc.exports=Yi;Yi.default=Yi;iv.registerParse(Yi)});var Us=v((N3,gc)=>{l();"use strict";var{isClean:qe,my:av}=Oi(),ov=Ps(),lv=yr(),uv=nt(),fv=qi(),L3=qs(),dc=Bi(),cv=Qi(),pv=Dt(),dv={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},hv={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},mv={postcssPlugin:!0,prepare:!0,Once:!0},It=0;function _r(r){return typeof r=="object"&&typeof r.then=="function"}function hc(r){let e=!1,t=dv[r.type];return r.type==="decl"?e=r.prop.toLowerCase():r.type==="atrule"&&(e=r.name.toLowerCase()),e&&r.append?[t,t+"-"+e,It,t+"Exit",t+"Exit-"+e]:e?[t,t+"-"+e,t+"Exit",t+"Exit-"+e]:r.append?[t,It,t+"Exit"]:[t,t+"Exit"]}function mc(r){let e;return r.type==="document"?e=["Document",It,"DocumentExit"]:r.type==="root"?e=["Root",It,"RootExit"]:e=hc(r),{node:r,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function js(r){return r[qe]=!1,r.nodes&&r.nodes.forEach(e=>js(e)),r}var Vs={},Ve=class{constructor(e,t,i){this.stringified=!1,this.processed=!1;let n;if(typeof t=="object"&&t!==null&&(t.type==="root"||t.type==="document"))n=js(t);else if(t instanceof Ve||t instanceof dc)n=js(t.root),t.map&&(typeof i.map=="undefined"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=t.map);else{let a=cv;i.syntax&&(a=i.syntax.parse),i.parser&&(a=i.parser),a.parse&&(a=a.parse);try{n=a(t,i)}catch(s){this.processed=!0,this.error=s}n&&!n[av]&&uv.rebuild(n)}this.result=new dc(e,n,i),this.helpers={...Vs,result:this.result,postcss:Vs},this.plugins=this.processor.plugins.map(a=>typeof a=="object"&&a.prepare?{...a,...a.prepare(this.result)}:a)}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(_r(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[qe];)e[qe]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=lv;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let n=new ov(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}walkSync(e){e[qe]=!0;let t=hc(e);for(let i of t)if(i===It)e.nodes&&e.each(n=>{n[qe]||this.walkSync(n)});else{let n=this.listeners[i];if(n&&this.visitSync(n,e.toProxy()))return}}visitSync(e,t){for(let[i,n]of e){this.result.lastPlugin=i;let a;try{a=n(t,this.helpers)}catch(s){throw this.handleError(s,t.proxyOf)}if(t.type!=="root"&&t.type!=="document"&&!t.parent)return!0;if(_r(a))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let t=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return _r(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let i=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(n){console&&console.error&&console.error(n)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let i=this.visitTick(t);if(_r(i))try{await i}catch(n){let a=t[t.length-1].node;throw this.handleError(n,a)}}}if(this.listeners.OnceExit)for(let[t,i]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type==="document"){let n=e.nodes.map(a=>i(a,this.helpers));await Promise.all(n)}else await i(e,this.helpers)}catch(n){throw this.handleError(n)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(t,i,n)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([t,n])};for(let t of this.plugins)if(typeof t=="object")for(let i in t){if(!hv[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!mv[i])if(typeof t[i]=="object")for(let n in t[i])n==="*"?e(t,i,t[i][n]):e(t,i+"-"+n.toLowerCase(),t[i][n]);else typeof t[i]=="function"&&e(t,i,t[i])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:i,visitors:n}=t;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(n.length>0&&t.visitorIndex{Vs=r};gc.exports=Ve;Ve.default=Ve;pv.registerLazyResult(Ve);fv.registerLazyResult(Ve)});var wc=v((z3,yc)=>{l();"use strict";var gv=Ps(),yv=yr(),$3=qs(),wv=Qi(),bv=Bi(),Ji=class{constructor(e,t,i){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=i,this._map=void 0;let n,a=yv;this.result=new bv(this._processor,n,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let o=new gv(a,n,this._opts,t);if(o.isMap()){let[u,c]=o.generate();u&&(this.result.css=u),c&&(this.result.map=c)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=wv;try{e=t(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}};yc.exports=Ji;Ji.default=Ji});var vc=v((j3,bc)=>{l();"use strict";var vv=wc(),xv=Us(),kv=qi(),Sv=Dt(),qt=class{constructor(e=[]){this.version="8.4.24",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return this.plugins.length===0&&typeof t.parser=="undefined"&&typeof t.stringifier=="undefined"&&typeof t.syntax=="undefined"?new vv(this,e,t):new xv(this,e,t)}normalize(e){let t=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))t=t.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)t.push(i);else if(typeof i=="function")t.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return t}};bc.exports=qt;qt.default=qt;Sv.registerProcessor(qt);kv.registerProcessor(qt)});var kc=v((V3,xc)=>{l();"use strict";var Cv=br(),Av=Fs(),_v=vr(),Ov=Ui(),Ev=Hi(),Tv=Dt(),Pv=Wi();function Or(r,e){if(Array.isArray(r))return r.map(n=>Or(n));let{inputs:t,...i}=r;if(t){e=[];for(let n of t){let a={...n,__proto__:Ev.prototype};a.map&&(a.map={...a.map,__proto__:Av.prototype}),e.push(a)}}if(i.nodes&&(i.nodes=r.nodes.map(n=>Or(n,e))),i.source){let{inputId:n,...a}=i.source;i.source=a,n!=null&&(i.source.input=e[n])}if(i.type==="root")return new Tv(i);if(i.type==="decl")return new Cv(i);if(i.type==="rule")return new Pv(i);if(i.type==="comment")return new _v(i);if(i.type==="atrule")return new Ov(i);throw new Error("Unknown node type: "+r.type)}xc.exports=Or;Or.default=Or});var ge=v((U3,Tc)=>{l();"use strict";var Dv=_i(),Sc=br(),Iv=Us(),qv=nt(),Ws=vc(),Rv=yr(),Mv=kc(),Cc=qi(),Bv=Rs(),Ac=vr(),_c=Ui(),Fv=Bi(),Lv=Hi(),Nv=Qi(),$v=Bs(),Oc=Wi(),Ec=Dt(),zv=wr();function z(...r){return r.length===1&&Array.isArray(r[0])&&(r=r[0]),new Ws(r)}z.plugin=function(e,t){let i=!1;function n(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`),h.env.LANG&&h.env.LANG.startsWith("cn")&&console.warn(e+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: +https://www.w3ctech.com/topic/2226`));let o=t(...s);return o.postcssPlugin=e,o.postcssVersion=new Ws().version,o}let a;return Object.defineProperty(n,"postcss",{get(){return a||(a=n()),a}}),n.process=function(s,o,u){return z([n(u)]).process(s,o)},n};z.stringify=Rv;z.parse=Nv;z.fromJSON=Mv;z.list=$v;z.comment=r=>new Ac(r);z.atRule=r=>new _c(r);z.decl=r=>new Sc(r);z.rule=r=>new Oc(r);z.root=r=>new Ec(r);z.document=r=>new Cc(r);z.CssSyntaxError=Dv;z.Declaration=Sc;z.Container=qv;z.Processor=Ws;z.Document=Cc;z.Comment=Ac;z.Warning=Bv;z.AtRule=_c;z.Result=Fv;z.Input=Lv;z.Rule=Oc;z.Root=Ec;z.Node=zv;Iv.registerPostcss(z);Tc.exports=z;z.default=z});var U,j,W3,G3,H3,Y3,Q3,J3,X3,K3,Z3,eT,tT,rT,iT,nT,sT,aT,oT,lT,uT,fT,cT,pT,dT,hT,st=C(()=>{l();U=X(ge()),j=U.default,W3=U.default.stringify,G3=U.default.fromJSON,H3=U.default.plugin,Y3=U.default.parse,Q3=U.default.list,J3=U.default.document,X3=U.default.comment,K3=U.default.atRule,Z3=U.default.rule,eT=U.default.decl,tT=U.default.root,rT=U.default.CssSyntaxError,iT=U.default.Declaration,nT=U.default.Container,sT=U.default.Processor,aT=U.default.Document,oT=U.default.Comment,lT=U.default.Warning,uT=U.default.AtRule,fT=U.default.Result,cT=U.default.Input,pT=U.default.Rule,dT=U.default.Root,hT=U.default.Node});var Gs=v((gT,Pc)=>{l();Pc.exports=function(r,e,t,i,n){for(e=e.split?e.split("."):e,i=0;i{l();"use strict";Xi.__esModule=!0;Xi.default=Uv;function jv(r){for(var e=r.toLowerCase(),t="",i=!1,n=0;n<6&&e[n]!==void 0;n++){var a=e.charCodeAt(n),s=a>=97&&a<=102||a>=48&&a<=57;if(i=a===32,!s)break;t+=e[n]}if(t.length!==0){var o=parseInt(t,16),u=o>=55296&&o<=57343;return u||o===0||o>1114111?["\uFFFD",t.length+(i?1:0)]:[String.fromCodePoint(o),t.length+(i?1:0)]}}var Vv=/\\/;function Uv(r){var e=Vv.test(r);if(!e)return r;for(var t="",i=0;i{l();"use strict";Zi.__esModule=!0;Zi.default=Wv;function Wv(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i0;){var n=t.shift();if(!r[n])return;r=r[n]}return r}Ic.exports=Zi.default});var Mc=v((en,Rc)=>{l();"use strict";en.__esModule=!0;en.default=Gv;function Gv(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i0;){var n=t.shift();r[n]||(r[n]={}),r=r[n]}}Rc.exports=en.default});var Fc=v((tn,Bc)=>{l();"use strict";tn.__esModule=!0;tn.default=Hv;function Hv(r){for(var e="",t=r.indexOf("/*"),i=0;t>=0;){e=e+r.slice(i,t);var n=r.indexOf("*/",t+2);if(n<0)return e;i=n+2,t=r.indexOf("/*",i)}return e=e+r.slice(i),e}Bc.exports=tn.default});var Er=v(Re=>{l();"use strict";Re.__esModule=!0;Re.unesc=Re.stripComments=Re.getProp=Re.ensureObject=void 0;var Yv=rn(Ki());Re.unesc=Yv.default;var Qv=rn(qc());Re.getProp=Qv.default;var Jv=rn(Mc());Re.ensureObject=Jv.default;var Xv=rn(Fc());Re.stripComments=Xv.default;function rn(r){return r&&r.__esModule?r:{default:r}}});var Ue=v((Tr,$c)=>{l();"use strict";Tr.__esModule=!0;Tr.default=void 0;var Lc=Er();function Nc(r,e){for(var t=0;ti||this.source.end.linen||this.source.end.line===i&&this.source.end.column{l();"use strict";W.__esModule=!0;W.UNIVERSAL=W.TAG=W.STRING=W.SELECTOR=W.ROOT=W.PSEUDO=W.NESTING=W.ID=W.COMMENT=W.COMBINATOR=W.CLASS=W.ATTRIBUTE=void 0;var tx="tag";W.TAG=tx;var rx="string";W.STRING=rx;var ix="selector";W.SELECTOR=ix;var nx="root";W.ROOT=nx;var sx="pseudo";W.PSEUDO=sx;var ax="nesting";W.NESTING=ax;var ox="id";W.ID=ox;var lx="comment";W.COMMENT=lx;var ux="combinator";W.COMBINATOR=ux;var fx="class";W.CLASS=fx;var cx="attribute";W.ATTRIBUTE=cx;var px="universal";W.UNIVERSAL=px});var nn=v((Pr,Uc)=>{l();"use strict";Pr.__esModule=!0;Pr.default=void 0;var dx=mx(Ue()),We=hx(ne());function zc(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(zc=function(n){return n?t:e})(r)}function hx(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=zc(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function mx(r){return r&&r.__esModule?r:{default:r}}function gx(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=yx(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var i=0;return function(){return i>=r.length?{done:!0}:{done:!1,value:r[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yx(r,e){if(!!r){if(typeof r=="string")return jc(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return jc(r,e)}}function jc(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t=n&&(this.indexes[s]=a-1);return this},t.removeAll=function(){for(var n=gx(this.nodes),a;!(a=n()).done;){var s=a.value;s.parent=void 0}return this.nodes=[],this},t.empty=function(){return this.removeAll()},t.insertAfter=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s+1,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],s<=o&&(this.indexes[u]=o+1);return this},t.insertBefore=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],o<=s&&(this.indexes[u]=o+1);return this},t._findChildAtPosition=function(n,a){var s=void 0;return this.each(function(o){if(o.atPosition){var u=o.atPosition(n,a);if(u)return s=u,!1}else if(o.isAtPosition(n,a))return s=o,!1}),s},t.atPosition=function(n,a){if(this.isAtPosition(n,a))return this._findChildAtPosition(n,a)||this},t._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},t.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var a=this.lastEach;if(this.indexes[a]=0,!!this.length){for(var s,o;this.indexes[a]{l();"use strict";Dr.__esModule=!0;Dr.default=void 0;var xx=Sx(nn()),kx=ne();function Sx(r){return r&&r.__esModule?r:{default:r}}function Wc(r,e){for(var t=0;t{l();"use strict";Ir.__esModule=!0;Ir.default=void 0;var Ox=Tx(nn()),Ex=ne();function Tx(r){return r&&r.__esModule?r:{default:r}}function Px(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,Js(r,e)}function Js(r,e){return Js=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Js(r,e)}var Dx=function(r){Px(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=Ex.SELECTOR,i}return e}(Ox.default);Ir.default=Dx;Hc.exports=Ir.default});var sn=v((bT,Yc)=>{l();"use strict";var Ix={},qx=Ix.hasOwnProperty,Rx=function(e,t){if(!e)return t;var i={};for(var n in t)i[n]=qx.call(e,n)?e[n]:t[n];return i},Mx=/[ -,\.\/:-@\[-\^`\{-~]/,Bx=/[ -,\.\/:-@\[\]\^`\{-~]/,Fx=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Ks=function r(e,t){t=Rx(t,r.options),t.quotes!="single"&&t.quotes!="double"&&(t.quotes="single");for(var i=t.quotes=="double"?'"':"'",n=t.isIdentifier,a=e.charAt(0),s="",o=0,u=e.length;o126){if(f>=55296&&f<=56319&&o{l();"use strict";qr.__esModule=!0;qr.default=void 0;var Lx=Qc(sn()),Nx=Er(),$x=Qc(Ue()),zx=ne();function Qc(r){return r&&r.__esModule?r:{default:r}}function Jc(r,e){for(var t=0;t{l();"use strict";Rr.__esModule=!0;Rr.default=void 0;var Wx=Hx(Ue()),Gx=ne();function Hx(r){return r&&r.__esModule?r:{default:r}}function Yx(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ta(r,e)}function ta(r,e){return ta=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ta(r,e)}var Qx=function(r){Yx(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=Gx.COMMENT,i}return e}(Wx.default);Rr.default=Qx;Kc.exports=Rr.default});var na=v((Mr,Zc)=>{l();"use strict";Mr.__esModule=!0;Mr.default=void 0;var Jx=Kx(Ue()),Xx=ne();function Kx(r){return r&&r.__esModule?r:{default:r}}function Zx(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ia(r,e)}function ia(r,e){return ia=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ia(r,e)}var e1=function(r){Zx(e,r);function e(i){var n;return n=r.call(this,i)||this,n.type=Xx.ID,n}var t=e.prototype;return t.valueToString=function(){return"#"+r.prototype.valueToString.call(this)},e}(Jx.default);Mr.default=e1;Zc.exports=Mr.default});var an=v((Br,rp)=>{l();"use strict";Br.__esModule=!0;Br.default=void 0;var t1=ep(sn()),r1=Er(),i1=ep(Ue());function ep(r){return r&&r.__esModule?r:{default:r}}function tp(r,e){for(var t=0;t{l();"use strict";Fr.__esModule=!0;Fr.default=void 0;var o1=u1(an()),l1=ne();function u1(r){return r&&r.__esModule?r:{default:r}}function f1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,aa(r,e)}function aa(r,e){return aa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},aa(r,e)}var c1=function(r){f1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=l1.TAG,i}return e}(o1.default);Fr.default=c1;ip.exports=Fr.default});var ua=v((Lr,np)=>{l();"use strict";Lr.__esModule=!0;Lr.default=void 0;var p1=h1(Ue()),d1=ne();function h1(r){return r&&r.__esModule?r:{default:r}}function m1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,la(r,e)}function la(r,e){return la=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},la(r,e)}var g1=function(r){m1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=d1.STRING,i}return e}(p1.default);Lr.default=g1;np.exports=Lr.default});var ca=v((Nr,sp)=>{l();"use strict";Nr.__esModule=!0;Nr.default=void 0;var y1=b1(nn()),w1=ne();function b1(r){return r&&r.__esModule?r:{default:r}}function v1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,fa(r,e)}function fa(r,e){return fa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},fa(r,e)}var x1=function(r){v1(e,r);function e(i){var n;return n=r.call(this,i)||this,n.type=w1.PSEUDO,n}var t=e.prototype;return t.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(y1.default);Nr.default=x1;sp.exports=Nr.default});var ap={};Ae(ap,{deprecate:()=>k1});function k1(r){return r}var op=C(()=>{l()});var up=v((vT,lp)=>{l();lp.exports=(op(),ap).deprecate});var ya=v(jr=>{l();"use strict";jr.__esModule=!0;jr.default=void 0;jr.unescapeValue=ma;var $r=da(sn()),S1=da(Ki()),C1=da(an()),A1=ne(),pa;function da(r){return r&&r.__esModule?r:{default:r}}function fp(r,e){for(var t=0;t0&&!n.quoted&&o.before.length===0&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),cp(s,o)}))),a.push("]"),a.push(this.rawSpaceAfter),a.join("")},_1(e,[{key:"quoted",get:function(){var n=this.quoteMark;return n==="'"||n==='"'},set:function(n){P1()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){if(!this._constructed){this._quoteMark=n;return}this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue())}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var a=ma(n),s=a.deprecatedUsage,o=a.unescaped,u=a.quoteMark;if(s&&T1(),o===this._value&&u===this._quoteMark)return;this._value=o,this._quoteMark=u,this._syncRawValue()}else this._value=n}},{key:"insensitive",get:function(){return this._insensitive},set:function(n){n||(this._insensitive=!1,this.raws&&(this.raws.insensitiveFlag==="I"||this.raws.insensitiveFlag==="i")&&(this.raws.insensitiveFlag=void 0)),this._insensitive=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(C1.default);jr.default=on;on.NO_QUOTE=null;on.SINGLE_QUOTE="'";on.DOUBLE_QUOTE='"';var ga=(pa={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}},pa[null]={isIdentifier:!0},pa);function cp(r,e){return""+e.before+r+e.after}});var ba=v((Vr,pp)=>{l();"use strict";Vr.__esModule=!0;Vr.default=void 0;var q1=M1(an()),R1=ne();function M1(r){return r&&r.__esModule?r:{default:r}}function B1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,wa(r,e)}function wa(r,e){return wa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},wa(r,e)}var F1=function(r){B1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=R1.UNIVERSAL,i.value="*",i}return e}(q1.default);Vr.default=F1;pp.exports=Vr.default});var xa=v((Ur,dp)=>{l();"use strict";Ur.__esModule=!0;Ur.default=void 0;var L1=$1(Ue()),N1=ne();function $1(r){return r&&r.__esModule?r:{default:r}}function z1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,va(r,e)}function va(r,e){return va=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},va(r,e)}var j1=function(r){z1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=N1.COMBINATOR,i}return e}(L1.default);Ur.default=j1;dp.exports=Ur.default});var Sa=v((Wr,hp)=>{l();"use strict";Wr.__esModule=!0;Wr.default=void 0;var V1=W1(Ue()),U1=ne();function W1(r){return r&&r.__esModule?r:{default:r}}function G1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ka(r,e)}function ka(r,e){return ka=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ka(r,e)}var H1=function(r){G1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=U1.NESTING,i.value="&",i}return e}(V1.default);Wr.default=H1;hp.exports=Wr.default});var gp=v((ln,mp)=>{l();"use strict";ln.__esModule=!0;ln.default=Y1;function Y1(r){return r.sort(function(e,t){return e-t})}mp.exports=ln.default});var Ca=v(D=>{l();"use strict";D.__esModule=!0;D.word=D.tilde=D.tab=D.str=D.space=D.slash=D.singleQuote=D.semicolon=D.plus=D.pipe=D.openSquare=D.openParenthesis=D.newline=D.greaterThan=D.feed=D.equals=D.doubleQuote=D.dollar=D.cr=D.comment=D.comma=D.combinator=D.colon=D.closeSquare=D.closeParenthesis=D.caret=D.bang=D.backslash=D.at=D.asterisk=D.ampersand=void 0;var Q1=38;D.ampersand=Q1;var J1=42;D.asterisk=J1;var X1=64;D.at=X1;var K1=44;D.comma=K1;var Z1=58;D.colon=Z1;var ek=59;D.semicolon=ek;var tk=40;D.openParenthesis=tk;var rk=41;D.closeParenthesis=rk;var ik=91;D.openSquare=ik;var nk=93;D.closeSquare=nk;var sk=36;D.dollar=sk;var ak=126;D.tilde=ak;var ok=94;D.caret=ok;var lk=43;D.plus=lk;var uk=61;D.equals=uk;var fk=124;D.pipe=fk;var ck=62;D.greaterThan=ck;var pk=32;D.space=pk;var yp=39;D.singleQuote=yp;var dk=34;D.doubleQuote=dk;var hk=47;D.slash=hk;var mk=33;D.bang=mk;var gk=92;D.backslash=gk;var yk=13;D.cr=yk;var wk=12;D.feed=wk;var bk=10;D.newline=bk;var vk=9;D.tab=vk;var xk=yp;D.str=xk;var kk=-1;D.comment=kk;var Sk=-2;D.word=Sk;var Ck=-3;D.combinator=Ck});var vp=v(Gr=>{l();"use strict";Gr.__esModule=!0;Gr.FIELDS=void 0;Gr.default=Dk;var O=Ak(Ca()),Rt,V;function wp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(wp=function(n){return n?t:e})(r)}function Ak(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=wp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}var _k=(Rt={},Rt[O.tab]=!0,Rt[O.newline]=!0,Rt[O.cr]=!0,Rt[O.feed]=!0,Rt),Ok=(V={},V[O.space]=!0,V[O.tab]=!0,V[O.newline]=!0,V[O.cr]=!0,V[O.feed]=!0,V[O.ampersand]=!0,V[O.asterisk]=!0,V[O.bang]=!0,V[O.comma]=!0,V[O.colon]=!0,V[O.semicolon]=!0,V[O.openParenthesis]=!0,V[O.closeParenthesis]=!0,V[O.openSquare]=!0,V[O.closeSquare]=!0,V[O.singleQuote]=!0,V[O.doubleQuote]=!0,V[O.plus]=!0,V[O.pipe]=!0,V[O.tilde]=!0,V[O.greaterThan]=!0,V[O.equals]=!0,V[O.dollar]=!0,V[O.caret]=!0,V[O.slash]=!0,V),Aa={},bp="0123456789abcdefABCDEF";for(un=0;un0?(k=s+x,S=w-y[x].length):(k=s,S=a),E=O.comment,s=k,p=k,d=w-S):c===O.slash?(w=o,E=c,p=s,d=o-a,u=w+1):(w=Ek(t,o),E=O.word,p=s,d=w-a),u=w+1;break}e.push([E,s,o-a,p,d,o,u]),S&&(a=S,S=null),o=u}return e}});var Ep=v((Hr,Op)=>{l();"use strict";Hr.__esModule=!0;Hr.default=void 0;var Ik=be(Qs()),_a=be(Xs()),qk=be(ea()),xp=be(ra()),Rk=be(na()),Mk=be(oa()),Oa=be(ua()),Bk=be(ca()),kp=fn(ya()),Fk=be(ba()),Ea=be(xa()),Lk=be(Sa()),Nk=be(gp()),A=fn(vp()),T=fn(Ca()),$k=fn(ne()),Y=Er(),xt,Ta;function Sp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Sp=function(n){return n?t:e})(r)}function fn(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=Sp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function be(r){return r&&r.__esModule?r:{default:r}}function Cp(r,e){for(var t=0;t0){var s=this.current.last;if(s){var o=this.convertWhitespaceNodesToSpace(a),u=o.space,c=o.rawSpace;c!==void 0&&(s.rawSpaceAfter+=c),s.spaces.after+=u}else a.forEach(function(E){return i.newNode(E)})}return}var f=this.currToken,d=void 0;n>this.position&&(d=this.parseWhitespaceEquivalentTokens(n));var p;if(this.isNamedCombinator()?p=this.namedCombinator():this.currToken[A.FIELDS.TYPE]===T.combinator?(p=new Ea.default({value:this.content(),source:Mt(this.currToken),sourceIndex:this.currToken[A.FIELDS.START_POS]}),this.position++):Pa[this.currToken[A.FIELDS.TYPE]]||d||this.unexpected(),p){if(d){var m=this.convertWhitespaceNodesToSpace(d),b=m.space,x=m.rawSpace;p.spaces.before=b,p.rawSpaceBefore=x}}else{var y=this.convertWhitespaceNodesToSpace(d,!0),w=y.space,k=y.rawSpace;k||(k=w);var S={},_={spaces:{}};w.endsWith(" ")&&k.endsWith(" ")?(S.before=w.slice(0,w.length-1),_.spaces.before=k.slice(0,k.length-1)):w.startsWith(" ")&&k.startsWith(" ")?(S.after=w.slice(1),_.spaces.after=k.slice(1)):_.value=k,p=new Ea.default({value:" ",source:Da(f,this.tokens[this.position-1]),sourceIndex:f[A.FIELDS.START_POS],spaces:S,raws:_})}return this.currToken&&this.currToken[A.FIELDS.TYPE]===T.space&&(p.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(p)},e.comma=function(){if(this.position===this.tokens.length-1){this.root.trailingComma=!0,this.position++;return}this.current._inferEndPosition();var i=new _a.default({source:{start:Ap(this.tokens[this.position+1])}});this.current.parent.append(i),this.current=i,this.position++},e.comment=function(){var i=this.currToken;this.newNode(new xp.default({value:this.content(),source:Mt(i),sourceIndex:i[A.FIELDS.START_POS]})),this.position++},e.error=function(i,n){throw this.root.error(i,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[A.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[A.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[A.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[A.FIELDS.START_POS])},e.unexpectedPipe=function(){return this.error("Unexpected '|'.",this.currToken[A.FIELDS.START_POS])},e.namespace=function(){var i=this.prevToken&&this.content(this.prevToken)||!0;if(this.nextToken[A.FIELDS.TYPE]===T.word)return this.position++,this.word(i);if(this.nextToken[A.FIELDS.TYPE]===T.asterisk)return this.position++,this.universal(i);this.unexpectedPipe()},e.nesting=function(){if(this.nextToken){var i=this.content(this.nextToken);if(i==="|"){this.position++;return}}var n=this.currToken;this.newNode(new Lk.default({value:this.content(),source:Mt(n),sourceIndex:n[A.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var i=this.current.last,n=1;if(this.position++,i&&i.type===$k.PSEUDO){var a=new _a.default({source:{start:Ap(this.tokens[this.position-1])}}),s=this.current;for(i.append(a),this.current=a;this.position1&&i.nextToken&&i.nextToken[A.FIELDS.TYPE]===T.openParenthesis&&i.error("Misplaced parenthesis.",{index:i.nextToken[A.FIELDS.START_POS]})});else return this.expected(["pseudo-class","pseudo-element"],this.currToken[A.FIELDS.START_POS])},e.space=function(){var i=this.content();this.position===0||this.prevToken[A.FIELDS.TYPE]===T.comma||this.prevToken[A.FIELDS.TYPE]===T.openParenthesis||this.current.nodes.every(function(n){return n.type==="comment"})?(this.spaces=this.optionalSpace(i),this.position++):this.position===this.tokens.length-1||this.nextToken[A.FIELDS.TYPE]===T.comma||this.nextToken[A.FIELDS.TYPE]===T.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(i),this.position++):this.combinator()},e.string=function(){var i=this.currToken;this.newNode(new Oa.default({value:this.content(),source:Mt(i),sourceIndex:i[A.FIELDS.START_POS]})),this.position++},e.universal=function(i){var n=this.nextToken;if(n&&this.content(n)==="|")return this.position++,this.namespace();var a=this.currToken;this.newNode(new Fk.default({value:this.content(),source:Mt(a),sourceIndex:a[A.FIELDS.START_POS]}),i),this.position++},e.splitWord=function(i,n){for(var a=this,s=this.nextToken,o=this.content();s&&~[T.dollar,T.caret,T.equals,T.word].indexOf(s[A.FIELDS.TYPE]);){this.position++;var u=this.content();if(o+=u,u.lastIndexOf("\\")===u.length-1){var c=this.nextToken;c&&c[A.FIELDS.TYPE]===T.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}s=this.nextToken}var f=Ia(o,".").filter(function(b){var x=o[b-1]==="\\",y=/^\d+\.\d+%$/.test(o);return!x&&!y}),d=Ia(o,"#").filter(function(b){return o[b-1]!=="\\"}),p=Ia(o,"#{");p.length&&(d=d.filter(function(b){return!~p.indexOf(b)}));var m=(0,Nk.default)(Vk([0].concat(f,d)));m.forEach(function(b,x){var y=m[x+1]||o.length,w=o.slice(b,y);if(x===0&&n)return n.call(a,w,m.length);var k,S=a.currToken,_=S[A.FIELDS.START_POS]+m[x],E=kt(S[1],S[2]+b,S[3],S[2]+(y-1));if(~f.indexOf(b)){var I={value:w.slice(1),source:E,sourceIndex:_};k=new qk.default(Bt(I,"value"))}else if(~d.indexOf(b)){var q={value:w.slice(1),source:E,sourceIndex:_};k=new Rk.default(Bt(q,"value"))}else{var R={value:w,source:E,sourceIndex:_};Bt(R,"value"),k=new Mk.default(R)}a.newNode(k,i),i=null}),this.position++},e.word=function(i){var n=this.nextToken;return n&&this.content(n)==="|"?(this.position++,this.namespace()):this.splitWord(i)},e.loop=function(){for(;this.position{l();"use strict";Yr.__esModule=!0;Yr.default=void 0;var Wk=Gk(Ep());function Gk(r){return r&&r.__esModule?r:{default:r}}var Hk=function(){function r(t,i){this.func=t||function(){},this.funcRes=null,this.options=i}var e=r.prototype;return e._shouldUpdateSelector=function(i,n){n===void 0&&(n={});var a=Object.assign({},this.options,n);return a.updateSelector===!1?!1:typeof i!="string"},e._isLossy=function(i){i===void 0&&(i={});var n=Object.assign({},this.options,i);return n.lossless===!1},e._root=function(i,n){n===void 0&&(n={});var a=new Wk.default(i,this._parseOptions(n));return a.root},e._parseOptions=function(i){return{lossy:this._isLossy(i)}},e._run=function(i,n){var a=this;return n===void 0&&(n={}),new Promise(function(s,o){try{var u=a._root(i,n);Promise.resolve(a.func(u)).then(function(c){var f=void 0;return a._shouldUpdateSelector(i,n)&&(f=u.toString(),i.selector=f),{transform:c,root:u,string:f}}).then(s,o)}catch(c){o(c);return}})},e._runSync=function(i,n){n===void 0&&(n={});var a=this._root(i,n),s=this.func(a);if(s&&typeof s.then=="function")throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&typeof i!="string"&&(o=a.toString(),i.selector=o),{transform:s,root:a,string:o}},e.ast=function(i,n){return this._run(i,n).then(function(a){return a.root})},e.astSync=function(i,n){return this._runSync(i,n).root},e.transform=function(i,n){return this._run(i,n).then(function(a){return a.transform})},e.transformSync=function(i,n){return this._runSync(i,n).transform},e.process=function(i,n){return this._run(i,n).then(function(a){return a.string||a.root.toString()})},e.processSync=function(i,n){var a=this._runSync(i,n);return a.string||a.root.toString()},r}();Yr.default=Hk;Tp.exports=Yr.default});var Dp=v(G=>{l();"use strict";G.__esModule=!0;G.universal=G.tag=G.string=G.selector=G.root=G.pseudo=G.nesting=G.id=G.comment=G.combinator=G.className=G.attribute=void 0;var Yk=ve(ya()),Qk=ve(ea()),Jk=ve(xa()),Xk=ve(ra()),Kk=ve(na()),Zk=ve(Sa()),eS=ve(ca()),tS=ve(Qs()),rS=ve(Xs()),iS=ve(ua()),nS=ve(oa()),sS=ve(ba());function ve(r){return r&&r.__esModule?r:{default:r}}var aS=function(e){return new Yk.default(e)};G.attribute=aS;var oS=function(e){return new Qk.default(e)};G.className=oS;var lS=function(e){return new Jk.default(e)};G.combinator=lS;var uS=function(e){return new Xk.default(e)};G.comment=uS;var fS=function(e){return new Kk.default(e)};G.id=fS;var cS=function(e){return new Zk.default(e)};G.nesting=cS;var pS=function(e){return new eS.default(e)};G.pseudo=pS;var dS=function(e){return new tS.default(e)};G.root=dS;var hS=function(e){return new rS.default(e)};G.selector=hS;var mS=function(e){return new iS.default(e)};G.string=mS;var gS=function(e){return new nS.default(e)};G.tag=gS;var yS=function(e){return new sS.default(e)};G.universal=yS});var Mp=v($=>{l();"use strict";$.__esModule=!0;$.isComment=$.isCombinator=$.isClassName=$.isAttribute=void 0;$.isContainer=TS;$.isIdentifier=void 0;$.isNamespace=PS;$.isNesting=void 0;$.isNode=qa;$.isPseudo=void 0;$.isPseudoClass=ES;$.isPseudoElement=Rp;$.isUniversal=$.isTag=$.isString=$.isSelector=$.isRoot=void 0;var Q=ne(),fe,wS=(fe={},fe[Q.ATTRIBUTE]=!0,fe[Q.CLASS]=!0,fe[Q.COMBINATOR]=!0,fe[Q.COMMENT]=!0,fe[Q.ID]=!0,fe[Q.NESTING]=!0,fe[Q.PSEUDO]=!0,fe[Q.ROOT]=!0,fe[Q.SELECTOR]=!0,fe[Q.STRING]=!0,fe[Q.TAG]=!0,fe[Q.UNIVERSAL]=!0,fe);function qa(r){return typeof r=="object"&&wS[r.type]}function xe(r,e){return qa(e)&&e.type===r}var Ip=xe.bind(null,Q.ATTRIBUTE);$.isAttribute=Ip;var bS=xe.bind(null,Q.CLASS);$.isClassName=bS;var vS=xe.bind(null,Q.COMBINATOR);$.isCombinator=vS;var xS=xe.bind(null,Q.COMMENT);$.isComment=xS;var kS=xe.bind(null,Q.ID);$.isIdentifier=kS;var SS=xe.bind(null,Q.NESTING);$.isNesting=SS;var Ra=xe.bind(null,Q.PSEUDO);$.isPseudo=Ra;var CS=xe.bind(null,Q.ROOT);$.isRoot=CS;var AS=xe.bind(null,Q.SELECTOR);$.isSelector=AS;var _S=xe.bind(null,Q.STRING);$.isString=_S;var qp=xe.bind(null,Q.TAG);$.isTag=qp;var OS=xe.bind(null,Q.UNIVERSAL);$.isUniversal=OS;function Rp(r){return Ra(r)&&r.value&&(r.value.startsWith("::")||r.value.toLowerCase()===":before"||r.value.toLowerCase()===":after"||r.value.toLowerCase()===":first-letter"||r.value.toLowerCase()===":first-line")}function ES(r){return Ra(r)&&!Rp(r)}function TS(r){return!!(qa(r)&&r.walk)}function PS(r){return Ip(r)||qp(r)}});var Bp=v(Ee=>{l();"use strict";Ee.__esModule=!0;var Ma=ne();Object.keys(Ma).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Ma[r]||(Ee[r]=Ma[r])});var Ba=Dp();Object.keys(Ba).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Ba[r]||(Ee[r]=Ba[r])});var Fa=Mp();Object.keys(Fa).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Fa[r]||(Ee[r]=Fa[r])})});var Me=v((Qr,Lp)=>{l();"use strict";Qr.__esModule=!0;Qr.default=void 0;var DS=RS(Pp()),IS=qS(Bp());function Fp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Fp=function(n){return n?t:e})(r)}function qS(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=Fp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function RS(r){return r&&r.__esModule?r:{default:r}}var La=function(e){return new DS.default(e)};Object.assign(La,IS);delete La.__esModule;var MS=La;Qr.default=MS;Lp.exports=Qr.default});function Ge(r){return["fontSize","outline"].includes(r)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e[0]),e):r==="fontFamily"?e=>{typeof e=="function"&&(e=e({}));let t=Array.isArray(e)&&ie(e[1])?e[0]:e;return Array.isArray(t)?t.join(", "):t}:["boxShadow","transitionProperty","transitionDuration","transitionDelay","transitionTimingFunction","backgroundImage","backgroundSize","backgroundColor","cursor","animation"].includes(r)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e.join(", ")),e):["gridTemplateColumns","gridTemplateRows","objectPosition"].includes(r)?e=>(typeof e=="function"&&(e=e({})),typeof e=="string"&&(e=j.list.comma(e).join(" ")),e):(e,t={})=>(typeof e=="function"&&(e=e(t)),e)}var Jr=C(()=>{l();st();At()});var Wp=v((PT,Va)=>{l();var{Rule:Np,AtRule:BS}=ge(),$p=Me();function Na(r,e){let t;try{$p(i=>{t=i}).processSync(r)}catch(i){throw r.includes(":")?e?e.error("Missed semicolon"):i:e?e.error(i.message):i}return t.at(0)}function zp(r,e){let t=!1;return r.each(i=>{if(i.type==="nesting"){let n=e.clone({});i.value!=="&"?i.replaceWith(Na(i.value.replace("&",n.toString()))):i.replaceWith(n),t=!0}else"nodes"in i&&i.nodes&&zp(i,e)&&(t=!0)}),t}function jp(r,e){let t=[];return r.selectors.forEach(i=>{let n=Na(i,r);e.selectors.forEach(a=>{if(!a)return;let s=Na(a,e);zp(s,n)||(s.prepend($p.combinator({value:" "})),s.prepend(n.clone({}))),t.push(s.toString())})}),t}function cn(r,e){let t=r.prev();for(e.after(r);t&&t.type==="comment";){let i=t.prev();e.after(t),t=i}return r}function FS(r){return function e(t,i,n,a=n){let s=[];if(i.each(o=>{o.type==="rule"&&n?a&&(o.selectors=jp(t,o)):o.type==="atrule"&&o.nodes?r[o.name]?e(t,o,a):i[za]!==!1&&s.push(o):s.push(o)}),n&&s.length){let o=t.clone({nodes:[]});for(let u of s)o.append(u);i.prepend(o)}}}function $a(r,e,t){let i=new Np({selector:r,nodes:[]});return i.append(e),t.after(i),i}function Vp(r,e){let t={};for(let i of r)t[i]=!0;if(e)for(let i of e)t[i.replace(/^@/,"")]=!0;return t}function LS(r){r=r.trim();let e=r.match(/^\((.*)\)$/);if(!e)return{type:"basic",selector:r};let t=e[1].match(/^(with(?:out)?):(.+)$/);if(t){let i=t[1]==="with",n=Object.fromEntries(t[2].trim().split(/\s+/).map(s=>[s,!0]));if(i&&n.all)return{type:"noop"};let a=s=>!!n[s];return n.all?a=()=>!0:i&&(a=s=>s==="all"?!1:!n[s]),{type:"withrules",escapes:a}}return{type:"unknown"}}function NS(r){let e=[],t=r.parent;for(;t&&t instanceof BS;)e.push(t),t=t.parent;return e}function $S(r){let e=r[Up];if(!e)r.after(r.nodes);else{let t=r.nodes,i,n=-1,a,s,o,u=NS(r);if(u.forEach((c,f)=>{if(e(c.name))i=c,n=f,s=o;else{let d=o;o=c.clone({nodes:[]}),d&&o.append(d),a=a||o}}),i?s?(a.append(t),i.after(s)):i.after(t):r.after(t),r.next()&&i){let c;u.slice(0,n+1).forEach((f,d,p)=>{let m=c;c=f.clone({nodes:[]}),m&&c.append(m);let b=[],y=(p[d-1]||r).next();for(;y;)b.push(y),y=y.next();c.append(b)}),c&&(s||t[t.length-1]).after(c)}}r.remove()}var za=Symbol("rootRuleMergeSel"),Up=Symbol("rootRuleEscapes");function zS(r){let{params:e}=r,{type:t,selector:i,escapes:n}=LS(e);if(t==="unknown")throw r.error(`Unknown @${r.name} parameter ${JSON.stringify(e)}`);if(t==="basic"&&i){let a=new Np({selector:i,nodes:r.nodes});r.removeAll(),r.append(a)}r[Up]=n,r[za]=n?!n("all"):t==="noop"}var ja=Symbol("hasRootRule");Va.exports=(r={})=>{let e=Vp(["media","supports","layer","container"],r.bubble),t=FS(e),i=Vp(["document","font-face","keyframes","-webkit-keyframes","-moz-keyframes"],r.unwrap),n=(r.rootRuleName||"at-root").replace(/^@/,""),a=r.preserveEmpty;return{postcssPlugin:"postcss-nested",Once(s){s.walkAtRules(n,o=>{zS(o),s[ja]=!0})},Rule(s){let o=!1,u=s,c=!1,f=[];s.each(d=>{d.type==="rule"?(f.length&&(u=$a(s.selector,f,u),f=[]),c=!0,o=!0,d.selectors=jp(s,d),u=cn(d,u)):d.type==="atrule"?(f.length&&(u=$a(s.selector,f,u),f=[]),d.name===n?(o=!0,t(s,d,!0,d[za]),u=cn(d,u)):e[d.name]?(c=!0,o=!0,t(s,d,!0),u=cn(d,u)):i[d.name]?(c=!0,o=!0,t(s,d,!1),u=cn(d,u)):c&&f.push(d)):d.type==="decl"&&c&&f.push(d)}),f.length&&(u=$a(s.selector,f,u)),o&&a!==!0&&(s.raws.semicolon=!0,s.nodes.length===0&&s.remove())},RootExit(s){s[ja]&&(s.walkAtRules(n,$S),s[ja]=!1)}}};Va.exports.postcss=!0});var Qp=v((DT,Yp)=>{l();"use strict";var Gp=/-(\w|$)/g,Hp=(r,e)=>e.toUpperCase(),jS=r=>(r=r.toLowerCase(),r==="float"?"cssFloat":r.startsWith("-ms-")?r.substr(1).replace(Gp,Hp):r.replace(Gp,Hp));Yp.exports=jS});var Ga=v((IT,Jp)=>{l();var VS=Qp(),US={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function Ua(r){return typeof r.nodes=="undefined"?!0:Wa(r)}function Wa(r){let e,t={};return r.each(i=>{if(i.type==="atrule")e="@"+i.name,i.params&&(e+=" "+i.params),typeof t[e]=="undefined"?t[e]=Ua(i):Array.isArray(t[e])?t[e].push(Ua(i)):t[e]=[t[e],Ua(i)];else if(i.type==="rule"){let n=Wa(i);if(t[i.selector])for(let a in n)t[i.selector][a]=n[a];else t[i.selector]=n}else if(i.type==="decl"){i.prop[0]==="-"&&i.prop[1]==="-"||i.parent&&i.parent.selector===":export"?e=i.prop:e=VS(i.prop);let n=i.value;!isNaN(i.value)&&US[e]&&(n=parseFloat(i.value)),i.important&&(n+=" !important"),typeof t[e]=="undefined"?t[e]=n:Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]}}),t}Jp.exports=Wa});var pn=v((qT,ed)=>{l();var Xr=ge(),Xp=/\s*!important\s*$/i,WS={"box-flex":!0,"box-flex-group":!0,"column-count":!0,flex:!0,"flex-grow":!0,"flex-positive":!0,"flex-shrink":!0,"flex-negative":!0,"font-weight":!0,"line-clamp":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"tab-size":!0,widows:!0,"z-index":!0,zoom:!0,"fill-opacity":!0,"stroke-dashoffset":!0,"stroke-opacity":!0,"stroke-width":!0};function GS(r){return r.replace(/([A-Z])/g,"-$1").replace(/^ms-/,"-ms-").toLowerCase()}function Kp(r,e,t){t===!1||t===null||(e.startsWith("--")||(e=GS(e)),typeof t=="number"&&(t===0||WS[e]?t=t.toString():t+="px"),e==="css-float"&&(e="float"),Xp.test(t)?(t=t.replace(Xp,""),r.push(Xr.decl({prop:e,value:t,important:!0}))):r.push(Xr.decl({prop:e,value:t})))}function Zp(r,e,t){let i=Xr.atRule({name:e[1],params:e[3]||""});typeof t=="object"&&(i.nodes=[],Ha(t,i)),r.push(i)}function Ha(r,e){let t,i,n;for(t in r)if(i=r[t],!(i===null||typeof i=="undefined"))if(t[0]==="@"){let a=t.match(/@(\S+)(\s+([\W\w]*)\s*)?/);if(Array.isArray(i))for(let s of i)Zp(e,a,s);else Zp(e,a,i)}else if(Array.isArray(i))for(let a of i)Kp(e,t,a);else typeof i=="object"?(n=Xr.rule({selector:t}),Ha(i,n),e.push(n)):Kp(e,t,i)}ed.exports=function(r){let e=Xr.root();return Ha(r,e),e}});var Ya=v((RT,td)=>{l();var HS=Ga();td.exports=function(e){return console&&console.warn&&e.warnings().forEach(t=>{let i=t.plugin||"PostCSS";console.warn(i+": "+t.text)}),HS(e.root)}});var id=v((MT,rd)=>{l();var YS=ge(),QS=Ya(),JS=pn();rd.exports=function(e){let t=YS(e);return async i=>{let n=await t.process(i,{parser:JS,from:void 0});return QS(n)}}});var sd=v((BT,nd)=>{l();var XS=ge(),KS=Ya(),ZS=pn();nd.exports=function(r){let e=XS(r);return t=>{let i=e.process(t,{parser:ZS,from:void 0});return KS(i)}}});var od=v((FT,ad)=>{l();var e2=Ga(),t2=pn(),r2=id(),i2=sd();ad.exports={objectify:e2,parse:t2,async:r2,sync:i2}});var Ft,ld,LT,NT,$T,zT,ud=C(()=>{l();Ft=X(od()),ld=Ft.default,LT=Ft.default.objectify,NT=Ft.default.parse,$T=Ft.default.async,zT=Ft.default.sync});function Lt(r){return Array.isArray(r)?r.flatMap(e=>j([(0,fd.default)({bubble:["screen"]})]).process(e,{parser:ld}).root.nodes):Lt([r])}var fd,Qa=C(()=>{l();st();fd=X(Wp());ud()});function Nt(r,e,t=!1){if(r==="")return e;let i=typeof e=="string"?(0,cd.default)().astSync(e):e;return i.walkClasses(n=>{let a=n.value,s=t&&a.startsWith("-");n.value=s?`-${r}${a.slice(1)}`:`${r}${a}`}),typeof e=="string"?i.toString():i}var cd,dn=C(()=>{l();cd=X(Me())});function ce(r){let e=pd.default.className();return e.value=r,wt(e?.raws?.value??e.value)}var pd,$t=C(()=>{l();pd=X(Me());bi()});function Ja(r){return wt(`.${ce(r)}`)}function hn(r,e){return Ja(Kr(r,e))}function Kr(r,e){return e==="DEFAULT"?r:e==="-"||e==="-DEFAULT"?`-${r}`:e.startsWith("-")?`-${r}${e}`:e.startsWith("/")?`${r}${e}`:`${r}-${e}`}var Xa=C(()=>{l();$t();bi()});function P(r,e=[[r,[r]]],{filterDefault:t=!1,...i}={}){let n=Ge(r);return function({matchUtilities:a,theme:s}){for(let o of e){let u=Array.isArray(o[0])?o:[o];a(u.reduce((c,[f,d])=>Object.assign(c,{[f]:p=>d.reduce((m,b)=>Array.isArray(b)?Object.assign(m,{[b[0]]:b[1]}):Object.assign(m,{[b]:n(p)}),{})}),{}),{...i,values:t?Object.fromEntries(Object.entries(s(r)??{}).filter(([c])=>c!=="DEFAULT")):s(r)})}}}var dd=C(()=>{l();Jr()});function at(r){return r=Array.isArray(r)?r:[r],r.map(e=>{let t=e.values.map(i=>i.raw!==void 0?i.raw:[i.min&&`(min-width: ${i.min})`,i.max&&`(max-width: ${i.max})`].filter(Boolean).join(" and "));return e.not?`not all and ${t}`:t}).join(", ")}var mn=C(()=>{l()});function Ka(r){return r.split(f2).map(t=>{let i=t.trim(),n={value:i},a=i.split(c2),s=new Set;for(let o of a)!s.has("DIRECTIONS")&&n2.has(o)?(n.direction=o,s.add("DIRECTIONS")):!s.has("PLAY_STATES")&&s2.has(o)?(n.playState=o,s.add("PLAY_STATES")):!s.has("FILL_MODES")&&a2.has(o)?(n.fillMode=o,s.add("FILL_MODES")):!s.has("ITERATION_COUNTS")&&(o2.has(o)||p2.test(o))?(n.iterationCount=o,s.add("ITERATION_COUNTS")):!s.has("TIMING_FUNCTION")&&l2.has(o)||!s.has("TIMING_FUNCTION")&&u2.some(u=>o.startsWith(`${u}(`))?(n.timingFunction=o,s.add("TIMING_FUNCTION")):!s.has("DURATION")&&hd.test(o)?(n.duration=o,s.add("DURATION")):!s.has("DELAY")&&hd.test(o)?(n.delay=o,s.add("DELAY")):s.has("NAME")?(n.unknown||(n.unknown=[]),n.unknown.push(o)):(n.name=o,s.add("NAME"));return n})}var n2,s2,a2,o2,l2,u2,f2,c2,hd,p2,md=C(()=>{l();n2=new Set(["normal","reverse","alternate","alternate-reverse"]),s2=new Set(["running","paused"]),a2=new Set(["none","forwards","backwards","both"]),o2=new Set(["infinite"]),l2=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),u2=["cubic-bezier","steps"],f2=/\,(?![^(]*\))/g,c2=/\ +(?![^(]*\))/g,hd=/^(-?[\d.]+m?s)$/,p2=/^(\d+)$/});var gd,re,yd=C(()=>{l();gd=r=>Object.assign({},...Object.entries(r??{}).flatMap(([e,t])=>typeof t=="object"?Object.entries(gd(t)).map(([i,n])=>({[e+(i==="DEFAULT"?"":`-${i}`)]:n})):[{[`${e}`]:t}])),re=gd});var bd,wd=C(()=>{bd="3.4.3"});function ot(r,e=!0){return Array.isArray(r)?r.map(t=>{if(e&&Array.isArray(t))throw new Error("The tuple syntax is not supported for `screens`.");if(typeof t=="string")return{name:t.toString(),not:!1,values:[{min:t,max:void 0}]};let[i,n]=t;return i=i.toString(),typeof n=="string"?{name:i,not:!1,values:[{min:n,max:void 0}]}:Array.isArray(n)?{name:i,not:!1,values:n.map(a=>xd(a))}:{name:i,not:!1,values:[xd(n)]}}):ot(Object.entries(r??{}),!1)}function gn(r){return r.values.length!==1?{result:!1,reason:"multiple-values"}:r.values[0].raw!==void 0?{result:!1,reason:"raw-values"}:r.values[0].min!==void 0&&r.values[0].max!==void 0?{result:!1,reason:"min-and-max"}:{result:!0,reason:null}}function vd(r,e,t){let i=yn(e,r),n=yn(t,r),a=gn(i),s=gn(n);if(a.reason==="multiple-values"||s.reason==="multiple-values")throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");if(a.reason==="raw-values"||s.reason==="raw-values")throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");if(a.reason==="min-and-max"||s.reason==="min-and-max")throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");let{min:o,max:u}=i.values[0],{min:c,max:f}=n.values[0];e.not&&([o,u]=[u,o]),t.not&&([c,f]=[f,c]),o=o===void 0?o:parseFloat(o),u=u===void 0?u:parseFloat(u),c=c===void 0?c:parseFloat(c),f=f===void 0?f:parseFloat(f);let[d,p]=r==="min"?[o,c]:[f,u];return d-p}function yn(r,e){return typeof r=="object"?r:{name:"arbitrary-screen",values:[{[e]:r}]}}function xd({"min-width":r,min:e=r,max:t,raw:i}={}){return{min:e,max:t,raw:i}}var wn=C(()=>{l()});function bn(r,e){r.walkDecls(t=>{if(e.includes(t.prop)){t.remove();return}for(let i of e)t.value.includes(`/ var(${i})`)&&(t.value=t.value.replace(`/ var(${i})`,""))})}var kd=C(()=>{l()});var H,Te,Be,Fe,Sd,Cd=C(()=>{l();ze();bt();st();dd();mn();$t();md();yd();fr();ws();At();Jr();wd();Oe();wn();cs();kd();je();dr();ei();H={childVariant:({addVariant:r})=>{r("*","& > *")},pseudoElementVariants:({addVariant:r})=>{r("first-letter","&::first-letter"),r("first-line","&::first-line"),r("marker",[({container:e})=>(bn(e,["--tw-text-opacity"]),"& *::marker"),({container:e})=>(bn(e,["--tw-text-opacity"]),"&::marker")]),r("selection",["& *::selection","&::selection"]),r("file","&::file-selector-button"),r("placeholder","&::placeholder"),r("backdrop","&::backdrop"),r("before",({container:e})=>(e.walkRules(t=>{let i=!1;t.walkDecls("content",()=>{i=!0}),i||t.prepend(j.decl({prop:"content",value:"var(--tw-content)"}))}),"&::before")),r("after",({container:e})=>(e.walkRules(t=>{let i=!1;t.walkDecls("content",()=>{i=!0}),i||t.prepend(j.decl({prop:"content",value:"var(--tw-content)"}))}),"&::after"))},pseudoClassVariants:({addVariant:r,matchVariant:e,config:t,prefix:i})=>{let n=[["first","&:first-child"],["last","&:last-child"],["only","&:only-child"],["odd","&:nth-child(odd)"],["even","&:nth-child(even)"],"first-of-type","last-of-type","only-of-type",["visited",({container:s})=>(bn(s,["--tw-text-opacity","--tw-border-opacity","--tw-bg-opacity"]),"&:visited")],"target",["open","&[open]"],"default","checked","indeterminate","placeholder-shown","autofill","optional","required","valid","invalid","in-range","out-of-range","read-only","empty","focus-within",["hover",K(t(),"hoverOnlyWhenSupported")?"@media (hover: hover) and (pointer: fine) { &:hover }":"&:hover"],"focus","focus-visible","active","enabled","disabled"].map(s=>Array.isArray(s)?s:[s,`&:${s}`]);for(let[s,o]of n)r(s,u=>typeof o=="function"?o(u):o);let a={group:(s,{modifier:o})=>o?[`:merge(${i(".group")}\\/${ce(o)})`," &"]:[`:merge(${i(".group")})`," &"],peer:(s,{modifier:o})=>o?[`:merge(${i(".peer")}\\/${ce(o)})`," ~ &"]:[`:merge(${i(".peer")})`," ~ &"]};for(let[s,o]of Object.entries(a))e(s,(u="",c)=>{let f=L(typeof u=="function"?u(c):u);f.includes("&")||(f="&"+f);let[d,p]=o("",c),m=null,b=null,x=0;for(let y=0;y{r("ltr",'&:where([dir="ltr"], [dir="ltr"] *)'),r("rtl",'&:where([dir="rtl"], [dir="rtl"] *)')},reducedMotionVariants:({addVariant:r})=>{r("motion-safe","@media (prefers-reduced-motion: no-preference)"),r("motion-reduce","@media (prefers-reduced-motion: reduce)")},darkVariants:({config:r,addVariant:e})=>{let[t,i=".dark"]=[].concat(r("darkMode","media"));if(t===!1&&(t="media",F.warn("darkmode-false",["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.","Change `darkMode` to `media` or remove it entirely.","https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])),t==="variant"){let n;if(Array.isArray(i)||typeof i=="function"?n=i:typeof i=="string"&&(n=[i]),Array.isArray(n))for(let a of n)a===".dark"?(t=!1,F.warn("darkmode-variant-without-selector",["When using `variant` for `darkMode`, you must provide a selector.",'Example: `darkMode: ["variant", ".your-selector &"]`'])):a.includes("&")||(t=!1,F.warn("darkmode-variant-without-ampersand",["When using `variant` for `darkMode`, your selector must contain `&`.",'Example `darkMode: ["variant", ".your-selector &"]`']));i=n}t==="selector"?e("dark",`&:where(${i}, ${i} *)`):t==="media"?e("dark","@media (prefers-color-scheme: dark)"):t==="variant"?e("dark",i):t==="class"&&e("dark",`&:is(${i} *)`)},printVariant:({addVariant:r})=>{r("print","@media print")},screenVariants:({theme:r,addVariant:e,matchVariant:t})=>{let i=r("screens")??{},n=Object.values(i).every(w=>typeof w=="string"),a=ot(r("screens")),s=new Set([]);function o(w){return w.match(/(\D+)$/)?.[1]??"(none)"}function u(w){w!==void 0&&s.add(o(w))}function c(w){return u(w),s.size===1}for(let w of a)for(let k of w.values)u(k.min),u(k.max);let f=s.size<=1;function d(w){return Object.fromEntries(a.filter(k=>gn(k).result).map(k=>{let{min:S,max:_}=k.values[0];if(w==="min"&&S!==void 0)return k;if(w==="min"&&_!==void 0)return{...k,not:!k.not};if(w==="max"&&_!==void 0)return k;if(w==="max"&&S!==void 0)return{...k,not:!k.not}}).map(k=>[k.name,k]))}function p(w){return(k,S)=>vd(w,k.value,S.value)}let m=p("max"),b=p("min");function x(w){return k=>{if(n)if(f){if(typeof k=="string"&&!c(k))return F.warn("minmax-have-mixed-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]}else return F.warn("mixed-screen-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[];else return F.warn("complex-screen-config",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."]),[];return[`@media ${at(yn(k,w))}`]}}t("max",x("max"),{sort:m,values:n?d("max"):{}});let y="min-screens";for(let w of a)e(w.name,`@media ${at(w)}`,{id:y,sort:n&&f?b:void 0,value:w});t("min",x("min"),{id:y,sort:b})},supportsVariants:({matchVariant:r,theme:e})=>{r("supports",(t="")=>{let i=L(t),n=/^\w*\s*\(/.test(i);return i=n?i.replace(/\b(and|or|not)\b/g," $1 "):i,n?`@supports ${i}`:(i.includes(":")||(i=`${i}: var(--tw)`),i.startsWith("(")&&i.endsWith(")")||(i=`(${i})`),`@supports ${i}`)},{values:e("supports")??{}})},hasVariants:({matchVariant:r})=>{r("has",e=>`&:has(${L(e)})`,{values:{}}),r("group-has",(e,{modifier:t})=>t?`:merge(.group\\/${t}):has(${L(e)}) &`:`:merge(.group):has(${L(e)}) &`,{values:{}}),r("peer-has",(e,{modifier:t})=>t?`:merge(.peer\\/${t}):has(${L(e)}) ~ &`:`:merge(.peer):has(${L(e)}) ~ &`,{values:{}})},ariaVariants:({matchVariant:r,theme:e})=>{r("aria",t=>`&[aria-${L(t)}]`,{values:e("aria")??{}}),r("group-aria",(t,{modifier:i})=>i?`:merge(.group\\/${i})[aria-${L(t)}] &`:`:merge(.group)[aria-${L(t)}] &`,{values:e("aria")??{}}),r("peer-aria",(t,{modifier:i})=>i?`:merge(.peer\\/${i})[aria-${L(t)}] ~ &`:`:merge(.peer)[aria-${L(t)}] ~ &`,{values:e("aria")??{}})},dataVariants:({matchVariant:r,theme:e})=>{r("data",t=>`&[data-${L(t)}]`,{values:e("data")??{}}),r("group-data",(t,{modifier:i})=>i?`:merge(.group\\/${i})[data-${L(t)}] &`:`:merge(.group)[data-${L(t)}] &`,{values:e("data")??{}}),r("peer-data",(t,{modifier:i})=>i?`:merge(.peer\\/${i})[data-${L(t)}] ~ &`:`:merge(.peer)[data-${L(t)}] ~ &`,{values:e("data")??{}})},orientationVariants:({addVariant:r})=>{r("portrait","@media (orientation: portrait)"),r("landscape","@media (orientation: landscape)")},prefersContrastVariants:({addVariant:r})=>{r("contrast-more","@media (prefers-contrast: more)"),r("contrast-less","@media (prefers-contrast: less)")},forcedColorsVariants:({addVariant:r})=>{r("forced-colors","@media (forced-colors: active)")}},Te=["translate(var(--tw-translate-x), var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" "),Be=["var(--tw-blur)","var(--tw-brightness)","var(--tw-contrast)","var(--tw-grayscale)","var(--tw-hue-rotate)","var(--tw-invert)","var(--tw-saturate)","var(--tw-sepia)","var(--tw-drop-shadow)"].join(" "),Fe=["var(--tw-backdrop-blur)","var(--tw-backdrop-brightness)","var(--tw-backdrop-contrast)","var(--tw-backdrop-grayscale)","var(--tw-backdrop-hue-rotate)","var(--tw-backdrop-invert)","var(--tw-backdrop-opacity)","var(--tw-backdrop-saturate)","var(--tw-backdrop-sepia)"].join(" "),Sd={preflight:({addBase:r})=>{let e=j.parse(`*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}`);r([j.comment({text:`! tailwindcss v${bd} | MIT License | https://tailwindcss.com`}),...e.nodes])},container:(()=>{function r(t=[]){return t.flatMap(i=>i.values.map(n=>n.min)).filter(i=>i!==void 0)}function e(t,i,n){if(typeof n=="undefined")return[];if(!(typeof n=="object"&&n!==null))return[{screen:"DEFAULT",minWidth:0,padding:n}];let a=[];n.DEFAULT&&a.push({screen:"DEFAULT",minWidth:0,padding:n.DEFAULT});for(let s of t)for(let o of i)for(let{min:u}of o.values)u===s&&a.push({minWidth:s,padding:n[o.name]});return a}return function({addComponents:t,theme:i}){let n=ot(i("container.screens",i("screens"))),a=r(n),s=e(a,n,i("container.padding")),o=c=>{let f=s.find(d=>d.minWidth===c);return f?{paddingRight:f.padding,paddingLeft:f.padding}:{}},u=Array.from(new Set(a.slice().sort((c,f)=>parseInt(c)-parseInt(f)))).map(c=>({[`@media (min-width: ${c})`]:{".container":{"max-width":c,...o(c)}}}));t([{".container":Object.assign({width:"100%"},i("container.center",!1)?{marginRight:"auto",marginLeft:"auto"}:{},o(0))},...u])}})(),accessibility:({addUtilities:r})=>{r({".sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},".not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto",whiteSpace:"normal"}})},pointerEvents:({addUtilities:r})=>{r({".pointer-events-none":{"pointer-events":"none"},".pointer-events-auto":{"pointer-events":"auto"}})},visibility:({addUtilities:r})=>{r({".visible":{visibility:"visible"},".invisible":{visibility:"hidden"},".collapse":{visibility:"collapse"}})},position:({addUtilities:r})=>{r({".static":{position:"static"},".fixed":{position:"fixed"},".absolute":{position:"absolute"},".relative":{position:"relative"},".sticky":{position:"sticky"}})},inset:P("inset",[["inset",["inset"]],[["inset-x",["left","right"]],["inset-y",["top","bottom"]]],[["start",["inset-inline-start"]],["end",["inset-inline-end"]],["top",["top"]],["right",["right"]],["bottom",["bottom"]],["left",["left"]]]],{supportsNegativeValues:!0}),isolation:({addUtilities:r})=>{r({".isolate":{isolation:"isolate"},".isolation-auto":{isolation:"auto"}})},zIndex:P("zIndex",[["z",["zIndex"]]],{supportsNegativeValues:!0}),order:P("order",void 0,{supportsNegativeValues:!0}),gridColumn:P("gridColumn",[["col",["gridColumn"]]]),gridColumnStart:P("gridColumnStart",[["col-start",["gridColumnStart"]]]),gridColumnEnd:P("gridColumnEnd",[["col-end",["gridColumnEnd"]]]),gridRow:P("gridRow",[["row",["gridRow"]]]),gridRowStart:P("gridRowStart",[["row-start",["gridRowStart"]]]),gridRowEnd:P("gridRowEnd",[["row-end",["gridRowEnd"]]]),float:({addUtilities:r})=>{r({".float-start":{float:"inline-start"},".float-end":{float:"inline-end"},".float-right":{float:"right"},".float-left":{float:"left"},".float-none":{float:"none"}})},clear:({addUtilities:r})=>{r({".clear-start":{clear:"inline-start"},".clear-end":{clear:"inline-end"},".clear-left":{clear:"left"},".clear-right":{clear:"right"},".clear-both":{clear:"both"},".clear-none":{clear:"none"}})},margin:P("margin",[["m",["margin"]],[["mx",["margin-left","margin-right"]],["my",["margin-top","margin-bottom"]]],[["ms",["margin-inline-start"]],["me",["margin-inline-end"]],["mt",["margin-top"]],["mr",["margin-right"]],["mb",["margin-bottom"]],["ml",["margin-left"]]]],{supportsNegativeValues:!0}),boxSizing:({addUtilities:r})=>{r({".box-border":{"box-sizing":"border-box"},".box-content":{"box-sizing":"content-box"}})},lineClamp:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"line-clamp":i=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":`${i}`})},{values:t("lineClamp")}),e({".line-clamp-none":{overflow:"visible",display:"block","-webkit-box-orient":"horizontal","-webkit-line-clamp":"none"}})},display:({addUtilities:r})=>{r({".block":{display:"block"},".inline-block":{display:"inline-block"},".inline":{display:"inline"},".flex":{display:"flex"},".inline-flex":{display:"inline-flex"},".table":{display:"table"},".inline-table":{display:"inline-table"},".table-caption":{display:"table-caption"},".table-cell":{display:"table-cell"},".table-column":{display:"table-column"},".table-column-group":{display:"table-column-group"},".table-footer-group":{display:"table-footer-group"},".table-header-group":{display:"table-header-group"},".table-row-group":{display:"table-row-group"},".table-row":{display:"table-row"},".flow-root":{display:"flow-root"},".grid":{display:"grid"},".inline-grid":{display:"inline-grid"},".contents":{display:"contents"},".list-item":{display:"list-item"},".hidden":{display:"none"}})},aspectRatio:P("aspectRatio",[["aspect",["aspect-ratio"]]]),size:P("size",[["size",["width","height"]]]),height:P("height",[["h",["height"]]]),maxHeight:P("maxHeight",[["max-h",["maxHeight"]]]),minHeight:P("minHeight",[["min-h",["minHeight"]]]),width:P("width",[["w",["width"]]]),minWidth:P("minWidth",[["min-w",["minWidth"]]]),maxWidth:P("maxWidth",[["max-w",["maxWidth"]]]),flex:P("flex"),flexShrink:P("flexShrink",[["flex-shrink",["flex-shrink"]],["shrink",["flex-shrink"]]]),flexGrow:P("flexGrow",[["flex-grow",["flex-grow"]],["grow",["flex-grow"]]]),flexBasis:P("flexBasis",[["basis",["flex-basis"]]]),tableLayout:({addUtilities:r})=>{r({".table-auto":{"table-layout":"auto"},".table-fixed":{"table-layout":"fixed"}})},captionSide:({addUtilities:r})=>{r({".caption-top":{"caption-side":"top"},".caption-bottom":{"caption-side":"bottom"}})},borderCollapse:({addUtilities:r})=>{r({".border-collapse":{"border-collapse":"collapse"},".border-separate":{"border-collapse":"separate"}})},borderSpacing:({addDefaults:r,matchUtilities:e,theme:t})=>{r("border-spacing",{"--tw-border-spacing-x":0,"--tw-border-spacing-y":0}),e({"border-spacing":i=>({"--tw-border-spacing-x":i,"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-x":i=>({"--tw-border-spacing-x":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-y":i=>({"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})},{values:t("borderSpacing")})},transformOrigin:P("transformOrigin",[["origin",["transformOrigin"]]]),translate:P("translate",[[["translate-x",[["@defaults transform",{}],"--tw-translate-x",["transform",Te]]],["translate-y",[["@defaults transform",{}],"--tw-translate-y",["transform",Te]]]]],{supportsNegativeValues:!0}),rotate:P("rotate",[["rotate",[["@defaults transform",{}],"--tw-rotate",["transform",Te]]]],{supportsNegativeValues:!0}),skew:P("skew",[[["skew-x",[["@defaults transform",{}],"--tw-skew-x",["transform",Te]]],["skew-y",[["@defaults transform",{}],"--tw-skew-y",["transform",Te]]]]],{supportsNegativeValues:!0}),scale:P("scale",[["scale",[["@defaults transform",{}],"--tw-scale-x","--tw-scale-y",["transform",Te]]],[["scale-x",[["@defaults transform",{}],"--tw-scale-x",["transform",Te]]],["scale-y",[["@defaults transform",{}],"--tw-scale-y",["transform",Te]]]]],{supportsNegativeValues:!0}),transform:({addDefaults:r,addUtilities:e})=>{r("transform",{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1"}),e({".transform":{"@defaults transform":{},transform:Te},".transform-cpu":{transform:Te},".transform-gpu":{transform:Te.replace("translate(var(--tw-translate-x), var(--tw-translate-y))","translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)")},".transform-none":{transform:"none"}})},animation:({matchUtilities:r,theme:e,config:t})=>{let i=a=>ce(t("prefix")+a),n=Object.fromEntries(Object.entries(e("keyframes")??{}).map(([a,s])=>[a,{[`@keyframes ${i(a)}`]:s}]));r({animate:a=>{let s=Ka(a);return[...s.flatMap(o=>n[o.name]),{animation:s.map(({name:o,value:u})=>o===void 0||n[o]===void 0?u:u.replace(o,i(o))).join(", ")}]}},{values:e("animation")})},cursor:P("cursor"),touchAction:({addDefaults:r,addUtilities:e})=>{r("touch-action",{"--tw-pan-x":" ","--tw-pan-y":" ","--tw-pinch-zoom":" "});let t="var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)";e({".touch-auto":{"touch-action":"auto"},".touch-none":{"touch-action":"none"},".touch-pan-x":{"@defaults touch-action":{},"--tw-pan-x":"pan-x","touch-action":t},".touch-pan-left":{"@defaults touch-action":{},"--tw-pan-x":"pan-left","touch-action":t},".touch-pan-right":{"@defaults touch-action":{},"--tw-pan-x":"pan-right","touch-action":t},".touch-pan-y":{"@defaults touch-action":{},"--tw-pan-y":"pan-y","touch-action":t},".touch-pan-up":{"@defaults touch-action":{},"--tw-pan-y":"pan-up","touch-action":t},".touch-pan-down":{"@defaults touch-action":{},"--tw-pan-y":"pan-down","touch-action":t},".touch-pinch-zoom":{"@defaults touch-action":{},"--tw-pinch-zoom":"pinch-zoom","touch-action":t},".touch-manipulation":{"touch-action":"manipulation"}})},userSelect:({addUtilities:r})=>{r({".select-none":{"user-select":"none"},".select-text":{"user-select":"text"},".select-all":{"user-select":"all"},".select-auto":{"user-select":"auto"}})},resize:({addUtilities:r})=>{r({".resize-none":{resize:"none"},".resize-y":{resize:"vertical"},".resize-x":{resize:"horizontal"},".resize":{resize:"both"}})},scrollSnapType:({addDefaults:r,addUtilities:e})=>{r("scroll-snap-type",{"--tw-scroll-snap-strictness":"proximity"}),e({".snap-none":{"scroll-snap-type":"none"},".snap-x":{"@defaults scroll-snap-type":{},"scroll-snap-type":"x var(--tw-scroll-snap-strictness)"},".snap-y":{"@defaults scroll-snap-type":{},"scroll-snap-type":"y var(--tw-scroll-snap-strictness)"},".snap-both":{"@defaults scroll-snap-type":{},"scroll-snap-type":"both var(--tw-scroll-snap-strictness)"},".snap-mandatory":{"--tw-scroll-snap-strictness":"mandatory"},".snap-proximity":{"--tw-scroll-snap-strictness":"proximity"}})},scrollSnapAlign:({addUtilities:r})=>{r({".snap-start":{"scroll-snap-align":"start"},".snap-end":{"scroll-snap-align":"end"},".snap-center":{"scroll-snap-align":"center"},".snap-align-none":{"scroll-snap-align":"none"}})},scrollSnapStop:({addUtilities:r})=>{r({".snap-normal":{"scroll-snap-stop":"normal"},".snap-always":{"scroll-snap-stop":"always"}})},scrollMargin:P("scrollMargin",[["scroll-m",["scroll-margin"]],[["scroll-mx",["scroll-margin-left","scroll-margin-right"]],["scroll-my",["scroll-margin-top","scroll-margin-bottom"]]],[["scroll-ms",["scroll-margin-inline-start"]],["scroll-me",["scroll-margin-inline-end"]],["scroll-mt",["scroll-margin-top"]],["scroll-mr",["scroll-margin-right"]],["scroll-mb",["scroll-margin-bottom"]],["scroll-ml",["scroll-margin-left"]]]],{supportsNegativeValues:!0}),scrollPadding:P("scrollPadding",[["scroll-p",["scroll-padding"]],[["scroll-px",["scroll-padding-left","scroll-padding-right"]],["scroll-py",["scroll-padding-top","scroll-padding-bottom"]]],[["scroll-ps",["scroll-padding-inline-start"]],["scroll-pe",["scroll-padding-inline-end"]],["scroll-pt",["scroll-padding-top"]],["scroll-pr",["scroll-padding-right"]],["scroll-pb",["scroll-padding-bottom"]],["scroll-pl",["scroll-padding-left"]]]]),listStylePosition:({addUtilities:r})=>{r({".list-inside":{"list-style-position":"inside"},".list-outside":{"list-style-position":"outside"}})},listStyleType:P("listStyleType",[["list",["listStyleType"]]]),listStyleImage:P("listStyleImage",[["list-image",["listStyleImage"]]]),appearance:({addUtilities:r})=>{r({".appearance-none":{appearance:"none"},".appearance-auto":{appearance:"auto"}})},columns:P("columns",[["columns",["columns"]]]),breakBefore:({addUtilities:r})=>{r({".break-before-auto":{"break-before":"auto"},".break-before-avoid":{"break-before":"avoid"},".break-before-all":{"break-before":"all"},".break-before-avoid-page":{"break-before":"avoid-page"},".break-before-page":{"break-before":"page"},".break-before-left":{"break-before":"left"},".break-before-right":{"break-before":"right"},".break-before-column":{"break-before":"column"}})},breakInside:({addUtilities:r})=>{r({".break-inside-auto":{"break-inside":"auto"},".break-inside-avoid":{"break-inside":"avoid"},".break-inside-avoid-page":{"break-inside":"avoid-page"},".break-inside-avoid-column":{"break-inside":"avoid-column"}})},breakAfter:({addUtilities:r})=>{r({".break-after-auto":{"break-after":"auto"},".break-after-avoid":{"break-after":"avoid"},".break-after-all":{"break-after":"all"},".break-after-avoid-page":{"break-after":"avoid-page"},".break-after-page":{"break-after":"page"},".break-after-left":{"break-after":"left"},".break-after-right":{"break-after":"right"},".break-after-column":{"break-after":"column"}})},gridAutoColumns:P("gridAutoColumns",[["auto-cols",["gridAutoColumns"]]]),gridAutoFlow:({addUtilities:r})=>{r({".grid-flow-row":{gridAutoFlow:"row"},".grid-flow-col":{gridAutoFlow:"column"},".grid-flow-dense":{gridAutoFlow:"dense"},".grid-flow-row-dense":{gridAutoFlow:"row dense"},".grid-flow-col-dense":{gridAutoFlow:"column dense"}})},gridAutoRows:P("gridAutoRows",[["auto-rows",["gridAutoRows"]]]),gridTemplateColumns:P("gridTemplateColumns",[["grid-cols",["gridTemplateColumns"]]]),gridTemplateRows:P("gridTemplateRows",[["grid-rows",["gridTemplateRows"]]]),flexDirection:({addUtilities:r})=>{r({".flex-row":{"flex-direction":"row"},".flex-row-reverse":{"flex-direction":"row-reverse"},".flex-col":{"flex-direction":"column"},".flex-col-reverse":{"flex-direction":"column-reverse"}})},flexWrap:({addUtilities:r})=>{r({".flex-wrap":{"flex-wrap":"wrap"},".flex-wrap-reverse":{"flex-wrap":"wrap-reverse"},".flex-nowrap":{"flex-wrap":"nowrap"}})},placeContent:({addUtilities:r})=>{r({".place-content-center":{"place-content":"center"},".place-content-start":{"place-content":"start"},".place-content-end":{"place-content":"end"},".place-content-between":{"place-content":"space-between"},".place-content-around":{"place-content":"space-around"},".place-content-evenly":{"place-content":"space-evenly"},".place-content-baseline":{"place-content":"baseline"},".place-content-stretch":{"place-content":"stretch"}})},placeItems:({addUtilities:r})=>{r({".place-items-start":{"place-items":"start"},".place-items-end":{"place-items":"end"},".place-items-center":{"place-items":"center"},".place-items-baseline":{"place-items":"baseline"},".place-items-stretch":{"place-items":"stretch"}})},alignContent:({addUtilities:r})=>{r({".content-normal":{"align-content":"normal"},".content-center":{"align-content":"center"},".content-start":{"align-content":"flex-start"},".content-end":{"align-content":"flex-end"},".content-between":{"align-content":"space-between"},".content-around":{"align-content":"space-around"},".content-evenly":{"align-content":"space-evenly"},".content-baseline":{"align-content":"baseline"},".content-stretch":{"align-content":"stretch"}})},alignItems:({addUtilities:r})=>{r({".items-start":{"align-items":"flex-start"},".items-end":{"align-items":"flex-end"},".items-center":{"align-items":"center"},".items-baseline":{"align-items":"baseline"},".items-stretch":{"align-items":"stretch"}})},justifyContent:({addUtilities:r})=>{r({".justify-normal":{"justify-content":"normal"},".justify-start":{"justify-content":"flex-start"},".justify-end":{"justify-content":"flex-end"},".justify-center":{"justify-content":"center"},".justify-between":{"justify-content":"space-between"},".justify-around":{"justify-content":"space-around"},".justify-evenly":{"justify-content":"space-evenly"},".justify-stretch":{"justify-content":"stretch"}})},justifyItems:({addUtilities:r})=>{r({".justify-items-start":{"justify-items":"start"},".justify-items-end":{"justify-items":"end"},".justify-items-center":{"justify-items":"center"},".justify-items-stretch":{"justify-items":"stretch"}})},gap:P("gap",[["gap",["gap"]],[["gap-x",["columnGap"]],["gap-y",["rowGap"]]]]),space:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"space-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"0","margin-right":`calc(${i} * var(--tw-space-x-reverse))`,"margin-left":`calc(${i} * calc(1 - var(--tw-space-x-reverse)))`}}),"space-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"0","margin-top":`calc(${i} * calc(1 - var(--tw-space-y-reverse)))`,"margin-bottom":`calc(${i} * var(--tw-space-y-reverse))`}})},{values:t("space"),supportsNegativeValues:!0}),e({".space-y-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"1"},".space-x-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"1"}})},divideWidth:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"divide-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"0","border-right-width":`calc(${i} * var(--tw-divide-x-reverse))`,"border-left-width":`calc(${i} * calc(1 - var(--tw-divide-x-reverse)))`}}),"divide-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"0","border-top-width":`calc(${i} * calc(1 - var(--tw-divide-y-reverse)))`,"border-bottom-width":`calc(${i} * var(--tw-divide-y-reverse))`}})},{values:t("divideWidth"),type:["line-width","length","any"]}),e({".divide-y-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"1"},".divide-x-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"1"}})},divideStyle:({addUtilities:r})=>{r({".divide-solid > :not([hidden]) ~ :not([hidden])":{"border-style":"solid"},".divide-dashed > :not([hidden]) ~ :not([hidden])":{"border-style":"dashed"},".divide-dotted > :not([hidden]) ~ :not([hidden])":{"border-style":"dotted"},".divide-double > :not([hidden]) ~ :not([hidden])":{"border-style":"double"},".divide-none > :not([hidden]) ~ :not([hidden])":{"border-style":"none"}})},divideColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({divide:i=>t("divideOpacity")?{["& > :not([hidden]) ~ :not([hidden])"]:se({color:i,property:"border-color",variable:"--tw-divide-opacity"})}:{["& > :not([hidden]) ~ :not([hidden])"]:{"border-color":N(i)}}},{values:(({DEFAULT:i,...n})=>n)(re(e("divideColor"))),type:["color","any"]})},divideOpacity:({matchUtilities:r,theme:e})=>{r({"divide-opacity":t=>({["& > :not([hidden]) ~ :not([hidden])"]:{"--tw-divide-opacity":t}})},{values:e("divideOpacity")})},placeSelf:({addUtilities:r})=>{r({".place-self-auto":{"place-self":"auto"},".place-self-start":{"place-self":"start"},".place-self-end":{"place-self":"end"},".place-self-center":{"place-self":"center"},".place-self-stretch":{"place-self":"stretch"}})},alignSelf:({addUtilities:r})=>{r({".self-auto":{"align-self":"auto"},".self-start":{"align-self":"flex-start"},".self-end":{"align-self":"flex-end"},".self-center":{"align-self":"center"},".self-stretch":{"align-self":"stretch"},".self-baseline":{"align-self":"baseline"}})},justifySelf:({addUtilities:r})=>{r({".justify-self-auto":{"justify-self":"auto"},".justify-self-start":{"justify-self":"start"},".justify-self-end":{"justify-self":"end"},".justify-self-center":{"justify-self":"center"},".justify-self-stretch":{"justify-self":"stretch"}})},overflow:({addUtilities:r})=>{r({".overflow-auto":{overflow:"auto"},".overflow-hidden":{overflow:"hidden"},".overflow-clip":{overflow:"clip"},".overflow-visible":{overflow:"visible"},".overflow-scroll":{overflow:"scroll"},".overflow-x-auto":{"overflow-x":"auto"},".overflow-y-auto":{"overflow-y":"auto"},".overflow-x-hidden":{"overflow-x":"hidden"},".overflow-y-hidden":{"overflow-y":"hidden"},".overflow-x-clip":{"overflow-x":"clip"},".overflow-y-clip":{"overflow-y":"clip"},".overflow-x-visible":{"overflow-x":"visible"},".overflow-y-visible":{"overflow-y":"visible"},".overflow-x-scroll":{"overflow-x":"scroll"},".overflow-y-scroll":{"overflow-y":"scroll"}})},overscrollBehavior:({addUtilities:r})=>{r({".overscroll-auto":{"overscroll-behavior":"auto"},".overscroll-contain":{"overscroll-behavior":"contain"},".overscroll-none":{"overscroll-behavior":"none"},".overscroll-y-auto":{"overscroll-behavior-y":"auto"},".overscroll-y-contain":{"overscroll-behavior-y":"contain"},".overscroll-y-none":{"overscroll-behavior-y":"none"},".overscroll-x-auto":{"overscroll-behavior-x":"auto"},".overscroll-x-contain":{"overscroll-behavior-x":"contain"},".overscroll-x-none":{"overscroll-behavior-x":"none"}})},scrollBehavior:({addUtilities:r})=>{r({".scroll-auto":{"scroll-behavior":"auto"},".scroll-smooth":{"scroll-behavior":"smooth"}})},textOverflow:({addUtilities:r})=>{r({".truncate":{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},".overflow-ellipsis":{"text-overflow":"ellipsis"},".text-ellipsis":{"text-overflow":"ellipsis"},".text-clip":{"text-overflow":"clip"}})},hyphens:({addUtilities:r})=>{r({".hyphens-none":{hyphens:"none"},".hyphens-manual":{hyphens:"manual"},".hyphens-auto":{hyphens:"auto"}})},whitespace:({addUtilities:r})=>{r({".whitespace-normal":{"white-space":"normal"},".whitespace-nowrap":{"white-space":"nowrap"},".whitespace-pre":{"white-space":"pre"},".whitespace-pre-line":{"white-space":"pre-line"},".whitespace-pre-wrap":{"white-space":"pre-wrap"},".whitespace-break-spaces":{"white-space":"break-spaces"}})},textWrap:({addUtilities:r})=>{r({".text-wrap":{"text-wrap":"wrap"},".text-nowrap":{"text-wrap":"nowrap"},".text-balance":{"text-wrap":"balance"},".text-pretty":{"text-wrap":"pretty"}})},wordBreak:({addUtilities:r})=>{r({".break-normal":{"overflow-wrap":"normal","word-break":"normal"},".break-words":{"overflow-wrap":"break-word"},".break-all":{"word-break":"break-all"},".break-keep":{"word-break":"keep-all"}})},borderRadius:P("borderRadius",[["rounded",["border-radius"]],[["rounded-s",["border-start-start-radius","border-end-start-radius"]],["rounded-e",["border-start-end-radius","border-end-end-radius"]],["rounded-t",["border-top-left-radius","border-top-right-radius"]],["rounded-r",["border-top-right-radius","border-bottom-right-radius"]],["rounded-b",["border-bottom-right-radius","border-bottom-left-radius"]],["rounded-l",["border-top-left-radius","border-bottom-left-radius"]]],[["rounded-ss",["border-start-start-radius"]],["rounded-se",["border-start-end-radius"]],["rounded-ee",["border-end-end-radius"]],["rounded-es",["border-end-start-radius"]],["rounded-tl",["border-top-left-radius"]],["rounded-tr",["border-top-right-radius"]],["rounded-br",["border-bottom-right-radius"]],["rounded-bl",["border-bottom-left-radius"]]]]),borderWidth:P("borderWidth",[["border",[["@defaults border-width",{}],"border-width"]],[["border-x",[["@defaults border-width",{}],"border-left-width","border-right-width"]],["border-y",[["@defaults border-width",{}],"border-top-width","border-bottom-width"]]],[["border-s",[["@defaults border-width",{}],"border-inline-start-width"]],["border-e",[["@defaults border-width",{}],"border-inline-end-width"]],["border-t",[["@defaults border-width",{}],"border-top-width"]],["border-r",[["@defaults border-width",{}],"border-right-width"]],["border-b",[["@defaults border-width",{}],"border-bottom-width"]],["border-l",[["@defaults border-width",{}],"border-left-width"]]]],{type:["line-width","length"]}),borderStyle:({addUtilities:r})=>{r({".border-solid":{"border-style":"solid"},".border-dashed":{"border-style":"dashed"},".border-dotted":{"border-style":"dotted"},".border-double":{"border-style":"double"},".border-hidden":{"border-style":"hidden"},".border-none":{"border-style":"none"}})},borderColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({border:i=>t("borderOpacity")?se({color:i,property:"border-color",variable:"--tw-border-opacity"}):{"border-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),r({"border-x":i=>t("borderOpacity")?se({color:i,property:["border-left-color","border-right-color"],variable:"--tw-border-opacity"}):{"border-left-color":N(i),"border-right-color":N(i)},"border-y":i=>t("borderOpacity")?se({color:i,property:["border-top-color","border-bottom-color"],variable:"--tw-border-opacity"}):{"border-top-color":N(i),"border-bottom-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),r({"border-s":i=>t("borderOpacity")?se({color:i,property:"border-inline-start-color",variable:"--tw-border-opacity"}):{"border-inline-start-color":N(i)},"border-e":i=>t("borderOpacity")?se({color:i,property:"border-inline-end-color",variable:"--tw-border-opacity"}):{"border-inline-end-color":N(i)},"border-t":i=>t("borderOpacity")?se({color:i,property:"border-top-color",variable:"--tw-border-opacity"}):{"border-top-color":N(i)},"border-r":i=>t("borderOpacity")?se({color:i,property:"border-right-color",variable:"--tw-border-opacity"}):{"border-right-color":N(i)},"border-b":i=>t("borderOpacity")?se({color:i,property:"border-bottom-color",variable:"--tw-border-opacity"}):{"border-bottom-color":N(i)},"border-l":i=>t("borderOpacity")?se({color:i,property:"border-left-color",variable:"--tw-border-opacity"}):{"border-left-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]})},borderOpacity:P("borderOpacity",[["border-opacity",["--tw-border-opacity"]]]),backgroundColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({bg:i=>t("backgroundOpacity")?se({color:i,property:"background-color",variable:"--tw-bg-opacity"}):{"background-color":N(i)}},{values:re(e("backgroundColor")),type:["color","any"]})},backgroundOpacity:P("backgroundOpacity",[["bg-opacity",["--tw-bg-opacity"]]]),backgroundImage:P("backgroundImage",[["bg",["background-image"]]],{type:["lookup","image","url"]}),gradientColorStops:(()=>{function r(e){return Ie(e,0,"rgb(255 255 255 / 0)")}return function({matchUtilities:e,theme:t,addDefaults:i}){i("gradient-color-stops",{"--tw-gradient-from-position":" ","--tw-gradient-via-position":" ","--tw-gradient-to-position":" "});let n={values:re(t("gradientColorStops")),type:["color","any"]},a={values:t("gradientColorStopPositions"),type:["length","percentage"]};e({from:s=>{let o=r(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-from":`${N(s)} var(--tw-gradient-from-position)`,"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":"var(--tw-gradient-from), var(--tw-gradient-to)"}}},n),e({from:s=>({"--tw-gradient-from-position":s})},a),e({via:s=>{let o=r(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":`var(--tw-gradient-from), ${N(s)} var(--tw-gradient-via-position), var(--tw-gradient-to)`}}},n),e({via:s=>({"--tw-gradient-via-position":s})},a),e({to:s=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${N(s)} var(--tw-gradient-to-position)`})},n),e({to:s=>({"--tw-gradient-to-position":s})},a)}})(),boxDecorationBreak:({addUtilities:r})=>{r({".decoration-slice":{"box-decoration-break":"slice"},".decoration-clone":{"box-decoration-break":"clone"},".box-decoration-slice":{"box-decoration-break":"slice"},".box-decoration-clone":{"box-decoration-break":"clone"}})},backgroundSize:P("backgroundSize",[["bg",["background-size"]]],{type:["lookup","length","percentage","size"]}),backgroundAttachment:({addUtilities:r})=>{r({".bg-fixed":{"background-attachment":"fixed"},".bg-local":{"background-attachment":"local"},".bg-scroll":{"background-attachment":"scroll"}})},backgroundClip:({addUtilities:r})=>{r({".bg-clip-border":{"background-clip":"border-box"},".bg-clip-padding":{"background-clip":"padding-box"},".bg-clip-content":{"background-clip":"content-box"},".bg-clip-text":{"background-clip":"text"}})},backgroundPosition:P("backgroundPosition",[["bg",["background-position"]]],{type:["lookup",["position",{preferOnConflict:!0}]]}),backgroundRepeat:({addUtilities:r})=>{r({".bg-repeat":{"background-repeat":"repeat"},".bg-no-repeat":{"background-repeat":"no-repeat"},".bg-repeat-x":{"background-repeat":"repeat-x"},".bg-repeat-y":{"background-repeat":"repeat-y"},".bg-repeat-round":{"background-repeat":"round"},".bg-repeat-space":{"background-repeat":"space"}})},backgroundOrigin:({addUtilities:r})=>{r({".bg-origin-border":{"background-origin":"border-box"},".bg-origin-padding":{"background-origin":"padding-box"},".bg-origin-content":{"background-origin":"content-box"}})},fill:({matchUtilities:r,theme:e})=>{r({fill:t=>({fill:N(t)})},{values:re(e("fill")),type:["color","any"]})},stroke:({matchUtilities:r,theme:e})=>{r({stroke:t=>({stroke:N(t)})},{values:re(e("stroke")),type:["color","url","any"]})},strokeWidth:P("strokeWidth",[["stroke",["stroke-width"]]],{type:["length","number","percentage"]}),objectFit:({addUtilities:r})=>{r({".object-contain":{"object-fit":"contain"},".object-cover":{"object-fit":"cover"},".object-fill":{"object-fit":"fill"},".object-none":{"object-fit":"none"},".object-scale-down":{"object-fit":"scale-down"}})},objectPosition:P("objectPosition",[["object",["object-position"]]]),padding:P("padding",[["p",["padding"]],[["px",["padding-left","padding-right"]],["py",["padding-top","padding-bottom"]]],[["ps",["padding-inline-start"]],["pe",["padding-inline-end"]],["pt",["padding-top"]],["pr",["padding-right"]],["pb",["padding-bottom"]],["pl",["padding-left"]]]]),textAlign:({addUtilities:r})=>{r({".text-left":{"text-align":"left"},".text-center":{"text-align":"center"},".text-right":{"text-align":"right"},".text-justify":{"text-align":"justify"},".text-start":{"text-align":"start"},".text-end":{"text-align":"end"}})},textIndent:P("textIndent",[["indent",["text-indent"]]],{supportsNegativeValues:!0}),verticalAlign:({addUtilities:r,matchUtilities:e})=>{r({".align-baseline":{"vertical-align":"baseline"},".align-top":{"vertical-align":"top"},".align-middle":{"vertical-align":"middle"},".align-bottom":{"vertical-align":"bottom"},".align-text-top":{"vertical-align":"text-top"},".align-text-bottom":{"vertical-align":"text-bottom"},".align-sub":{"vertical-align":"sub"},".align-super":{"vertical-align":"super"}}),e({align:t=>({"vertical-align":t})})},fontFamily:({matchUtilities:r,theme:e})=>{r({font:t=>{let[i,n={}]=Array.isArray(t)&&ie(t[1])?t:[t],{fontFeatureSettings:a,fontVariationSettings:s}=n;return{"font-family":Array.isArray(i)?i.join(", "):i,...a===void 0?{}:{"font-feature-settings":a},...s===void 0?{}:{"font-variation-settings":s}}}},{values:e("fontFamily"),type:["lookup","generic-name","family-name"]})},fontSize:({matchUtilities:r,theme:e})=>{r({text:(t,{modifier:i})=>{let[n,a]=Array.isArray(t)?t:[t];if(i)return{"font-size":n,"line-height":i};let{lineHeight:s,letterSpacing:o,fontWeight:u}=ie(a)?a:{lineHeight:a};return{"font-size":n,...s===void 0?{}:{"line-height":s},...o===void 0?{}:{"letter-spacing":o},...u===void 0?{}:{"font-weight":u}}}},{values:e("fontSize"),modifiers:e("lineHeight"),type:["absolute-size","relative-size","length","percentage"]})},fontWeight:P("fontWeight",[["font",["fontWeight"]]],{type:["lookup","number","any"]}),textTransform:({addUtilities:r})=>{r({".uppercase":{"text-transform":"uppercase"},".lowercase":{"text-transform":"lowercase"},".capitalize":{"text-transform":"capitalize"},".normal-case":{"text-transform":"none"}})},fontStyle:({addUtilities:r})=>{r({".italic":{"font-style":"italic"},".not-italic":{"font-style":"normal"}})},fontVariantNumeric:({addDefaults:r,addUtilities:e})=>{let t="var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)";r("font-variant-numeric",{"--tw-ordinal":" ","--tw-slashed-zero":" ","--tw-numeric-figure":" ","--tw-numeric-spacing":" ","--tw-numeric-fraction":" "}),e({".normal-nums":{"font-variant-numeric":"normal"},".ordinal":{"@defaults font-variant-numeric":{},"--tw-ordinal":"ordinal","font-variant-numeric":t},".slashed-zero":{"@defaults font-variant-numeric":{},"--tw-slashed-zero":"slashed-zero","font-variant-numeric":t},".lining-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"lining-nums","font-variant-numeric":t},".oldstyle-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"oldstyle-nums","font-variant-numeric":t},".proportional-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"proportional-nums","font-variant-numeric":t},".tabular-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"tabular-nums","font-variant-numeric":t},".diagonal-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"diagonal-fractions","font-variant-numeric":t},".stacked-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"stacked-fractions","font-variant-numeric":t}})},lineHeight:P("lineHeight",[["leading",["lineHeight"]]]),letterSpacing:P("letterSpacing",[["tracking",["letterSpacing"]]],{supportsNegativeValues:!0}),textColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({text:i=>t("textOpacity")?se({color:i,property:"color",variable:"--tw-text-opacity"}):{color:N(i)}},{values:re(e("textColor")),type:["color","any"]})},textOpacity:P("textOpacity",[["text-opacity",["--tw-text-opacity"]]]),textDecoration:({addUtilities:r})=>{r({".underline":{"text-decoration-line":"underline"},".overline":{"text-decoration-line":"overline"},".line-through":{"text-decoration-line":"line-through"},".no-underline":{"text-decoration-line":"none"}})},textDecorationColor:({matchUtilities:r,theme:e})=>{r({decoration:t=>({"text-decoration-color":N(t)})},{values:re(e("textDecorationColor")),type:["color","any"]})},textDecorationStyle:({addUtilities:r})=>{r({".decoration-solid":{"text-decoration-style":"solid"},".decoration-double":{"text-decoration-style":"double"},".decoration-dotted":{"text-decoration-style":"dotted"},".decoration-dashed":{"text-decoration-style":"dashed"},".decoration-wavy":{"text-decoration-style":"wavy"}})},textDecorationThickness:P("textDecorationThickness",[["decoration",["text-decoration-thickness"]]],{type:["length","percentage"]}),textUnderlineOffset:P("textUnderlineOffset",[["underline-offset",["text-underline-offset"]]],{type:["length","percentage","any"]}),fontSmoothing:({addUtilities:r})=>{r({".antialiased":{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},".subpixel-antialiased":{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"}})},placeholderColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({placeholder:i=>t("placeholderOpacity")?{"&::placeholder":se({color:i,property:"color",variable:"--tw-placeholder-opacity"})}:{"&::placeholder":{color:N(i)}}},{values:re(e("placeholderColor")),type:["color","any"]})},placeholderOpacity:({matchUtilities:r,theme:e})=>{r({"placeholder-opacity":t=>({["&::placeholder"]:{"--tw-placeholder-opacity":t}})},{values:e("placeholderOpacity")})},caretColor:({matchUtilities:r,theme:e})=>{r({caret:t=>({"caret-color":N(t)})},{values:re(e("caretColor")),type:["color","any"]})},accentColor:({matchUtilities:r,theme:e})=>{r({accent:t=>({"accent-color":N(t)})},{values:re(e("accentColor")),type:["color","any"]})},opacity:P("opacity",[["opacity",["opacity"]]]),backgroundBlendMode:({addUtilities:r})=>{r({".bg-blend-normal":{"background-blend-mode":"normal"},".bg-blend-multiply":{"background-blend-mode":"multiply"},".bg-blend-screen":{"background-blend-mode":"screen"},".bg-blend-overlay":{"background-blend-mode":"overlay"},".bg-blend-darken":{"background-blend-mode":"darken"},".bg-blend-lighten":{"background-blend-mode":"lighten"},".bg-blend-color-dodge":{"background-blend-mode":"color-dodge"},".bg-blend-color-burn":{"background-blend-mode":"color-burn"},".bg-blend-hard-light":{"background-blend-mode":"hard-light"},".bg-blend-soft-light":{"background-blend-mode":"soft-light"},".bg-blend-difference":{"background-blend-mode":"difference"},".bg-blend-exclusion":{"background-blend-mode":"exclusion"},".bg-blend-hue":{"background-blend-mode":"hue"},".bg-blend-saturation":{"background-blend-mode":"saturation"},".bg-blend-color":{"background-blend-mode":"color"},".bg-blend-luminosity":{"background-blend-mode":"luminosity"}})},mixBlendMode:({addUtilities:r})=>{r({".mix-blend-normal":{"mix-blend-mode":"normal"},".mix-blend-multiply":{"mix-blend-mode":"multiply"},".mix-blend-screen":{"mix-blend-mode":"screen"},".mix-blend-overlay":{"mix-blend-mode":"overlay"},".mix-blend-darken":{"mix-blend-mode":"darken"},".mix-blend-lighten":{"mix-blend-mode":"lighten"},".mix-blend-color-dodge":{"mix-blend-mode":"color-dodge"},".mix-blend-color-burn":{"mix-blend-mode":"color-burn"},".mix-blend-hard-light":{"mix-blend-mode":"hard-light"},".mix-blend-soft-light":{"mix-blend-mode":"soft-light"},".mix-blend-difference":{"mix-blend-mode":"difference"},".mix-blend-exclusion":{"mix-blend-mode":"exclusion"},".mix-blend-hue":{"mix-blend-mode":"hue"},".mix-blend-saturation":{"mix-blend-mode":"saturation"},".mix-blend-color":{"mix-blend-mode":"color"},".mix-blend-luminosity":{"mix-blend-mode":"luminosity"},".mix-blend-plus-darker":{"mix-blend-mode":"plus-darker"},".mix-blend-plus-lighter":{"mix-blend-mode":"plus-lighter"}})},boxShadow:(()=>{let r=Ge("boxShadow"),e=["var(--tw-ring-offset-shadow, 0 0 #0000)","var(--tw-ring-shadow, 0 0 #0000)","var(--tw-shadow)"].join(", ");return function({matchUtilities:t,addDefaults:i,theme:n}){i("box-shadow",{"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),t({shadow:a=>{a=r(a);let s=xi(a);for(let o of s)!o.valid||(o.color="var(--tw-shadow-color)");return{"@defaults box-shadow":{},"--tw-shadow":a==="none"?"0 0 #0000":a,"--tw-shadow-colored":a==="none"?"0 0 #0000":Lu(s),"box-shadow":e}}},{values:n("boxShadow"),type:["shadow"]})}})(),boxShadowColor:({matchUtilities:r,theme:e})=>{r({shadow:t=>({"--tw-shadow-color":N(t),"--tw-shadow":"var(--tw-shadow-colored)"})},{values:re(e("boxShadowColor")),type:["color","any"]})},outlineStyle:({addUtilities:r})=>{r({".outline-none":{outline:"2px solid transparent","outline-offset":"2px"},".outline":{"outline-style":"solid"},".outline-dashed":{"outline-style":"dashed"},".outline-dotted":{"outline-style":"dotted"},".outline-double":{"outline-style":"double"}})},outlineWidth:P("outlineWidth",[["outline",["outline-width"]]],{type:["length","number","percentage"]}),outlineOffset:P("outlineOffset",[["outline-offset",["outline-offset"]]],{type:["length","number","percentage","any"],supportsNegativeValues:!0}),outlineColor:({matchUtilities:r,theme:e})=>{r({outline:t=>({"outline-color":N(t)})},{values:re(e("outlineColor")),type:["color","any"]})},ringWidth:({matchUtilities:r,addDefaults:e,addUtilities:t,theme:i,config:n})=>{let a=(()=>{if(K(n(),"respectDefaultRingColorOpacity"))return i("ringColor.DEFAULT");let s=i("ringOpacity.DEFAULT","0.5");return i("ringColor")?.DEFAULT?Ie(i("ringColor")?.DEFAULT,s,`rgb(147 197 253 / ${s})`):`rgb(147 197 253 / ${s})`})();e("ring-width",{"--tw-ring-inset":" ","--tw-ring-offset-width":i("ringOffsetWidth.DEFAULT","0px"),"--tw-ring-offset-color":i("ringOffsetColor.DEFAULT","#fff"),"--tw-ring-color":a,"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),r({ring:s=>({"@defaults ring-width":{},"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":["var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow, 0 0 #0000)"].join(", ")})},{values:i("ringWidth"),type:"length"}),t({".ring-inset":{"@defaults ring-width":{},"--tw-ring-inset":"inset"}})},ringColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({ring:i=>t("ringOpacity")?se({color:i,property:"--tw-ring-color",variable:"--tw-ring-opacity"}):{"--tw-ring-color":N(i)}},{values:Object.fromEntries(Object.entries(re(e("ringColor"))).filter(([i])=>i!=="DEFAULT")),type:["color","any"]})},ringOpacity:r=>{let{config:e}=r;return P("ringOpacity",[["ring-opacity",["--tw-ring-opacity"]]],{filterDefault:!K(e(),"respectDefaultRingColorOpacity")})(r)},ringOffsetWidth:P("ringOffsetWidth",[["ring-offset",["--tw-ring-offset-width"]]],{type:"length"}),ringOffsetColor:({matchUtilities:r,theme:e})=>{r({"ring-offset":t=>({"--tw-ring-offset-color":N(t)})},{values:re(e("ringOffsetColor")),type:["color","any"]})},blur:({matchUtilities:r,theme:e})=>{r({blur:t=>({"--tw-blur":`blur(${t})`,"@defaults filter":{},filter:Be})},{values:e("blur")})},brightness:({matchUtilities:r,theme:e})=>{r({brightness:t=>({"--tw-brightness":`brightness(${t})`,"@defaults filter":{},filter:Be})},{values:e("brightness")})},contrast:({matchUtilities:r,theme:e})=>{r({contrast:t=>({"--tw-contrast":`contrast(${t})`,"@defaults filter":{},filter:Be})},{values:e("contrast")})},dropShadow:({matchUtilities:r,theme:e})=>{r({"drop-shadow":t=>({"--tw-drop-shadow":Array.isArray(t)?t.map(i=>`drop-shadow(${i})`).join(" "):`drop-shadow(${t})`,"@defaults filter":{},filter:Be})},{values:e("dropShadow")})},grayscale:({matchUtilities:r,theme:e})=>{r({grayscale:t=>({"--tw-grayscale":`grayscale(${t})`,"@defaults filter":{},filter:Be})},{values:e("grayscale")})},hueRotate:({matchUtilities:r,theme:e})=>{r({"hue-rotate":t=>({"--tw-hue-rotate":`hue-rotate(${t})`,"@defaults filter":{},filter:Be})},{values:e("hueRotate"),supportsNegativeValues:!0})},invert:({matchUtilities:r,theme:e})=>{r({invert:t=>({"--tw-invert":`invert(${t})`,"@defaults filter":{},filter:Be})},{values:e("invert")})},saturate:({matchUtilities:r,theme:e})=>{r({saturate:t=>({"--tw-saturate":`saturate(${t})`,"@defaults filter":{},filter:Be})},{values:e("saturate")})},sepia:({matchUtilities:r,theme:e})=>{r({sepia:t=>({"--tw-sepia":`sepia(${t})`,"@defaults filter":{},filter:Be})},{values:e("sepia")})},filter:({addDefaults:r,addUtilities:e})=>{r("filter",{"--tw-blur":" ","--tw-brightness":" ","--tw-contrast":" ","--tw-grayscale":" ","--tw-hue-rotate":" ","--tw-invert":" ","--tw-saturate":" ","--tw-sepia":" ","--tw-drop-shadow":" "}),e({".filter":{"@defaults filter":{},filter:Be},".filter-none":{filter:"none"}})},backdropBlur:({matchUtilities:r,theme:e})=>{r({"backdrop-blur":t=>({"--tw-backdrop-blur":`blur(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBlur")})},backdropBrightness:({matchUtilities:r,theme:e})=>{r({"backdrop-brightness":t=>({"--tw-backdrop-brightness":`brightness(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBrightness")})},backdropContrast:({matchUtilities:r,theme:e})=>{r({"backdrop-contrast":t=>({"--tw-backdrop-contrast":`contrast(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropContrast")})},backdropGrayscale:({matchUtilities:r,theme:e})=>{r({"backdrop-grayscale":t=>({"--tw-backdrop-grayscale":`grayscale(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropGrayscale")})},backdropHueRotate:({matchUtilities:r,theme:e})=>{r({"backdrop-hue-rotate":t=>({"--tw-backdrop-hue-rotate":`hue-rotate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropHueRotate"),supportsNegativeValues:!0})},backdropInvert:({matchUtilities:r,theme:e})=>{r({"backdrop-invert":t=>({"--tw-backdrop-invert":`invert(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropInvert")})},backdropOpacity:({matchUtilities:r,theme:e})=>{r({"backdrop-opacity":t=>({"--tw-backdrop-opacity":`opacity(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropOpacity")})},backdropSaturate:({matchUtilities:r,theme:e})=>{r({"backdrop-saturate":t=>({"--tw-backdrop-saturate":`saturate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSaturate")})},backdropSepia:({matchUtilities:r,theme:e})=>{r({"backdrop-sepia":t=>({"--tw-backdrop-sepia":`sepia(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSepia")})},backdropFilter:({addDefaults:r,addUtilities:e})=>{r("backdrop-filter",{"--tw-backdrop-blur":" ","--tw-backdrop-brightness":" ","--tw-backdrop-contrast":" ","--tw-backdrop-grayscale":" ","--tw-backdrop-hue-rotate":" ","--tw-backdrop-invert":" ","--tw-backdrop-opacity":" ","--tw-backdrop-saturate":" ","--tw-backdrop-sepia":" "}),e({".backdrop-filter":{"@defaults backdrop-filter":{},"backdrop-filter":Fe},".backdrop-filter-none":{"backdrop-filter":"none"}})},transitionProperty:({matchUtilities:r,theme:e})=>{let t=e("transitionTimingFunction.DEFAULT"),i=e("transitionDuration.DEFAULT");r({transition:n=>({"transition-property":n,...n==="none"?{}:{"transition-timing-function":t,"transition-duration":i}})},{values:e("transitionProperty")})},transitionDelay:P("transitionDelay",[["delay",["transitionDelay"]]]),transitionDuration:P("transitionDuration",[["duration",["transitionDuration"]]],{filterDefault:!0}),transitionTimingFunction:P("transitionTimingFunction",[["ease",["transitionTimingFunction"]]],{filterDefault:!0}),willChange:P("willChange",[["will-change",["will-change"]]]),contain:({addDefaults:r,addUtilities:e})=>{let t="var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style)";r("contain",{"--tw-contain-size":" ","--tw-contain-layout":" ","--tw-contain-paint":" ","--tw-contain-style":" "}),e({".contain-none":{contain:"none"},".contain-content":{contain:"content"},".contain-strict":{contain:"strict"},".contain-size":{"@defaults contain":{},"--tw-contain-size":"size",contain:t},".contain-inline-size":{"@defaults contain":{},"--tw-contain-size":"inline-size",contain:t},".contain-layout":{"@defaults contain":{},"--tw-contain-layout":"layout",contain:t},".contain-paint":{"@defaults contain":{},"--tw-contain-paint":"paint",contain:t},".contain-style":{"@defaults contain":{},"--tw-contain-style":"style",contain:t}})},content:P("content",[["content",["--tw-content",["content","var(--tw-content)"]]]]),forcedColorAdjust:({addUtilities:r})=>{r({".forced-color-adjust-auto":{"forced-color-adjust":"auto"},".forced-color-adjust-none":{"forced-color-adjust":"none"}})}}});function h2(r){if(r===void 0)return!1;if(r==="true"||r==="1")return!0;if(r==="false"||r==="0")return!1;if(r==="*")return!0;let e=r.split(",").map(t=>t.split(":")[0]);return e.includes("-tailwindcss")?!1:!!e.includes("tailwindcss")}var Pe,Ad,_d,vn,Za,He,ti,lt=C(()=>{l();Pe=typeof h!="undefined"?{NODE_ENV:"production",DEBUG:h2(h.env.DEBUG)}:{NODE_ENV:"production",DEBUG:!1},Ad=new Map,_d=new Map,vn=new Map,Za=new Map,He=new String("*"),ti=Symbol("__NONE__")});function zt(r){let e=[],t=!1;for(let i=0;i0)}var Od,Ed,m2,eo=C(()=>{l();Od=new Map([["{","}"],["[","]"],["(",")"]]),Ed=new Map(Array.from(Od.entries()).map(([r,e])=>[e,r])),m2=new Set(['"',"'","`"])});function jt(r){let[e]=Td(r);return e.forEach(([t,i])=>t.removeChild(i)),r.nodes.push(...e.map(([,t])=>t)),r}function Td(r){let e=[],t=null;for(let i of r.nodes)if(i.type==="combinator")e=e.filter(([,n])=>ro(n).includes("jumpable")),t=null;else if(i.type==="pseudo"){g2(i)?(t=i,e.push([r,i,null])):t&&y2(i,t)?e.push([r,i,t]):t=null;for(let n of i.nodes??[]){let[a,s]=Td(n);t=s||t,e.push(...a)}}return[e,t]}function Pd(r){return r.value.startsWith("::")||to[r.value]!==void 0}function g2(r){return Pd(r)&&ro(r).includes("terminal")}function y2(r,e){return r.type!=="pseudo"||Pd(r)?!1:ro(e).includes("actionable")}function ro(r){return to[r.value]??to.__default__}var to,xn=C(()=>{l();to={"::after":["terminal","jumpable"],"::backdrop":["terminal","jumpable"],"::before":["terminal","jumpable"],"::cue":["terminal"],"::cue-region":["terminal"],"::first-letter":["terminal","jumpable"],"::first-line":["terminal","jumpable"],"::grammar-error":["terminal"],"::marker":["terminal","jumpable"],"::part":["terminal","actionable"],"::placeholder":["terminal","jumpable"],"::selection":["terminal","jumpable"],"::slotted":["terminal"],"::spelling-error":["terminal"],"::target-text":["terminal"],"::file-selector-button":["terminal","actionable"],"::deep":["actionable"],"::v-deep":["actionable"],"::ng-deep":["actionable"],":after":["terminal","jumpable"],":before":["terminal","jumpable"],":first-letter":["terminal","jumpable"],":first-line":["terminal","jumpable"],":where":[],":is":[],":has":[],__default__:["terminal","actionable"]}});function Vt(r,{context:e,candidate:t}){let i=e?.tailwindConfig.prefix??"",n=r.map(s=>{let o=(0,Le.default)().astSync(s.format);return{...s,ast:s.respectPrefix?Nt(i,o):o}}),a=Le.default.root({nodes:[Le.default.selector({nodes:[Le.default.className({value:ce(t)})]})]});for(let{ast:s}of n)[a,s]=b2(a,s),s.walkNesting(o=>o.replaceWith(...a.nodes[0].nodes)),a=s;return a}function Id(r){let e=[];for(;r.prev()&&r.prev().type!=="combinator";)r=r.prev();for(;r&&r.type!=="combinator";)e.push(r),r=r.next();return e}function w2(r){return r.sort((e,t)=>e.type==="tag"&&t.type==="class"?-1:e.type==="class"&&t.type==="tag"?1:e.type==="class"&&t.type==="pseudo"&&t.value.startsWith("::")?-1:e.type==="pseudo"&&e.value.startsWith("::")&&t.type==="class"?1:r.index(e)-r.index(t)),r}function no(r,e){let t=!1;r.walk(i=>{if(i.type==="class"&&i.value===e)return t=!0,!1}),t||r.remove()}function kn(r,e,{context:t,candidate:i,base:n}){let a=t?.tailwindConfig?.separator??":";n=n??ae(i,a).pop();let s=(0,Le.default)().astSync(r);if(s.walkClasses(f=>{f.raws&&f.value.includes(n)&&(f.raws.value=ce((0,Dd.default)(f.raws.value)))}),s.each(f=>no(f,n)),s.length===0)return null;let o=Array.isArray(e)?Vt(e,{context:t,candidate:i}):e;if(o===null)return s.toString();let u=Le.default.comment({value:"/*__simple__*/"}),c=Le.default.comment({value:"/*__simple__*/"});return s.walkClasses(f=>{if(f.value!==n)return;let d=f.parent,p=o.nodes[0].nodes;if(d.nodes.length===1){f.replaceWith(...p);return}let m=Id(f);d.insertBefore(m[0],u),d.insertAfter(m[m.length-1],c);for(let x of p)d.insertBefore(m[0],x.clone());f.remove(),m=Id(u);let b=d.index(u);d.nodes.splice(b,m.length,...w2(Le.default.selector({nodes:m})).nodes),u.remove(),c.remove()}),s.walkPseudos(f=>{f.value===io&&f.replaceWith(f.nodes)}),s.each(f=>jt(f)),s.toString()}function b2(r,e){let t=[];return r.walkPseudos(i=>{i.value===io&&t.push({pseudo:i,value:i.nodes[0].toString()})}),e.walkPseudos(i=>{if(i.value!==io)return;let n=i.nodes[0].toString(),a=t.find(c=>c.value===n);if(!a)return;let s=[],o=i.next();for(;o&&o.type!=="combinator";)s.push(o),o=o.next();let u=o;a.pseudo.parent.insertAfter(a.pseudo,Le.default.selector({nodes:s.map(c=>c.clone())})),i.remove(),s.forEach(c=>c.remove()),u&&u.type==="combinator"&&u.remove()}),[r,e]}var Le,Dd,io,so=C(()=>{l();Le=X(Me()),Dd=X(Ki());$t();dn();xn();_t();io=":merge"});function Sn(r,e){let t=(0,ao.default)().astSync(r);return t.each(i=>{i.nodes[0].type==="pseudo"&&i.nodes[0].value===":is"&&i.nodes.every(a=>a.type!=="combinator")||(i.nodes=[ao.default.pseudo({value:":is",nodes:[i.clone()]})]),jt(i)}),`${e} ${t.toString()}`}var ao,oo=C(()=>{l();ao=X(Me());xn()});function lo(r){return v2.transformSync(r)}function*x2(r){let e=1/0;for(;e>=0;){let t,i=!1;if(e===1/0&&r.endsWith("]")){let s=r.indexOf("[");r[s-1]==="-"?t=s-1:r[s-1]==="/"?(t=s-1,i=!0):t=-1}else e===1/0&&r.includes("/")?(t=r.lastIndexOf("/"),i=!0):t=r.lastIndexOf("-",e);if(t<0)break;let n=r.slice(0,t),a=r.slice(i?t:t+1);e=t-1,!(n===""||a==="/")&&(yield[n,a])}}function k2(r,e){if(r.length===0||e.tailwindConfig.prefix==="")return r;for(let t of r){let[i]=t;if(i.options.respectPrefix){let n=j.root({nodes:[t[1].clone()]}),a=t[1].raws.tailwind.classCandidate;n.walkRules(s=>{let o=a.startsWith("-");s.selector=Nt(e.tailwindConfig.prefix,s.selector,o)}),t[1]=n.nodes[0]}}return r}function S2(r,e){if(r.length===0)return r;let t=[];function i(n){return n.parent&&n.parent.type==="atrule"&&n.parent.name==="keyframes"}for(let[n,a]of r){let s=j.root({nodes:[a.clone()]});s.walkRules(o=>{if(i(o))return;let u=(0,Cn.default)().astSync(o.selector);u.each(c=>no(c,e)),Ju(u,c=>c===e?`!${c}`:c),o.selector=u.toString(),o.walkDecls(c=>c.important=!0)}),t.push([{...n,important:!0},s.nodes[0]])}return t}function C2(r,e,t){if(e.length===0)return e;let i={modifier:null,value:ti};{let[n,...a]=ae(r,"/");if(a.length>1&&(n=n+"/"+a.slice(0,-1).join("/"),a=a.slice(-1)),a.length&&!t.variantMap.has(r)&&(r=n,i.modifier=a[0],!K(t.tailwindConfig,"generalizedModifiers")))return[]}if(r.endsWith("]")&&!r.startsWith("[")){let n=/(.)(-?)\[(.*)\]/g.exec(r);if(n){let[,a,s,o]=n;if(a==="@"&&s==="-")return[];if(a!=="@"&&s==="")return[];r=r.replace(`${s}[${o}]`,""),i.value=o}}if(co(r)&&!t.variantMap.has(r)){let n=t.offsets.recordVariant(r),a=L(r.slice(1,-1)),s=ae(a,",");if(s.length>1)return[];if(!s.every(En))return[];let o=s.map((u,c)=>[t.offsets.applyParallelOffset(n,c),ri(u.trim())]);t.variantMap.set(r,o)}if(t.variantMap.has(r)){let n=co(r),a=t.variantOptions.get(r)?.[Zr]??{},s=t.variantMap.get(r).slice(),o=[],u=(()=>!(n||a.respectPrefix===!1))();for(let[c,f]of e){if(c.layer==="user")continue;let d=j.root({nodes:[f.clone()]});for(let[p,m,b]of s){let w=function(){x.raws.neededBackup||(x.raws.neededBackup=!0,x.walkRules(E=>E.raws.originalSelector=E.selector))},k=function(E){return w(),x.each(I=>{I.type==="rule"&&(I.selectors=I.selectors.map(q=>E({get className(){return lo(q)},selector:q})))}),x},x=(b??d).clone(),y=[],S=m({get container(){return w(),x},separator:t.tailwindConfig.separator,modifySelectors:k,wrap(E){let I=x.nodes;x.removeAll(),E.append(I),x.append(E)},format(E){y.push({format:E,respectPrefix:u})},args:i});if(Array.isArray(S)){for(let[E,I]of S.entries())s.push([t.offsets.applyParallelOffset(p,E),I,x.clone()]);continue}if(typeof S=="string"&&y.push({format:S,respectPrefix:u}),S===null)continue;x.raws.neededBackup&&(delete x.raws.neededBackup,x.walkRules(E=>{let I=E.raws.originalSelector;if(!I||(delete E.raws.originalSelector,I===E.selector))return;let q=E.selector,R=(0,Cn.default)(J=>{J.walkClasses(ue=>{ue.value=`${r}${t.tailwindConfig.separator}${ue.value}`})}).processSync(I);y.push({format:q.replace(R,"&"),respectPrefix:u}),E.selector=I})),x.nodes[0].raws.tailwind={...x.nodes[0].raws.tailwind,parentLayer:c.layer};let _=[{...c,sort:t.offsets.applyVariantOffset(c.sort,p,Object.assign(i,t.variantOptions.get(r))),collectedFormats:(c.collectedFormats??[]).concat(y)},x.nodes[0]];o.push(_)}}return o}return[]}function uo(r,e,t={}){return!ie(r)&&!Array.isArray(r)?[[r],t]:Array.isArray(r)?uo(r[0],e,r[1]):(e.has(r)||e.set(r,Lt(r)),[e.get(r),t])}function _2(r){return A2.test(r)}function O2(r){if(!r.includes("://"))return!1;try{let e=new URL(r);return e.scheme!==""&&e.host!==""}catch(e){return!1}}function qd(r){let e=!0;return r.walkDecls(t=>{if(!Rd(t.prop,t.value))return e=!1,!1}),e}function Rd(r,e){if(O2(`${r}:${e}`))return!1;try{return j.parse(`a{${r}:${e}}`).toResult(),!0}catch(t){return!1}}function E2(r,e){let[,t,i]=r.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/)??[];if(i===void 0||!_2(t)||!zt(i))return null;let n=L(i,{property:t});return Rd(t,n)?[[{sort:e.offsets.arbitraryProperty(r),layer:"utilities",options:{respectImportant:!0}},()=>({[Ja(r)]:{[t]:n}})]]:null}function*T2(r,e){e.candidateRuleMap.has(r)&&(yield[e.candidateRuleMap.get(r),"DEFAULT"]),yield*function*(o){o!==null&&(yield[o,"DEFAULT"])}(E2(r,e));let t=r,i=!1,n=e.tailwindConfig.prefix,a=n.length,s=t.startsWith(n)||t.startsWith(`-${n}`);t[a]==="-"&&s&&(i=!0,t=n+t.slice(a+1)),i&&e.candidateRuleMap.has(t)&&(yield[e.candidateRuleMap.get(t),"-DEFAULT"]);for(let[o,u]of x2(t))e.candidateRuleMap.has(o)&&(yield[e.candidateRuleMap.get(o),i?`-${u}`:u])}function P2(r,e){return r===He?[He]:ae(r,e)}function*D2(r,e){for(let t of r)t[1].raws.tailwind={...t[1].raws.tailwind,classCandidate:e,preserveSource:t[0].options?.preserveSource??!1},yield t}function*fo(r,e){let t=e.tailwindConfig.separator,[i,...n]=P2(r,t).reverse(),a=!1;i.startsWith("!")&&(a=!0,i=i.slice(1));for(let s of T2(i,e)){let o=[],u=new Map,[c,f]=s,d=c.length===1;for(let[p,m]of c){let b=[];if(typeof m=="function")for(let x of[].concat(m(f,{isOnlyPlugin:d}))){let[y,w]=uo(x,e.postCssNodeCache);for(let k of y)b.push([{...p,options:{...p.options,...w}},k])}else if(f==="DEFAULT"||f==="-DEFAULT"){let x=m,[y,w]=uo(x,e.postCssNodeCache);for(let k of y)b.push([{...p,options:{...p.options,...w}},k])}if(b.length>0){let x=Array.from(ys(p.options?.types??[],f,p.options??{},e.tailwindConfig)).map(([y,w])=>w);x.length>0&&u.set(b,x),o.push(b)}}if(co(f)){if(o.length>1){let b=function(y){return y.length===1?y[0]:y.find(w=>{let k=u.get(w);return w.some(([{options:S},_])=>qd(_)?S.types.some(({type:E,preferOnConflict:I})=>k.includes(E)&&I):!1)})},[p,m]=o.reduce((y,w)=>(w.some(([{options:S}])=>S.types.some(({type:_})=>_==="any"))?y[0].push(w):y[1].push(w),y),[[],[]]),x=b(m)??b(p);if(x)o=[x];else{let y=o.map(k=>new Set([...u.get(k)??[]]));for(let k of y)for(let S of k){let _=!1;for(let E of y)k!==E&&E.has(S)&&(E.delete(S),_=!0);_&&k.delete(S)}let w=[];for(let[k,S]of y.entries())for(let _ of S){let E=o[k].map(([,I])=>I).flat().map(I=>I.toString().split(` +`).slice(1,-1).map(q=>q.trim()).map(q=>` ${q}`).join(` +`)).join(` + +`);w.push(` Use \`${r.replace("[",`[${_}:`)}\` for \`${E.trim()}\``);break}F.warn([`The class \`${r}\` is ambiguous and matches multiple utilities.`,...w,`If this is content and not a class, replace it with \`${r.replace("[","[").replace("]","]")}\` to silence this warning.`]);continue}}o=o.map(p=>p.filter(m=>qd(m[1])))}o=o.flat(),o=Array.from(D2(o,i)),o=k2(o,e),a&&(o=S2(o,i));for(let p of n)o=C2(p,o,e);for(let p of o)p[1].raws.tailwind={...p[1].raws.tailwind,candidate:r},p=I2(p,{context:e,candidate:r}),p!==null&&(yield p)}}function I2(r,{context:e,candidate:t}){if(!r[0].collectedFormats)return r;let i=!0,n;try{n=Vt(r[0].collectedFormats,{context:e,candidate:t})}catch{return null}let a=j.root({nodes:[r[1].clone()]});return a.walkRules(s=>{if(!An(s))try{let o=kn(s.selector,n,{candidate:t,context:e});if(o===null){s.remove();return}s.selector=o}catch{return i=!1,!1}}),!i||a.nodes.length===0?null:(r[1]=a.nodes[0],r)}function An(r){return r.parent&&r.parent.type==="atrule"&&r.parent.name==="keyframes"}function q2(r){if(r===!0)return e=>{An(e)||e.walkDecls(t=>{t.parent.type==="rule"&&!An(t.parent)&&(t.important=!0)})};if(typeof r=="string")return e=>{An(e)||(e.selectors=e.selectors.map(t=>Sn(t,r)))}}function _n(r,e,t=!1){let i=[],n=q2(e.tailwindConfig.important);for(let a of r){if(e.notClassCache.has(a))continue;if(e.candidateRuleCache.has(a)){i=i.concat(Array.from(e.candidateRuleCache.get(a)));continue}let s=Array.from(fo(a,e));if(s.length===0){e.notClassCache.add(a);continue}e.classCache.set(a,s);let o=e.candidateRuleCache.get(a)??new Set;e.candidateRuleCache.set(a,o);for(let u of s){let[{sort:c,options:f},d]=u;if(f.respectImportant&&n){let m=j.root({nodes:[d.clone()]});m.walkRules(n),d=m.nodes[0]}let p=[c,t?d.clone():d];o.add(p),e.ruleCache.add(p),i.push(p)}}return i}function co(r){return r.startsWith("[")&&r.endsWith("]")}var Cn,v2,A2,On=C(()=>{l();st();Cn=X(Me());Qa();At();dn();hr();Oe();lt();so();Xa();dr();ei();eo();_t();je();oo();v2=(0,Cn.default)(r=>r.first.filter(({type:e})=>e==="class").pop().value);A2=/^[a-z_-]/});var Md,Bd=C(()=>{l();Md={}});function R2(r){try{return Md.createHash("md5").update(r,"utf-8").digest("binary")}catch(e){return""}}function Fd(r,e){let t=e.toString();if(!t.includes("@tailwind"))return!1;let i=Za.get(r),n=R2(t),a=i!==n;return Za.set(r,n),a}var Ld=C(()=>{l();Bd();lt()});function Tn(r){return(r>0n)-(r<0n)}var Nd=C(()=>{l()});function $d(r,e){let t=0n,i=0n;for(let[n,a]of e)r&n&&(t=t|n,i=i|a);return r&~t|i}var zd=C(()=>{l()});function jd(r){let e=null;for(let t of r)e=e??t,e=e>t?e:t;return e}function M2(r,e){let t=r.length,i=e.length,n=t{l();Nd();zd();po=class{constructor(){this.offsets={defaults:0n,base:0n,components:0n,utilities:0n,variants:0n,user:0n},this.layerPositions={defaults:0n,base:1n,components:2n,utilities:3n,user:4n,variants:5n},this.reservedVariantBits=0n,this.variantOffsets=new Map}create(e){return{layer:e,parentLayer:e,arbitrary:0n,variants:0n,parallelIndex:0n,index:this.offsets[e]++,propertyOffset:0n,property:"",options:[]}}arbitraryProperty(e){return{...this.create("utilities"),arbitrary:1n,property:e}}forVariant(e,t=0){let i=this.variantOffsets.get(e);if(i===void 0)throw new Error(`Cannot find offset for unknown variant ${e}`);return{...this.create("variants"),variants:i<n.startsWith("[")).sort(([n],[a])=>M2(n,a)),t=e.map(([,n])=>n).sort((n,a)=>Tn(n-a));return e.map(([,n],a)=>[n,t[a]]).filter(([n,a])=>n!==a)}remapArbitraryVariantOffsets(e){let t=this.recalculateVariantOffsets();return t.length===0?e:e.map(i=>{let[n,a]=i;return n={...n,variants:$d(n.variants,t)},[n,a]})}sortArbitraryProperties(e){let t=new Set;for(let[s]of e)s.arbitrary===1n&&t.add(s.property);if(t.size===0)return e;let i=Array.from(t).sort(),n=new Map,a=1n;for(let s of i)n.set(s,a++);return e.map(s=>{let[o,u]=s;return o={...o,propertyOffset:n.get(o.property)??0n},[o,u]})}sort(e){return e=this.remapArbitraryVariantOffsets(e),e=this.sortArbitraryProperties(e),e.sort(([t],[i])=>Tn(this.compare(t,i)))}}});function yo(r,e){let t=r.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function Wd({type:r="any",...e}){let t=[].concat(r);return{...e,types:t.map(i=>Array.isArray(i)?{type:i[0],...i[1]}:{type:i,preferOnConflict:!1})}}function B2(r){let e=[],t="",i=0;for(let n=0;n0&&e.push(t.trim()),e=e.filter(n=>n!==""),e}function F2(r,e,{before:t=[]}={}){if(t=[].concat(t),t.length<=0){r.push(e);return}let i=r.length-1;for(let n of t){let a=r.indexOf(n);a!==-1&&(i=Math.min(i,a))}r.splice(i,0,e)}function Gd(r){return Array.isArray(r)?r.flatMap(e=>!Array.isArray(e)&&!ie(e)?e:Lt(e)):Gd([r])}function L2(r,e){return(0,ho.default)(i=>{let n=[];return e&&e(i),i.walkClasses(a=>{n.push(a.value)}),n}).transformSync(r)}function N2(r){r.walkPseudos(e=>{e.value===":not"&&e.remove()})}function $2(r,e={containsNonOnDemandable:!1},t=0){let i=[],n=[];r.type==="rule"?n.push(...r.selectors):r.type==="atrule"&&r.walkRules(a=>n.push(...a.selectors));for(let a of n){let s=L2(a,N2);s.length===0&&(e.containsNonOnDemandable=!0);for(let o of s)i.push(o)}return t===0?[e.containsNonOnDemandable||i.length===0,i]:i}function Pn(r){return Gd(r).flatMap(e=>{let t=new Map,[i,n]=$2(e);return i&&n.unshift(He),n.map(a=>(t.has(e)||t.set(e,e),[a,t.get(e)]))})}function En(r){return r.startsWith("@")||r.includes("&")}function ri(r){r=r.replace(/\n+/g,"").replace(/\s{1,}/g," ").trim();let e=B2(r).map(t=>{if(!t.startsWith("@"))return({format:a})=>a(t);let[,i,n]=/@(\S*)( .+|[({].*)?/g.exec(t);return({wrap:a})=>a(j.atRule({name:i,params:n?.trim()??""}))}).reverse();return t=>{for(let i of e)i(t)}}function z2(r,e,{variantList:t,variantMap:i,offsets:n,classList:a}){function s(p,m){return p?(0,Ud.default)(r,p,m):r}function o(p){return Nt(r.prefix,p)}function u(p,m){return p===He?He:m.respectPrefix?e.tailwindConfig.prefix+p:p}function c(p,m,b={}){let x=Ze(p),y=s(["theme",...x],m);return Ge(x[0])(y,b)}let f=0,d={postcss:j,prefix:o,e:ce,config:s,theme:c,corePlugins:p=>Array.isArray(r.corePlugins)?r.corePlugins.includes(p):s(["corePlugins",p],!0),variants:()=>[],addBase(p){for(let[m,b]of Pn(p)){let x=u(m,{}),y=n.create("base");e.candidateRuleMap.has(x)||e.candidateRuleMap.set(x,[]),e.candidateRuleMap.get(x).push([{sort:y,layer:"base"},b])}},addDefaults(p,m){let b={[`@defaults ${p}`]:m};for(let[x,y]of Pn(b)){let w=u(x,{});e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("defaults"),layer:"defaults"},y])}},addComponents(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!1},Array.isArray(m)?{}:m);for(let[x,y]of Pn(p)){let w=u(x,m);a.add(w),e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("components"),layer:"components",options:m},y])}},addUtilities(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!0},Array.isArray(m)?{}:m);for(let[x,y]of Pn(p)){let w=u(x,m);a.add(w),e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("utilities"),layer:"utilities",options:m},y])}},matchUtilities:function(p,m){m=Wd({...{respectPrefix:!0,respectImportant:!0,modifiers:!1},...m});let x=n.create("utilities");for(let y in p){let S=function(E,{isOnlyPlugin:I}){let[q,R,J]=gs(m.types,E,m,r);if(q===void 0)return[];if(!m.types.some(({type:ee})=>ee===R))if(I)F.warn([`Unnecessary typehint \`${R}\` in \`${y}-${E}\`.`,`You can safely update it to \`${y}-${E.replace(R+":","")}\`.`]);else return[];if(!zt(q))return[];let ue={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),J}},de=K(r,"generalizedModifiers");return[].concat(de?k(q,ue):k(q)).filter(Boolean).map(ee=>({[hn(y,E)]:ee}))},w=u(y,m),k=p[y];a.add([w,m]);let _=[{sort:x,layer:"utilities",options:m},S];e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push(_)}},matchComponents:function(p,m){m=Wd({...{respectPrefix:!0,respectImportant:!1,modifiers:!1},...m});let x=n.create("components");for(let y in p){let S=function(E,{isOnlyPlugin:I}){let[q,R,J]=gs(m.types,E,m,r);if(q===void 0)return[];if(!m.types.some(({type:ee})=>ee===R))if(I)F.warn([`Unnecessary typehint \`${R}\` in \`${y}-${E}\`.`,`You can safely update it to \`${y}-${E.replace(R+":","")}\`.`]);else return[];if(!zt(q))return[];let ue={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),J}},de=K(r,"generalizedModifiers");return[].concat(de?k(q,ue):k(q)).filter(Boolean).map(ee=>({[hn(y,E)]:ee}))},w=u(y,m),k=p[y];a.add([w,m]);let _=[{sort:x,layer:"components",options:m},S];e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push(_)}},addVariant(p,m,b={}){m=[].concat(m).map(x=>{if(typeof x!="string")return(y={})=>{let{args:w,modifySelectors:k,container:S,separator:_,wrap:E,format:I}=y,q=x(Object.assign({modifySelectors:k,container:S,separator:_},b.type===mo.MatchVariant&&{args:w,wrap:E,format:I}));if(typeof q=="string"&&!En(q))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Array.isArray(q)?q.filter(R=>typeof R=="string").map(R=>ri(R)):q&&typeof q=="string"&&ri(q)(y)};if(!En(x))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return ri(x)}),F2(t,p,b),i.set(p,m),e.variantOptions.set(p,b)},matchVariant(p,m,b){let x=b?.id??++f,y=p==="@",w=K(r,"generalizedModifiers");for(let[S,_]of Object.entries(b?.values??{}))S!=="DEFAULT"&&d.addVariant(y?`${p}${S}`:`${p}-${S}`,({args:E,container:I})=>m(_,w?{modifier:E?.modifier,container:I}:{container:I}),{...b,value:_,id:x,type:mo.MatchVariant,variantInfo:go.Base});let k="DEFAULT"in(b?.values??{});d.addVariant(p,({args:S,container:_})=>S?.value===ti&&!k?null:m(S?.value===ti?b.values.DEFAULT:S?.value??(typeof S=="string"?S:""),w?{modifier:S?.modifier,container:_}:{container:_}),{...b,id:x,type:mo.MatchVariant,variantInfo:go.Dynamic})}};return d}function Dn(r){return wo.has(r)||wo.set(r,new Map),wo.get(r)}function Hd(r,e){let t=!1,i=new Map;for(let n of r){if(!n)continue;let a=Ss.parse(n),s=a.hash?a.href.replace(a.hash,""):a.href;s=a.search?s.replace(a.search,""):s;let o=te.statSync(decodeURIComponent(s),{throwIfNoEntry:!1})?.mtimeMs;!o||((!e.has(n)||o>e.get(n))&&(t=!0),i.set(n,o))}return[t,i]}function Yd(r){r.walkAtRules(e=>{["responsive","variants"].includes(e.name)&&(Yd(e),e.before(e.nodes),e.remove())})}function j2(r){let e=[];return r.each(t=>{t.type==="atrule"&&["responsive","variants"].includes(t.name)&&(t.name="layer",t.params="utilities")}),r.walkAtRules("layer",t=>{if(Yd(t),t.params==="base"){for(let i of t.nodes)e.push(function({addBase:n}){n(i,{respectPrefix:!1})});t.remove()}else if(t.params==="components"){for(let i of t.nodes)e.push(function({addComponents:n}){n(i,{respectPrefix:!1,preserveSource:!0})});t.remove()}else if(t.params==="utilities"){for(let i of t.nodes)e.push(function({addUtilities:n}){n(i,{respectPrefix:!1,preserveSource:!0})});t.remove()}}),e}function V2(r,e){let t=Object.entries({...H,...Sd}).map(([u,c])=>r.tailwindConfig.corePlugins.includes(u)?c:null).filter(Boolean),i=r.tailwindConfig.plugins.map(u=>(u.__isOptionsFunction&&(u=u()),typeof u=="function"?u:u.handler)),n=j2(e),a=[H.childVariant,H.pseudoElementVariants,H.pseudoClassVariants,H.hasVariants,H.ariaVariants,H.dataVariants],s=[H.supportsVariants,H.reducedMotionVariants,H.prefersContrastVariants,H.screenVariants,H.orientationVariants,H.directionVariants,H.darkVariants,H.forcedColorsVariants,H.printVariant];return(r.tailwindConfig.darkMode==="class"||Array.isArray(r.tailwindConfig.darkMode)&&r.tailwindConfig.darkMode[0]==="class")&&(s=[H.supportsVariants,H.reducedMotionVariants,H.prefersContrastVariants,H.darkVariants,H.screenVariants,H.orientationVariants,H.directionVariants,H.forcedColorsVariants,H.printVariant]),[...t,...a,...i,...s,...n]}function U2(r,e){let t=[],i=new Map;e.variantMap=i;let n=new po;e.offsets=n;let a=new Set,s=z2(e.tailwindConfig,e,{variantList:t,variantMap:i,offsets:n,classList:a});for(let f of r)if(Array.isArray(f))for(let d of f)d(s);else f?.(s);n.recordVariants(t,f=>i.get(f).length);for(let[f,d]of i.entries())e.variantMap.set(f,d.map((p,m)=>[n.forVariant(f,m),p]));let o=(e.tailwindConfig.safelist??[]).filter(Boolean);if(o.length>0){let f=[];for(let d of o){if(typeof d=="string"){e.changedContent.push({content:d,extension:"html"});continue}if(d instanceof RegExp){F.warn("root-regex",["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.","Update your `safelist` configuration to eliminate this warning.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"]);continue}f.push(d)}if(f.length>0){let d=new Map,p=e.tailwindConfig.prefix.length,m=f.some(b=>b.pattern.source.includes("!"));for(let b of a){let x=Array.isArray(b)?(()=>{let[y,w]=b,S=Object.keys(w?.values??{}).map(_=>Kr(y,_));return w?.supportsNegativeValues&&(S=[...S,...S.map(_=>"-"+_)],S=[...S,...S.map(_=>_.slice(0,p)+"-"+_.slice(p))]),w.types.some(({type:_})=>_==="color")&&(S=[...S,...S.flatMap(_=>Object.keys(e.tailwindConfig.theme.opacity).map(E=>`${_}/${E}`))]),m&&w?.respectImportant&&(S=[...S,...S.map(_=>"!"+_)]),S})():[b];for(let y of x)for(let{pattern:w,variants:k=[]}of f)if(w.lastIndex=0,d.has(w)||d.set(w,0),!!w.test(y)){d.set(w,d.get(w)+1),e.changedContent.push({content:y,extension:"html"});for(let S of k)e.changedContent.push({content:S+e.tailwindConfig.separator+y,extension:"html"})}}for(let[b,x]of d.entries())x===0&&F.warn([`The safelist pattern \`${b}\` doesn't match any Tailwind CSS classes.`,"Fix this pattern or remove it from your `safelist` configuration.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"])}}let u=[].concat(e.tailwindConfig.darkMode??"media")[1]??"dark",c=[yo(e,u),yo(e,"group"),yo(e,"peer")];e.getClassOrder=function(d){let p=[...d].sort((y,w)=>y===w?0:y[y,null])),b=_n(new Set(p),e,!0);b=e.offsets.sort(b);let x=BigInt(c.length);for(let[,y]of b){let w=y.raws.tailwind.candidate;m.set(w,m.get(w)??x++)}return d.map(y=>{let w=m.get(y)??null,k=c.indexOf(y);return w===null&&k!==-1&&(w=BigInt(k)),[y,w]})},e.getClassList=function(d={}){let p=[];for(let m of a)if(Array.isArray(m)){let[b,x]=m,y=[],w=Object.keys(x?.modifiers??{});x?.types?.some(({type:_})=>_==="color")&&w.push(...Object.keys(e.tailwindConfig.theme.opacity??{}));let k={modifiers:w},S=d.includeMetadata&&w.length>0;for(let[_,E]of Object.entries(x?.values??{})){if(E==null)continue;let I=Kr(b,_);if(p.push(S?[I,k]:I),x?.supportsNegativeValues&&Ke(E)){let q=Kr(b,`-${_}`);y.push(S?[q,k]:q)}}p.push(...y)}else p.push(m);return p},e.getVariants=function(){let d=Math.random().toString(36).substring(7).toUpperCase(),p=[];for(let[m,b]of e.variantOptions.entries())b.variantInfo!==go.Base&&p.push({name:m,isArbitrary:b.type===Symbol.for("MATCH_VARIANT"),values:Object.keys(b.values??{}),hasDash:m!=="@",selectors({modifier:x,value:y}={}){let w=`TAILWINDPLACEHOLDER${d}`,k=j.rule({selector:`.${w}`}),S=j.root({nodes:[k.clone()]}),_=S.toString(),E=(e.variantMap.get(m)??[]).flatMap(([oe,he])=>he),I=[];for(let oe of E){let he=[],ui={args:{modifier:x,value:b.values?.[y]??y},separator:e.tailwindConfig.separator,modifySelectors(Ce){return S.each(ts=>{ts.type==="rule"&&(ts.selectors=ts.selectors.map(mu=>Ce({get className(){return lo(mu)},selector:mu})))}),S},format(Ce){he.push(Ce)},wrap(Ce){he.push(`@${Ce.name} ${Ce.params} { & }`)},container:S},fi=oe(ui);if(he.length>0&&I.push(he),Array.isArray(fi))for(let Ce of fi)he=[],Ce(ui),I.push(he)}let q=[],R=S.toString();_!==R&&(S.walkRules(oe=>{let he=oe.selector,ui=(0,ho.default)(fi=>{fi.walkClasses(Ce=>{Ce.value=`${m}${e.tailwindConfig.separator}${Ce.value}`})}).processSync(he);q.push(he.replace(ui,"&").replace(w,"&"))}),S.walkAtRules(oe=>{q.push(`@${oe.name} (${oe.params}) { & }`)}));let J=!(y in(b.values??{})),ue=b[Zr]??{},de=(()=>!(J||ue.respectPrefix===!1))();I=I.map(oe=>oe.map(he=>({format:he,respectPrefix:de}))),q=q.map(oe=>({format:oe,respectPrefix:de}));let De={candidate:w,context:e},ee=I.map(oe=>kn(`.${w}`,Vt(oe,De),De).replace(`.${w}`,"&").replace("{ & }","").trim());return q.length>0&&ee.push(Vt(q,De).toString().replace(`.${w}`,"&")),ee}});return p}}function Qd(r,e){!r.classCache.has(e)||(r.notClassCache.add(e),r.classCache.delete(e),r.applyClassCache.delete(e),r.candidateRuleMap.delete(e),r.candidateRuleCache.delete(e),r.stylesheetCache=null)}function W2(r,e){let t=e.raws.tailwind.candidate;if(!!t){for(let i of r.ruleCache)i[1].raws.tailwind.candidate===t&&r.ruleCache.delete(i);Qd(r,t)}}function bo(r,e=[],t=j.root()){let i={disposables:[],ruleCache:new Set,candidateRuleCache:new Map,classCache:new Map,applyClassCache:new Map,notClassCache:new Set(r.blocklist??[]),postCssNodeCache:new Map,candidateRuleMap:new Map,tailwindConfig:r,changedContent:e,variantMap:new Map,stylesheetCache:null,variantOptions:new Map,markInvalidUtilityCandidate:a=>Qd(i,a),markInvalidUtilityNode:a=>W2(i,a)},n=V2(i,t);return U2(n,i),i}function Jd(r,e,t,i,n,a){let s=e.opts.from,o=i!==null;Pe.DEBUG&&console.log("Source path:",s);let u;if(o&&Ut.has(s))u=Ut.get(s);else if(ii.has(n)){let p=ii.get(n);ut.get(p).add(s),Ut.set(s,p),u=p}let c=Fd(s,r);if(u){let[p,m]=Hd([...a],Dn(u));if(!p&&!c)return[u,!1,m]}if(Ut.has(s)){let p=Ut.get(s);if(ut.has(p)&&(ut.get(p).delete(s),ut.get(p).size===0)){ut.delete(p);for(let[m,b]of ii)b===p&&ii.delete(m);for(let m of p.disposables.splice(0))m(p)}}Pe.DEBUG&&console.log("Setting up new context...");let f=bo(t,[],r);Object.assign(f,{userConfigPath:i});let[,d]=Hd([...a],Dn(f));return ii.set(n,f),Ut.set(s,f),ut.has(f)||ut.set(f,new Set),ut.get(f).add(s),[f,!0,d]}var Ud,ho,Zr,mo,go,wo,Ut,ii,ut,ei=C(()=>{l();ze();Cs();st();Ud=X(Gs()),ho=X(Me());Jr();Qa();dn();At();$t();Xa();hr();Cd();lt();lt();gi();Oe();di();eo();On();Ld();Vd();je();so();Zr=Symbol(),mo={AddVariant:Symbol.for("ADD_VARIANT"),MatchVariant:Symbol.for("MATCH_VARIANT")},go={Base:1<<0,Dynamic:1<<1};wo=new WeakMap;Ut=Ad,ii=_d,ut=vn});function vo(r){return r.ignore?[]:r.glob?h.env.ROLLUP_WATCH==="true"?[{type:"dependency",file:r.base}]:[{type:"dir-dependency",dir:r.base,glob:r.glob}]:[{type:"dependency",file:r.base}]}var Xd=C(()=>{l()});function Kd(r,e){return{handler:r,config:e}}var Zd,eh=C(()=>{l();Kd.withOptions=function(r,e=()=>({})){let t=function(i){return{__options:i,handler:r(i),config:e(i)}};return t.__isOptionsFunction=!0,t.__pluginFunction=r,t.__configFunction=e,t};Zd=Kd});var In={};Ae(In,{default:()=>G2});var G2,qn=C(()=>{l();eh();G2=Zd});var rh=v((M6,th)=>{l();var H2=(qn(),In).default,Y2={overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical"},Q2=H2(function({matchUtilities:r,addUtilities:e,theme:t,variants:i}){let n=t("lineClamp");r({"line-clamp":a=>({...Y2,"-webkit-line-clamp":`${a}`})},{values:n}),e([{".line-clamp-none":{"-webkit-line-clamp":"unset"}}],i("lineClamp"))},{theme:{lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"}},variants:{lineClamp:["responsive"]}});th.exports=Q2});function xo(r){r.content.files.length===0&&F.warn("content-problems",["The `content` option in your Tailwind CSS configuration is missing or empty.","Configure your content sources or your generated CSS will be missing styles.","https://tailwindcss.com/docs/content-configuration"]);try{let e=rh();r.plugins.includes(e)&&(F.warn("line-clamp-in-core",["As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.","Remove it from the `plugins` array in your configuration to eliminate this warning."]),r.plugins=r.plugins.filter(t=>t!==e))}catch{}return r}var ih=C(()=>{l();Oe()});var nh,sh=C(()=>{l();nh=()=>!1});var Rn,ah=C(()=>{l();Rn={sync:r=>[].concat(r),generateTasks:r=>[{dynamic:!1,base:".",negative:[],positive:[].concat(r),patterns:[].concat(r)}],escapePath:r=>r}});var ko,oh=C(()=>{l();ko=r=>r});var lh,uh=C(()=>{l();lh=()=>""});function fh(r){let e=r,t=lh(r);return t!=="."&&(e=r.substr(t.length),e.charAt(0)==="/"&&(e=e.substr(1))),e.substr(0,2)==="./"&&(e=e.substr(2)),e.charAt(0)==="/"&&(e=e.substr(1)),{base:t,glob:e}}var ch=C(()=>{l();uh()});function ph(r,e){let t=e.content.files;t=t.filter(o=>typeof o=="string"),t=t.map(ko);let i=Rn.generateTasks(t),n=[],a=[];for(let o of i)n.push(...o.positive.map(u=>dh(u,!1))),a.push(...o.negative.map(u=>dh(u,!0)));let s=[...n,...a];return s=X2(r,s),s=s.flatMap(K2),s=s.map(J2),s}function dh(r,e){let t={original:r,base:r,ignore:e,pattern:r,glob:null};return nh(r)&&Object.assign(t,fh(r)),t}function J2(r){let e=ko(r.base);return e=Rn.escapePath(e),r.pattern=r.glob?`${e}/${r.glob}`:e,r.pattern=r.ignore?`!${r.pattern}`:r.pattern,r}function X2(r,e){let t=[];return r.userConfigPath&&r.tailwindConfig.content.relative&&(t=[Z.dirname(r.userConfigPath)]),e.map(i=>(i.base=Z.resolve(...t,i.base),i))}function K2(r){let e=[r];try{let t=te.realpathSync(r.base);t!==r.base&&e.push({...r,base:t})}catch{}return e}function hh(r,e,t){let i=r.tailwindConfig.content.files.filter(s=>typeof s.raw=="string").map(({raw:s,extension:o="html"})=>({content:s,extension:o})),[n,a]=Z2(e,t);for(let s of n){let o=Z.extname(s).slice(1);i.push({file:s,extension:o})}return[i,a]}function Z2(r,e){let t=r.map(s=>s.pattern),i=new Map,n=new Set;Pe.DEBUG&&console.time("Finding changed files");let a=Rn.sync(t,{absolute:!0});for(let s of a){let o=e.get(s)||-1/0,u=te.statSync(s).mtimeMs;u>o&&(n.add(s),i.set(s,u))}return Pe.DEBUG&&console.timeEnd("Finding changed files"),[n,i]}var mh=C(()=>{l();ze();bt();sh();ah();oh();ch();lt()});function gh(){}var yh=C(()=>{l()});function iC(r,e){for(let t of e){let i=`${r}${t}`;if(te.existsSync(i)&&te.statSync(i).isFile())return i}for(let t of e){let i=`${r}/index${t}`;if(te.existsSync(i))return i}return null}function*wh(r,e,t,i=Z.extname(r)){let n=iC(Z.resolve(e,r),eC.includes(i)?tC:rC);if(n===null||t.has(n))return;t.add(n),yield n,e=Z.dirname(n),i=Z.extname(n);let a=te.readFileSync(n,"utf-8");for(let s of[...a.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/require\(['"`](.+)['"`]\)/gi)])!s[1].startsWith(".")||(yield*wh(s[1],e,t,i))}function So(r){return r===null?new Set:new Set(wh(r,Z.dirname(r),new Set))}var eC,tC,rC,bh=C(()=>{l();ze();bt();eC=[".js",".cjs",".mjs"],tC=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],rC=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"]});function nC(r,e){if(Co.has(r))return Co.get(r);let t=ph(r,e);return Co.set(r,t).get(r)}function sC(r){let e=ks(r);if(e!==null){let[i,n,a,s]=xh.get(e)||[],o=So(e),u=!1,c=new Map;for(let p of o){let m=te.statSync(p).mtimeMs;c.set(p,m),(!s||!s.has(p)||m>s.get(p))&&(u=!0)}if(!u)return[i,e,n,a];for(let p of o)delete yu.cache[p];let f=xo(gr(gh(e))),d=pi(f);return xh.set(e,[f,d,o,c]),[f,e,d,o]}let t=gr(r?.config??r??{});return t=xo(t),[t,null,pi(t),[]]}function Ao(r){return({tailwindDirectives:e,registerDependency:t})=>(i,n)=>{let[a,s,o,u]=sC(r),c=new Set(u);if(e.size>0){c.add(n.opts.from);for(let b of n.messages)b.type==="dependency"&&c.add(b.file)}let[f,,d]=Jd(i,n,a,s,o,c),p=Dn(f),m=nC(f,a);if(e.size>0){for(let y of m)for(let w of vo(y))t(w);let[b,x]=hh(f,m,p);for(let y of b)f.changedContent.push(y);for(let[y,w]of x.entries())d.set(y,w)}for(let b of u)t({type:"dependency",file:b});for(let[b,x]of d.entries())p.set(b,x);return f}}var vh,xh,Co,kh=C(()=>{l();ze();vh=X(rs());ku();xs();cf();ei();Xd();ih();mh();yh();bh();xh=new vh.default({maxSize:100}),Co=new WeakMap});function _o(r){let e=new Set,t=new Set,i=new Set;if(r.walkAtRules(n=>{n.name==="apply"&&i.add(n),n.name==="import"&&(n.params==='"tailwindcss/base"'||n.params==="'tailwindcss/base'"?(n.name="tailwind",n.params="base"):n.params==='"tailwindcss/components"'||n.params==="'tailwindcss/components'"?(n.name="tailwind",n.params="components"):n.params==='"tailwindcss/utilities"'||n.params==="'tailwindcss/utilities'"?(n.name="tailwind",n.params="utilities"):(n.params==='"tailwindcss/screens"'||n.params==="'tailwindcss/screens'"||n.params==='"tailwindcss/variants"'||n.params==="'tailwindcss/variants'")&&(n.name="tailwind",n.params="variants")),n.name==="tailwind"&&(n.params==="screens"&&(n.params="variants"),e.add(n.params)),["layer","responsive","variants"].includes(n.name)&&(["responsive","variants"].includes(n.name)&&F.warn(`${n.name}-at-rule-deprecated`,[`The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`,"Use `@layer utilities` or `@layer components` instead.","https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]),t.add(n))}),!e.has("base")||!e.has("components")||!e.has("utilities")){for(let n of t)if(n.name==="layer"&&["base","components","utilities"].includes(n.params)){if(!e.has(n.params))throw n.error(`\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`)}else if(n.name==="responsive"){if(!e.has("utilities"))throw n.error("`@responsive` is used but `@tailwind utilities` is missing.")}else if(n.name==="variants"&&!e.has("utilities"))throw n.error("`@variants` is used but `@tailwind utilities` is missing.")}return{tailwindDirectives:e,applyDirectives:i}}var Sh=C(()=>{l();Oe()});function St(r,e=void 0,t=void 0){return r.map(i=>{let n=i.clone();return t!==void 0&&(n.raws.tailwind={...n.raws.tailwind,...t}),e!==void 0&&Ch(n,a=>{if(a.raws.tailwind?.preserveSource===!0&&a.source)return!1;a.source=e}),n})}function Ch(r,e){e(r)!==!1&&r.each?.(t=>Ch(t,e))}var Ah=C(()=>{l()});function Oo(r){return r=Array.isArray(r)?r:[r],r=r.map(e=>e instanceof RegExp?e.source:e),r.join("")}function ye(r){return new RegExp(Oo(r),"g")}function ft(r){return`(?:${r.map(Oo).join("|")})`}function Eo(r){return`(?:${Oo(r)})?`}function Oh(r){return r&&aC.test(r)?r.replace(_h,"\\$&"):r||""}var _h,aC,Eh=C(()=>{l();_h=/[\\^$.*+?()[\]{}|]/g,aC=RegExp(_h.source)});function Th(r){let e=Array.from(oC(r));return t=>{let i=[];for(let n of e)for(let a of t.match(n)??[])i.push(fC(a));return i}}function*oC(r){let e=r.tailwindConfig.separator,t=r.tailwindConfig.prefix!==""?Eo(ye([/-?/,Oh(r.tailwindConfig.prefix)])):"",i=ft([/\[[^\s:'"`]+:[^\s\[\]]+\]/,/\[[^\s:'"`\]]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,ye([ft([/-?(?:\w+)/,/@(?:\w+)/]),Eo(ft([ye([ft([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s:\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\><$]*)?/]),ye([ft([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\$]*)?/]),/[-\/][^\s'"`\\$={><]*/]))])]),n=[ft([ye([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]\/[\w_-]+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/,e]),ye([/[^\s"'`\[\\]+/,e])]),ft([ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]\/[\w_-]+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/,e]),ye([/[^\s`\[\\]+/,e])])];for(let a of n)yield ye(["((?=((",a,")+))\\2)?",/!?/,t,i]);yield/[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g}function fC(r){if(!r.includes("-["))return r;let e=0,t=[],i=r.matchAll(lC);i=Array.from(i).flatMap(n=>{let[,...a]=n;return a.map((s,o)=>Object.assign([],n,{index:n.index+o,0:s}))});for(let n of i){let a=n[0],s=t[t.length-1];if(a===s?t.pop():(a==="'"||a==='"'||a==="`")&&t.push(a),!s){if(a==="["){e++;continue}else if(a==="]"){e--;continue}if(e<0)return r.substring(0,n.index-1);if(e===0&&!uC.test(a))return r.substring(0,n.index)}}return r}var lC,uC,Ph=C(()=>{l();Eh();lC=/([\[\]'"`])([^\[\]'"`])?/g,uC=/[^"'`\s<>\]]+/});function cC(r,e){let t=r.tailwindConfig.content.extract;return t[e]||t.DEFAULT||Ih[e]||Ih.DEFAULT(r)}function pC(r,e){let t=r.content.transform;return t[e]||t.DEFAULT||qh[e]||qh.DEFAULT}function dC(r,e,t,i){ni.has(e)||ni.set(e,new Dh.default({maxSize:25e3}));for(let n of r.split(` +`))if(n=n.trim(),!i.has(n))if(i.add(n),ni.get(e).has(n))for(let a of ni.get(e).get(n))t.add(a);else{let a=e(n).filter(o=>o!=="!*"),s=new Set(a);for(let o of s)t.add(o);ni.get(e).set(n,s)}}function hC(r,e){let t=e.offsets.sort(r),i={base:new Set,defaults:new Set,components:new Set,utilities:new Set,variants:new Set};for(let[n,a]of t)i[n.layer].add(a);return i}function To(r){return async e=>{let t={base:null,components:null,utilities:null,variants:null};if(e.walkAtRules(y=>{y.name==="tailwind"&&Object.keys(t).includes(y.params)&&(t[y.params]=y)}),Object.values(t).every(y=>y===null))return e;let i=new Set([...r.candidates??[],He]),n=new Set;Ye.DEBUG&&console.time("Reading changed files");let a=[];for(let y of r.changedContent){let w=pC(r.tailwindConfig,y.extension),k=cC(r,y.extension);a.push([y,{transformer:w,extractor:k}])}let s=500;for(let y=0;y{S=k?await te.promises.readFile(k,"utf8"):S,dC(_(S),E,i,n)}))}Ye.DEBUG&&console.timeEnd("Reading changed files");let o=r.classCache.size;Ye.DEBUG&&console.time("Generate rules"),Ye.DEBUG&&console.time("Sorting candidates");let u=new Set([...i].sort((y,w)=>y===w?0:y{let w=y.raws.tailwind?.parentLayer;return w==="components"?t.components!==null:w==="utilities"?t.utilities!==null:!0});t.variants?(t.variants.before(St(b,t.variants.source,{layer:"variants"})),t.variants.remove()):b.length>0&&e.append(St(b,e.source,{layer:"variants"})),e.source.end=e.source.end??e.source.start;let x=b.some(y=>y.raws.tailwind?.parentLayer==="utilities");t.utilities&&p.size===0&&!x&&F.warn("content-problems",["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.","https://tailwindcss.com/docs/content-configuration"]),Ye.DEBUG&&(console.log("Potential classes: ",i.size),console.log("Active contexts: ",vn.size)),r.changedContent=[],e.walkAtRules("layer",y=>{Object.keys(t).includes(y.params)&&y.remove()})}}var Dh,Ye,Ih,qh,ni,Rh=C(()=>{l();ze();Dh=X(rs());lt();On();Oe();Ah();Ph();Ye=Pe,Ih={DEFAULT:Th},qh={DEFAULT:r=>r,svelte:r=>r.replace(/(?:^|\s)class:/g," ")};ni=new WeakMap});function Bn(r){let e=new Map;j.root({nodes:[r.clone()]}).walkRules(a=>{(0,Mn.default)(s=>{s.walkClasses(o=>{let u=o.parent.toString(),c=e.get(u);c||e.set(u,c=new Set),c.add(o.value)})}).processSync(a.selector)});let i=Array.from(e.values(),a=>Array.from(a)),n=i.flat();return Object.assign(n,{groups:i})}function Po(r){return mC.astSync(r)}function Mh(r,e){let t=new Set;for(let i of r)t.add(i.split(e).pop());return Array.from(t)}function Bh(r,e){let t=r.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function*Fh(r){for(yield r;r.parent;)yield r.parent,r=r.parent}function gC(r,e={}){let t=r.nodes;r.nodes=[];let i=r.clone(e);return r.nodes=t,i}function yC(r){for(let e of Fh(r))if(r!==e){if(e.type==="root")break;r=gC(e,{nodes:[r]})}return r}function wC(r,e){let t=new Map;return r.walkRules(i=>{for(let s of Fh(i))if(s.raws.tailwind?.layer!==void 0)return;let n=yC(i),a=e.offsets.create("user");for(let s of Bn(i)){let o=t.get(s)||[];t.set(s,o),o.push([{layer:"user",sort:a,important:!1},n])}}),t}function bC(r,e){for(let t of r){if(e.notClassCache.has(t)||e.applyClassCache.has(t))continue;if(e.classCache.has(t)){e.applyClassCache.set(t,e.classCache.get(t).map(([n,a])=>[n,a.clone()]));continue}let i=Array.from(fo(t,e));if(i.length===0){e.notClassCache.add(t);continue}e.applyClassCache.set(t,i)}return e.applyClassCache}function vC(r){let e=null;return{get:t=>(e=e||r(),e.get(t)),has:t=>(e=e||r(),e.has(t))}}function xC(r){return{get:e=>r.flatMap(t=>t.get(e)||[]),has:e=>r.some(t=>t.has(e))}}function Lh(r){let e=r.split(/[\s\t\n]+/g);return e[e.length-1]==="!important"?[e.slice(0,-1),!0]:[e,!1]}function Nh(r,e,t){let i=new Set,n=[];if(r.walkAtRules("apply",u=>{let[c]=Lh(u.params);for(let f of c)i.add(f);n.push(u)}),n.length===0)return;let a=xC([t,bC(i,e)]);function s(u,c,f){let d=Po(u),p=Po(c),b=Po(`.${ce(f)}`).nodes[0].nodes[0];return d.each(x=>{let y=new Set;p.each(w=>{let k=!1;w=w.clone(),w.walkClasses(S=>{S.value===b.value&&(k||(S.replaceWith(...x.nodes.map(_=>_.clone())),y.add(w),k=!0))})});for(let w of y){let k=[[]];for(let S of w.nodes)S.type==="combinator"?(k.push(S),k.push([])):k[k.length-1].push(S);w.nodes=[];for(let S of k)Array.isArray(S)&&S.sort((_,E)=>_.type==="tag"&&E.type==="class"?-1:_.type==="class"&&E.type==="tag"?1:_.type==="class"&&E.type==="pseudo"&&E.value.startsWith("::")?-1:_.type==="pseudo"&&_.value.startsWith("::")&&E.type==="class"?1:0),w.nodes=w.nodes.concat(S)}x.replaceWith(...y)}),d.toString()}let o=new Map;for(let u of n){let[c]=o.get(u.parent)||[[],u.source];o.set(u.parent,[c,u.source]);let[f,d]=Lh(u.params);if(u.parent.type==="atrule"){if(u.parent.name==="screen"){let p=u.parent.params;throw u.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map(m=>`${p}:${m}`).join(" ")} instead.`)}throw u.error(`@apply is not supported within nested at-rules like @${u.parent.name}. You can fix this by un-nesting @${u.parent.name}.`)}for(let p of f){if([Bh(e,"group"),Bh(e,"peer")].includes(p))throw u.error(`@apply should not be used with the '${p}' utility`);if(!a.has(p))throw u.error(`The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`);let m=a.get(p);for(let[,b]of m)b.type!=="atrule"&&b.walkRules(()=>{throw u.error([`The \`${p}\` class cannot be used with \`@apply\` because \`@apply\` does not currently support nested CSS.`,"Rewrite the selector without nesting or configure the `tailwindcss/nesting` plugin:","https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join(` +`))});c.push([p,d,m])}}for(let[u,[c,f]]of o){let d=[];for(let[m,b,x]of c){let y=[m,...Mh([m],e.tailwindConfig.separator)];for(let[w,k]of x){let S=Bn(u),_=Bn(k);if(_=_.groups.filter(R=>R.some(J=>y.includes(J))).flat(),_=_.concat(Mh(_,e.tailwindConfig.separator)),S.some(R=>_.includes(R)))throw k.error(`You cannot \`@apply\` the \`${m}\` utility here because it creates a circular dependency.`);let I=j.root({nodes:[k.clone()]});I.walk(R=>{R.source=f}),(k.type!=="atrule"||k.type==="atrule"&&k.name!=="keyframes")&&I.walkRules(R=>{if(!Bn(R).some(ee=>ee===m)){R.remove();return}let J=typeof e.tailwindConfig.important=="string"?e.tailwindConfig.important:null,de=u.raws.tailwind!==void 0&&J&&u.selector.indexOf(J)===0?u.selector.slice(J.length):u.selector;de===""&&(de=u.selector),R.selector=s(de,R.selector,m),J&&de!==u.selector&&(R.selector=Sn(R.selector,J)),R.walkDecls(ee=>{ee.important=w.important||b});let De=(0,Mn.default)().astSync(R.selector);De.each(ee=>jt(ee)),R.selector=De.toString()}),!!I.nodes[0]&&d.push([w.sort,I.nodes[0]])}}let p=e.offsets.sort(d).map(m=>m[1]);u.after(p)}for(let u of n)u.parent.nodes.length>1?u.remove():u.parent.remove();Nh(r,e,t)}function Do(r){return e=>{let t=vC(()=>wC(e,r));Nh(e,r,t)}}var Mn,mC,$h=C(()=>{l();st();Mn=X(Me());On();$t();oo();xn();mC=(0,Mn.default)()});var zh=v((I4,Fn)=>{l();(function(){"use strict";function r(i,n,a){if(!i)return null;r.caseSensitive||(i=i.toLowerCase());var s=r.threshold===null?null:r.threshold*i.length,o=r.thresholdAbsolute,u;s!==null&&o!==null?u=Math.min(s,o):s!==null?u=s:o!==null?u=o:u=null;var c,f,d,p,m,b=n.length;for(m=0;ma)return a+1;var u=[],c,f,d,p,m;for(c=0;c<=o;c++)u[c]=[c];for(f=0;f<=s;f++)u[0][f]=f;for(c=1;c<=o;c++){for(d=e,p=1,c>a&&(p=c-a),m=o+1,m>a+c&&(m=a+c),f=1;f<=s;f++)fm?u[c][f]=a+1:n.charAt(c-1)===i.charAt(f-1)?u[c][f]=u[c-1][f-1]:u[c][f]=Math.min(u[c-1][f-1]+1,Math.min(u[c][f-1]+1,u[c-1][f]+1)),u[c][f]a)return a+1}return u[o][s]}})()});var Vh=v((q4,jh)=>{l();var Io="(".charCodeAt(0),qo=")".charCodeAt(0),Ln="'".charCodeAt(0),Ro='"'.charCodeAt(0),Mo="\\".charCodeAt(0),Wt="/".charCodeAt(0),Bo=",".charCodeAt(0),Fo=":".charCodeAt(0),Nn="*".charCodeAt(0),kC="u".charCodeAt(0),SC="U".charCodeAt(0),CC="+".charCodeAt(0),AC=/^[a-f0-9?-]+$/i;jh.exports=function(r){for(var e=[],t=r,i,n,a,s,o,u,c,f,d=0,p=t.charCodeAt(d),m=t.length,b=[{nodes:e}],x=0,y,w="",k="",S="";d{l();Uh.exports=function r(e,t,i){var n,a,s,o;for(n=0,a=e.length;n{l();function Gh(r,e){var t=r.type,i=r.value,n,a;return e&&(a=e(r))!==void 0?a:t==="word"||t==="space"?i:t==="string"?(n=r.quote||"",n+i+(r.unclosed?"":n)):t==="comment"?"/*"+i+(r.unclosed?"":"*/"):t==="div"?(r.before||"")+i+(r.after||""):Array.isArray(r.nodes)?(n=Hh(r.nodes,e),t!=="function"?n:i+"("+(r.before||"")+n+(r.after||"")+(r.unclosed?"":")")):i}function Hh(r,e){var t,i;if(Array.isArray(r)){for(t="",i=r.length-1;~i;i-=1)t=Gh(r[i],e)+t;return t}return Gh(r,e)}Yh.exports=Hh});var Xh=v((B4,Jh)=>{l();var $n="-".charCodeAt(0),zn="+".charCodeAt(0),Lo=".".charCodeAt(0),_C="e".charCodeAt(0),OC="E".charCodeAt(0);function EC(r){var e=r.charCodeAt(0),t;if(e===zn||e===$n){if(t=r.charCodeAt(1),t>=48&&t<=57)return!0;var i=r.charCodeAt(2);return t===Lo&&i>=48&&i<=57}return e===Lo?(t=r.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}Jh.exports=function(r){var e=0,t=r.length,i,n,a;if(t===0||!EC(r))return!1;for(i=r.charCodeAt(e),(i===zn||i===$n)&&e++;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),i===Lo&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),a=r.charCodeAt(e+2),(i===_C||i===OC)&&(n>=48&&n<=57||(n===zn||n===$n)&&a>=48&&a<=57))for(e+=n===zn||n===$n?3:2;e57));)e+=1;return{number:r.slice(0,e),unit:r.slice(e)}}});var tm=v((F4,em)=>{l();var TC=Vh(),Kh=Wh(),Zh=Qh();function ct(r){return this instanceof ct?(this.nodes=TC(r),this):new ct(r)}ct.prototype.toString=function(){return Array.isArray(this.nodes)?Zh(this.nodes):""};ct.prototype.walk=function(r,e){return Kh(this.nodes,r,e),this};ct.unit=Xh();ct.walk=Kh;ct.stringify=Zh;em.exports=ct});function $o(r){return typeof r=="object"&&r!==null}function PC(r,e){let t=Ze(e);do if(t.pop(),(0,si.default)(r,t)!==void 0)break;while(t.length);return t.length?t:void 0}function Gt(r){return typeof r=="string"?r:r.reduce((e,t,i)=>t.includes(".")?`${e}[${t}]`:i===0?t:`${e}.${t}`,"")}function im(r){return r.map(e=>`'${e}'`).join(", ")}function nm(r){return im(Object.keys(r))}function zo(r,e,t,i={}){let n=Array.isArray(e)?Gt(e):e.replace(/^['"]+|['"]+$/g,""),a=Array.isArray(e)?e:Ze(n),s=(0,si.default)(r.theme,a,t);if(s===void 0){let u=`'${n}' does not exist in your theme config.`,c=a.slice(0,-1),f=(0,si.default)(r.theme,c);if($o(f)){let d=Object.keys(f).filter(m=>zo(r,[...c,m]).isValid),p=(0,rm.default)(a[a.length-1],d);p?u+=` Did you mean '${Gt([...c,p])}'?`:d.length>0&&(u+=` '${Gt(c)}' has the following valid keys: ${im(d)}`)}else{let d=PC(r.theme,n);if(d){let p=(0,si.default)(r.theme,d);$o(p)?u+=` '${Gt(d)}' has the following keys: ${nm(p)}`:u+=` '${Gt(d)}' is not an object.`}else u+=` Your theme has the following top-level keys: ${nm(r.theme)}`}return{isValid:!1,error:u}}if(!(typeof s=="string"||typeof s=="number"||typeof s=="function"||s instanceof String||s instanceof Number||Array.isArray(s))){let u=`'${n}' was found but does not resolve to a string.`;if($o(s)){let c=Object.keys(s).filter(f=>zo(r,[...a,f]).isValid);c.length&&(u+=` Did you mean something like '${Gt([...a,c[0]])}'?`)}return{isValid:!1,error:u}}let[o]=a;return{isValid:!0,value:Ge(o)(s,i)}}function DC(r,e,t){e=e.map(n=>sm(r,n,t));let i=[""];for(let n of e)n.type==="div"&&n.value===","?i.push(""):i[i.length-1]+=No.default.stringify(n);return i}function sm(r,e,t){if(e.type==="function"&&t[e.value]!==void 0){let i=DC(r,e.nodes,t);e.type="word",e.value=t[e.value](r,...i)}return e}function IC(r,e,t){return Object.keys(t).some(n=>e.includes(`${n}(`))?(0,No.default)(e).walk(n=>{sm(r,n,t)}).toString():e}function*RC(r){r=r.replace(/^['"]+|['"]+$/g,"");let e=r.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/),t;yield[r,void 0],e&&(r=e[1],t=e[2],yield[r,t])}function MC(r,e,t){let i=Array.from(RC(e)).map(([n,a])=>Object.assign(zo(r,n,t,{opacityValue:a}),{resolvedPath:n,alpha:a}));return i.find(n=>n.isValid)??i[0]}function am(r){let e=r.tailwindConfig,t={theme:(i,n,...a)=>{let{isValid:s,value:o,error:u,alpha:c}=MC(e,n,a.length?a:void 0);if(!s){let p=i.parent,m=p?.raws.tailwind?.candidate;if(p&&m!==void 0){r.markInvalidUtilityNode(p),p.remove(),F.warn("invalid-theme-key-in-class",[`The utility \`${m}\` contains an invalid theme value and was not generated.`]);return}throw i.error(u)}let f=Ot(o),d=f!==void 0&&typeof f=="function";return(c!==void 0||d)&&(c===void 0&&(c=1),o=Ie(f,c,f)),o},screen:(i,n)=>{n=n.replace(/^['"]+/g,"").replace(/['"]+$/g,"");let s=ot(e.theme.screens).find(({name:o})=>o===n);if(!s)throw i.error(`The '${n}' screen does not exist in your theme.`);return at(s)}};return i=>{i.walk(n=>{let a=qC[n.type];a!==void 0&&(n[a]=IC(n,n[a],t))})}}var si,rm,No,qC,om=C(()=>{l();si=X(Gs()),rm=X(zh());Jr();No=X(tm());wn();mn();gi();fr();hr();Oe();qC={atrule:"params",decl:"value"}});function lm({tailwindConfig:{theme:r}}){return function(e){e.walkAtRules("screen",t=>{let i=t.params,a=ot(r.screens).find(({name:s})=>s===i);if(!a)throw t.error(`No \`${i}\` screen found.`);t.name="media",t.params=at(a)})}}var um=C(()=>{l();wn();mn()});function BC(r){let e=r.filter(o=>o.type!=="pseudo"||o.nodes.length>0?!0:o.value.startsWith("::")||[":before",":after",":first-line",":first-letter"].includes(o.value)).reverse(),t=new Set(["tag","class","id","attribute"]),i=e.findIndex(o=>t.has(o.type));if(i===-1)return e.reverse().join("").trim();let n=e[i],a=fm[n.type]?fm[n.type](n):n;e=e.slice(0,i);let s=e.findIndex(o=>o.type==="combinator"&&o.value===">");return s!==-1&&(e.splice(0,s),e.unshift(jn.default.universal())),[a,...e.reverse()].join("").trim()}function LC(r){return jo.has(r)||jo.set(r,FC.transformSync(r)),jo.get(r)}function Vo({tailwindConfig:r}){return e=>{let t=new Map,i=new Set;if(e.walkAtRules("defaults",n=>{if(n.nodes&&n.nodes.length>0){i.add(n);return}let a=n.params;t.has(a)||t.set(a,new Set),t.get(a).add(n.parent),n.remove()}),K(r,"optimizeUniversalDefaults"))for(let n of i){let a=new Map,s=t.get(n.params)??[];for(let o of s)for(let u of LC(o.selector)){let c=u.includes(":-")||u.includes("::-")||u.includes(":has")?u:"__DEFAULT__",f=a.get(c)??new Set;a.set(c,f),f.add(u)}if(K(r,"optimizeUniversalDefaults")){if(a.size===0){n.remove();continue}for(let[,o]of a){let u=j.rule({source:n.source});u.selectors=[...o],u.append(n.nodes.map(c=>c.clone())),n.before(u)}}n.remove()}else if(i.size){let n=j.rule({selectors:["*","::before","::after"]});for(let s of i)n.append(s.nodes),n.parent||s.before(n),n.source||(n.source=s.source),s.remove();let a=n.clone({selectors:["::backdrop"]});n.after(a)}}}var jn,fm,FC,jo,cm=C(()=>{l();st();jn=X(Me());je();fm={id(r){return jn.default.attribute({attribute:"id",operator:"=",value:r.value,quoteMark:'"'})}};FC=(0,jn.default)(r=>r.map(e=>{let t=e.split(i=>i.type==="combinator"&&i.value===" ").pop();return BC(t)})),jo=new Map});function Uo(){function r(e){let t=null;e.each(i=>{if(!NC.has(i.type)){t=null;return}if(t===null){t=i;return}let n=pm[i.type];i.type==="atrule"&&i.name==="font-face"?t=i:n.every(a=>(i[a]??"").replace(/\s+/g," ")===(t[a]??"").replace(/\s+/g," "))?(i.nodes&&t.append(i.nodes),i.remove()):t=i}),e.each(i=>{i.type==="atrule"&&r(i)})}return e=>{r(e)}}var pm,NC,dm=C(()=>{l();pm={atrule:["name","params"],rule:["selector"]},NC=new Set(Object.keys(pm))});function Wo(){return r=>{r.walkRules(e=>{let t=new Map,i=new Set([]),n=new Map;e.walkDecls(a=>{if(a.parent===e){if(t.has(a.prop)){if(t.get(a.prop).value===a.value){i.add(t.get(a.prop)),t.set(a.prop,a);return}n.has(a.prop)||n.set(a.prop,new Set),n.get(a.prop).add(t.get(a.prop)),n.get(a.prop).add(a)}t.set(a.prop,a)}});for(let a of i)a.remove();for(let a of n.values()){let s=new Map;for(let o of a){let u=zC(o.value);u!==null&&(s.has(u)||s.set(u,new Set),s.get(u).add(o))}for(let o of s.values()){let u=Array.from(o).slice(0,-1);for(let c of u)c.remove()}}})}}function zC(r){let e=/^-?\d*.?\d+([\w%]+)?$/g.exec(r);return e?e[1]??$C:null}var $C,hm=C(()=>{l();$C=Symbol("unitless-number")});function jC(r){if(!r.walkAtRules)return;let e=new Set;if(r.walkAtRules("apply",t=>{e.add(t.parent)}),e.size!==0)for(let t of e){let i=[],n=[];for(let a of t.nodes)a.type==="atrule"&&a.name==="apply"?(n.length>0&&(i.push(n),n=[]),i.push([a])):n.push(a);if(n.length>0&&i.push(n),i.length!==1){for(let a of[...i].reverse()){let s=t.clone({nodes:[]});s.append(a),t.after(s)}t.remove()}}}function Vn(){return r=>{jC(r)}}var mm=C(()=>{l()});function Un(r){return async function(e,t){let{tailwindDirectives:i,applyDirectives:n}=_o(e);Vn()(e,t);let a=r({tailwindDirectives:i,applyDirectives:n,registerDependency(s){t.messages.push({plugin:"tailwindcss",parent:t.opts.from,...s})},createContext(s,o){return bo(s,o,e)}})(e,t);if(a.tailwindConfig.separator==="-")throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");Iu(a.tailwindConfig),await To(a)(e,t),Vn()(e,t),Do(a)(e,t),am(a)(e,t),lm(a)(e,t),Vo(a)(e,t),Uo(a)(e,t),Wo(a)(e,t)}}var gm=C(()=>{l();Sh();Rh();$h();om();um();cm();dm();hm();mm();ei();je()});function ym(r,e){let t=null,i=null;return r.walkAtRules("config",n=>{if(i=n.source?.input.file??e.opts.from??null,i===null)throw n.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");if(t)throw n.error("Only one `@config` directive is allowed per file.");let a=n.params.match(/(['"])(.*?)\1/);if(!a)throw n.error("A path is required when using the `@config` directive.");let s=a[2];if(Z.isAbsolute(s))throw n.error("The `@config` directive cannot be used with an absolute path.");if(t=Z.resolve(Z.dirname(i),s),!te.existsSync(t))throw n.error(`The config file at "${s}" does not exist. Make sure the path is correct and the file exists.`);n.remove()}),t||null}var wm=C(()=>{l();ze();bt()});var bm=v((vD,Go)=>{l();kh();gm();lt();wm();Go.exports=function(e){return{postcssPlugin:"tailwindcss",plugins:[Pe.DEBUG&&function(t){return console.log(` +`),console.time("JIT TOTAL"),t},async function(t,i){e=ym(t,i)??e;let n=Ao(e);if(t.type==="document"){let a=t.nodes.filter(s=>s.type==="root");for(let s of a)s.type==="root"&&await Un(n)(s,i);return}await Un(n)(t,i)},Pe.DEBUG&&function(t){return console.timeEnd("JIT TOTAL"),console.log(` +`),t}].filter(Boolean)}};Go.exports.postcss=!0});var xm=v((xD,vm)=>{l();vm.exports=bm()});var Ho=v((kD,km)=>{l();km.exports=()=>["and_chr 114","and_uc 15.5","chrome 114","chrome 113","chrome 109","edge 114","firefox 114","ios_saf 16.5","ios_saf 16.4","ios_saf 16.3","ios_saf 16.1","opera 99","safari 16.5","samsung 21"]});var Wn={};Ae(Wn,{agents:()=>VC,feature:()=>UC});function UC(){return{status:"cr",title:"CSS Feature Queries",stats:{ie:{"6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","5.5":"n"},edge:{"12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y"},firefox:{"2":"n","3":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y","3.5":"n","3.6":"n"},chrome:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y"},safari:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","17":"y","9.1":"y","10.1":"y","11.1":"y","12.1":"y","13.1":"y","14.1":"y","15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y",TP:"y","3.1":"n","3.2":"n","5.1":"n","6.1":"n","7.1":"n"},opera:{"9":"n","11":"n","12":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","60":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","12.1":"y","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11.1":"n","11.5":"n","11.6":"n"},ios_saf:{"8":"n","17":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y","10.3":"y","11.0-11.2":"y","11.3-11.4":"y","12.0-12.1":"y","12.2-12.5":"y","13.0-13.1":"y","13.2":"y","13.3":"y","13.4-13.7":"y","14.0-14.4":"y","14.5-14.8":"y","15.0-15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y","3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8.1-8.4":"n"},op_mini:{all:"y"},android:{"3":"n","4":"n","114":"y","4.4":"y","4.4.3-4.4.4":"y","2.1":"n","2.2":"n","2.3":"n","4.1":"n","4.2-4.3":"n"},bb:{"7":"n","10":"n"},op_mob:{"10":"n","11":"n","12":"n","73":"y","11.1":"n","11.5":"n","12.1":"n"},and_chr:{"114":"y"},and_ff:{"115":"y"},ie_mob:{"10":"n","11":"n"},and_uc:{"15.5":"y"},samsung:{"4":"y","20":"y","21":"y","5.0-5.4":"y","6.2-6.4":"y","7.2-7.4":"y","8.2":"y","9.2":"y","10.1":"y","11.1-11.2":"y","12.0":"y","13.0":"y","14.0":"y","15.0":"y","16.0":"y","17.0":"y","18.0":"y","19.0":"y"},and_qq:{"13.1":"y"},baidu:{"13.18":"y"},kaios:{"2.5":"y","3.0-3.1":"y"}}}}var VC,Gn=C(()=>{l();VC={ie:{prefix:"ms"},edge:{prefix:"webkit",prefix_exceptions:{"12":"ms","13":"ms","14":"ms","15":"ms","16":"ms","17":"ms","18":"ms"}},firefox:{prefix:"moz"},chrome:{prefix:"webkit"},safari:{prefix:"webkit"},opera:{prefix:"webkit",prefix_exceptions:{"9":"o","11":"o","12":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11.1":"o","11.5":"o","11.6":"o","12.1":"o"}},ios_saf:{prefix:"webkit"},op_mini:{prefix:"o"},android:{prefix:"webkit"},bb:{prefix:"webkit"},op_mob:{prefix:"o",prefix_exceptions:{"73":"webkit"}},and_chr:{prefix:"webkit"},and_ff:{prefix:"moz"},ie_mob:{prefix:"ms"},and_uc:{prefix:"webkit",prefix_exceptions:{"15.5":"webkit"}},samsung:{prefix:"webkit"},and_qq:{prefix:"webkit"},baidu:{prefix:"webkit"},kaios:{prefix:"moz"}}});var Sm=v(()=>{l()});var le=v((AD,pt)=>{l();var{list:Yo}=ge();pt.exports.error=function(r){let e=new Error(r);throw e.autoprefixer=!0,e};pt.exports.uniq=function(r){return[...new Set(r)]};pt.exports.removeNote=function(r){return r.includes(" ")?r.split(" ")[0]:r};pt.exports.escapeRegexp=function(r){return r.replace(/[$()*+-.?[\\\]^{|}]/g,"\\$&")};pt.exports.regexp=function(r,e=!0){return e&&(r=this.escapeRegexp(r)),new RegExp(`(^|[\\s,(])(${r}($|[\\s(,]))`,"gi")};pt.exports.editList=function(r,e){let t=Yo.comma(r),i=e(t,[]);if(t===i)return r;let n=r.match(/,\s*/);return n=n?n[0]:", ",i.join(n)};pt.exports.splitSelector=function(r){return Yo.comma(r).map(e=>Yo.space(e).map(t=>t.split(/(?=\.|#)/g)))}});var dt=v((_D,_m)=>{l();var WC=Ho(),Cm=(Gn(),Wn).agents,GC=le(),Am=class{static prefixes(){if(this.prefixesCache)return this.prefixesCache;this.prefixesCache=[];for(let e in Cm)this.prefixesCache.push(`-${Cm[e].prefix}-`);return this.prefixesCache=GC.uniq(this.prefixesCache).sort((e,t)=>t.length-e.length),this.prefixesCache}static withPrefix(e){return this.prefixesRegexp||(this.prefixesRegexp=new RegExp(this.prefixes().join("|"))),this.prefixesRegexp.test(e)}constructor(e,t,i,n){this.data=e,this.options=i||{},this.browserslistOpts=n||{},this.selected=this.parse(t)}parse(e){let t={};for(let i in this.browserslistOpts)t[i]=this.browserslistOpts[i];return t.path=this.options.from,WC(e,t)}prefix(e){let[t,i]=e.split(" "),n=this.data[t],a=n.prefix_exceptions&&n.prefix_exceptions[i];return a||(a=n.prefix),`-${a}-`}isSelected(e){return this.selected.includes(e)}};_m.exports=Am});var ai=v((OD,Om)=>{l();Om.exports={prefix(r){let e=r.match(/^(-\w+-)/);return e?e[0]:""},unprefixed(r){return r.replace(/^-\w+-/,"")}}});var Ht=v((ED,Tm)=>{l();var HC=dt(),Em=ai(),YC=le();function Qo(r,e){let t=new r.constructor;for(let i of Object.keys(r||{})){let n=r[i];i==="parent"&&typeof n=="object"?e&&(t[i]=e):i==="source"||i===null?t[i]=n:Array.isArray(n)?t[i]=n.map(a=>Qo(a,t)):i!=="_autoprefixerPrefix"&&i!=="_autoprefixerValues"&&i!=="proxyCache"&&(typeof n=="object"&&n!==null&&(n=Qo(n,t)),t[i]=n)}return t}var Hn=class{static hack(e){return this.hacks||(this.hacks={}),e.names.map(t=>(this.hacks[t]=e,this.hacks[t]))}static load(e,t,i){let n=this.hacks&&this.hacks[e];return n?new n(e,t,i):new this(e,t,i)}static clone(e,t){let i=Qo(e);for(let n in t)i[n]=t[n];return i}constructor(e,t,i){this.prefixes=t,this.name=e,this.all=i}parentPrefix(e){let t;return typeof e._autoprefixerPrefix!="undefined"?t=e._autoprefixerPrefix:e.type==="decl"&&e.prop[0]==="-"?t=Em.prefix(e.prop):e.type==="root"?t=!1:e.type==="rule"&&e.selector.includes(":-")&&/:(-\w+-)/.test(e.selector)?t=e.selector.match(/:(-\w+-)/)[1]:e.type==="atrule"&&e.name[0]==="-"?t=Em.prefix(e.name):t=this.parentPrefix(e.parent),HC.prefixes().includes(t)||(t=!1),e._autoprefixerPrefix=t,e._autoprefixerPrefix}process(e,t){if(!this.check(e))return;let i=this.parentPrefix(e),n=this.prefixes.filter(s=>!i||i===YC.removeNote(s)),a=[];for(let s of n)this.add(e,s,a.concat([s]),t)&&a.push(s);return a}clone(e,t){return Hn.clone(e,t)}};Tm.exports=Hn});var M=v((TD,Im)=>{l();var QC=Ht(),JC=dt(),Pm=le(),Dm=class extends QC{check(){return!0}prefixed(e,t){return t+e}normalize(e){return e}otherPrefixes(e,t){for(let i of JC.prefixes())if(i!==t&&e.includes(i))return!0;return!1}set(e,t){return e.prop=this.prefixed(e.prop,t),e}needCascade(e){return e._autoprefixerCascade||(e._autoprefixerCascade=this.all.options.cascade!==!1&&e.raw("before").includes(` +`)),e._autoprefixerCascade}maxPrefixed(e,t){if(t._autoprefixerMax)return t._autoprefixerMax;let i=0;for(let n of e)n=Pm.removeNote(n),n.length>i&&(i=n.length);return t._autoprefixerMax=i,t._autoprefixerMax}calcBefore(e,t,i=""){let a=this.maxPrefixed(e,t)-Pm.removeNote(i).length,s=t.raw("before");return a>0&&(s+=Array(a).fill(" ").join("")),s}restoreBefore(e){let t=e.raw("before").split(` +`),i=t[t.length-1];this.all.group(e).up(n=>{let a=n.raw("before").split(` +`),s=a[a.length-1];s.lengths.prop===n.prop&&s.value===n.value)))return this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,n)}isAlready(e,t){let i=this.all.group(e).up(n=>n.prop===t);return i||(i=this.all.group(e).down(n=>n.prop===t)),i}add(e,t,i,n){let a=this.prefixed(e.prop,t);if(!(this.isAlready(e,a)||this.otherPrefixes(e.value,t)))return this.insert(e,t,i,n)}process(e,t){if(!this.needCascade(e)){super.process(e,t);return}let i=super.process(e,t);!i||!i.length||(this.restoreBefore(e),e.raws.before=this.calcBefore(i,e))}old(e,t){return[this.prefixed(e,t)]}};Im.exports=Dm});var Rm=v((PD,qm)=>{l();qm.exports=function r(e){return{mul:t=>new r(e*t),div:t=>new r(e/t),simplify:()=>new r(e),toString:()=>e.toString()}}});var Fm=v((DD,Bm)=>{l();var XC=Rm(),KC=Ht(),Jo=le(),ZC=/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi,eA=/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i,Mm=class extends KC{prefixName(e,t){return e==="-moz-"?t+"--moz-device-pixel-ratio":e+t+"-device-pixel-ratio"}prefixQuery(e,t,i,n,a){return n=new XC(n),a==="dpi"?n=n.div(96):a==="dpcm"&&(n=n.mul(2.54).div(96)),n=n.simplify(),e==="-o-"&&(n=n.n+"/"+n.d),this.prefixName(e,t)+i+n}clean(e){if(!this.bad){this.bad=[];for(let t of this.prefixes)this.bad.push(this.prefixName(t,"min")),this.bad.push(this.prefixName(t,"max"))}e.params=Jo.editList(e.params,t=>t.filter(i=>this.bad.every(n=>!i.includes(n))))}process(e){let t=this.parentPrefix(e),i=t?[t]:this.prefixes;e.params=Jo.editList(e.params,(n,a)=>{for(let s of n){if(!s.includes("min-resolution")&&!s.includes("max-resolution")){a.push(s);continue}for(let o of i){let u=s.replace(ZC,c=>{let f=c.match(eA);return this.prefixQuery(o,f[1],f[2],f[3],f[4])});a.push(u)}a.push(s)}return Jo.uniq(a)})}};Bm.exports=Mm});var Nm=v((ID,Lm)=>{l();var Xo="(".charCodeAt(0),Ko=")".charCodeAt(0),Yn="'".charCodeAt(0),Zo='"'.charCodeAt(0),el="\\".charCodeAt(0),Yt="/".charCodeAt(0),tl=",".charCodeAt(0),rl=":".charCodeAt(0),Qn="*".charCodeAt(0),tA="u".charCodeAt(0),rA="U".charCodeAt(0),iA="+".charCodeAt(0),nA=/^[a-f0-9?-]+$/i;Lm.exports=function(r){for(var e=[],t=r,i,n,a,s,o,u,c,f,d=0,p=t.charCodeAt(d),m=t.length,b=[{nodes:e}],x=0,y,w="",k="",S="";d{l();$m.exports=function r(e,t,i){var n,a,s,o;for(n=0,a=e.length;n{l();function jm(r,e){var t=r.type,i=r.value,n,a;return e&&(a=e(r))!==void 0?a:t==="word"||t==="space"?i:t==="string"?(n=r.quote||"",n+i+(r.unclosed?"":n)):t==="comment"?"/*"+i+(r.unclosed?"":"*/"):t==="div"?(r.before||"")+i+(r.after||""):Array.isArray(r.nodes)?(n=Vm(r.nodes,e),t!=="function"?n:i+"("+(r.before||"")+n+(r.after||"")+(r.unclosed?"":")")):i}function Vm(r,e){var t,i;if(Array.isArray(r)){for(t="",i=r.length-1;~i;i-=1)t=jm(r[i],e)+t;return t}return jm(r,e)}Um.exports=Vm});var Hm=v((MD,Gm)=>{l();var Jn="-".charCodeAt(0),Xn="+".charCodeAt(0),il=".".charCodeAt(0),sA="e".charCodeAt(0),aA="E".charCodeAt(0);function oA(r){var e=r.charCodeAt(0),t;if(e===Xn||e===Jn){if(t=r.charCodeAt(1),t>=48&&t<=57)return!0;var i=r.charCodeAt(2);return t===il&&i>=48&&i<=57}return e===il?(t=r.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}Gm.exports=function(r){var e=0,t=r.length,i,n,a;if(t===0||!oA(r))return!1;for(i=r.charCodeAt(e),(i===Xn||i===Jn)&&e++;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),i===il&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),a=r.charCodeAt(e+2),(i===sA||i===aA)&&(n>=48&&n<=57||(n===Xn||n===Jn)&&a>=48&&a<=57))for(e+=n===Xn||n===Jn?3:2;e57));)e+=1;return{number:r.slice(0,e),unit:r.slice(e)}}});var Kn=v((BD,Jm)=>{l();var lA=Nm(),Ym=zm(),Qm=Wm();function ht(r){return this instanceof ht?(this.nodes=lA(r),this):new ht(r)}ht.prototype.toString=function(){return Array.isArray(this.nodes)?Qm(this.nodes):""};ht.prototype.walk=function(r,e){return Ym(this.nodes,r,e),this};ht.unit=Hm();ht.walk=Ym;ht.stringify=Qm;Jm.exports=ht});var tg=v((FD,eg)=>{l();var{list:uA}=ge(),Xm=Kn(),fA=dt(),Km=ai(),Zm=class{constructor(e){this.props=["transition","transition-property"],this.prefixes=e}add(e,t){let i,n,a=this.prefixes.add[e.prop],s=this.ruleVendorPrefixes(e),o=s||a&&a.prefixes||[],u=this.parse(e.value),c=u.map(m=>this.findProp(m)),f=[];if(c.some(m=>m[0]==="-"))return;for(let m of u){if(n=this.findProp(m),n[0]==="-")continue;let b=this.prefixes.add[n];if(!(!b||!b.prefixes))for(i of b.prefixes){if(s&&!s.some(y=>i.includes(y)))continue;let x=this.prefixes.prefixed(n,i);x!=="-ms-transform"&&!c.includes(x)&&(this.disabled(n,i)||f.push(this.clone(n,x,m)))}}u=u.concat(f);let d=this.stringify(u),p=this.stringify(this.cleanFromUnprefixed(u,"-webkit-"));if(o.includes("-webkit-")&&this.cloneBefore(e,`-webkit-${e.prop}`,p),this.cloneBefore(e,e.prop,p),o.includes("-o-")){let m=this.stringify(this.cleanFromUnprefixed(u,"-o-"));this.cloneBefore(e,`-o-${e.prop}`,m)}for(i of o)if(i!=="-webkit-"&&i!=="-o-"){let m=this.stringify(this.cleanOtherPrefixes(u,i));this.cloneBefore(e,i+e.prop,m)}d!==e.value&&!this.already(e,e.prop,d)&&(this.checkForWarning(t,e),e.cloneBefore(),e.value=d)}findProp(e){let t=e[0].value;if(/^\d/.test(t)){for(let[i,n]of e.entries())if(i!==0&&n.type==="word")return n.value}return t}already(e,t,i){return e.parent.some(n=>n.prop===t&&n.value===i)}cloneBefore(e,t,i){this.already(e,t,i)||e.cloneBefore({prop:t,value:i})}checkForWarning(e,t){if(t.prop!=="transition-property")return;let i=!1,n=!1;t.parent.each(a=>{if(a.type!=="decl"||a.prop.indexOf("transition-")!==0)return;let s=uA.comma(a.value);if(a.prop==="transition-property"){s.forEach(o=>{let u=this.prefixes.add[o];u&&u.prefixes&&u.prefixes.length>0&&(i=!0)});return}return n=n||s.length>1,!1}),i&&n&&t.warn(e,"Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*")}remove(e){let t=this.parse(e.value);t=t.filter(s=>{let o=this.prefixes.remove[this.findProp(s)];return!o||!o.remove});let i=this.stringify(t);if(e.value===i)return;if(t.length===0){e.remove();return}let n=e.parent.some(s=>s.prop===e.prop&&s.value===i),a=e.parent.some(s=>s!==e&&s.prop===e.prop&&s.value.length>i.length);if(n||a){e.remove();return}e.value=i}parse(e){let t=Xm(e),i=[],n=[];for(let a of t.nodes)n.push(a),a.type==="div"&&a.value===","&&(i.push(n),n=[]);return i.push(n),i.filter(a=>a.length>0)}stringify(e){if(e.length===0)return"";let t=[];for(let i of e)i[i.length-1].type!=="div"&&i.push(this.div(e)),t=t.concat(i);return t[0].type==="div"&&(t=t.slice(1)),t[t.length-1].type==="div"&&(t=t.slice(0,-2+1||void 0)),Xm.stringify({nodes:t})}clone(e,t,i){let n=[],a=!1;for(let s of i)!a&&s.type==="word"&&s.value===e?(n.push({type:"word",value:t}),a=!0):n.push(s);return n}div(e){for(let t of e)for(let i of t)if(i.type==="div"&&i.value===",")return i;return{type:"div",value:",",after:" "}}cleanOtherPrefixes(e,t){return e.filter(i=>{let n=Km.prefix(this.findProp(i));return n===""||n===t})}cleanFromUnprefixed(e,t){let i=e.map(a=>this.findProp(a)).filter(a=>a.slice(0,t.length)===t).map(a=>this.prefixes.unprefixed(a)),n=[];for(let a of e){let s=this.findProp(a),o=Km.prefix(s);!i.includes(s)&&(o===t||o==="")&&n.push(a)}return n}disabled(e,t){let i=["order","justify-content","align-self","align-content"];if(e.includes("flex")||i.includes(e)){if(this.prefixes.options.flexbox===!1)return!0;if(this.prefixes.options.flexbox==="no-2009")return t.includes("2009")}}ruleVendorPrefixes(e){let{parent:t}=e;if(t.type!=="rule")return!1;if(!t.selector.includes(":-"))return!1;let i=fA.prefixes().filter(n=>t.selector.includes(":"+n));return i.length>0?i:!1}};eg.exports=Zm});var Qt=v((LD,ig)=>{l();var cA=le(),rg=class{constructor(e,t,i,n){this.unprefixed=e,this.prefixed=t,this.string=i||t,this.regexp=n||cA.regexp(t)}check(e){return e.includes(this.string)?!!e.match(this.regexp):!1}};ig.exports=rg});var ke=v((ND,sg)=>{l();var pA=Ht(),dA=Qt(),hA=ai(),mA=le(),ng=class extends pA{static save(e,t){let i=t.prop,n=[];for(let a in t._autoprefixerValues){let s=t._autoprefixerValues[a];if(s===t.value)continue;let o,u=hA.prefix(i);if(u==="-pie-")continue;if(u===a){o=t.value=s,n.push(o);continue}let c=e.prefixed(i,a),f=t.parent;if(!f.every(b=>b.prop!==c)){n.push(o);continue}let d=s.replace(/\s+/," ");if(f.some(b=>b.prop===t.prop&&b.value.replace(/\s+/," ")===d)){n.push(o);continue}let m=this.clone(t,{value:s});o=t.parent.insertBefore(t,m),n.push(o)}return n}check(e){let t=e.value;return t.includes(this.name)?!!t.match(this.regexp()):!1}regexp(){return this.regexpCache||(this.regexpCache=mA.regexp(this.name))}replace(e,t){return e.replace(this.regexp(),`$1${t}$2`)}value(e){return e.raws.value&&e.raws.value.value===e.value?e.raws.value.raw:e.value}add(e,t){e._autoprefixerValues||(e._autoprefixerValues={});let i=e._autoprefixerValues[t]||this.value(e),n;do if(n=i,i=this.replace(i,t),i===!1)return;while(i!==n);e._autoprefixerValues[t]=i}old(e){return new dA(this.name,e+this.name)}};sg.exports=ng});var mt=v(($D,ag)=>{l();ag.exports={}});var sl=v((zD,ug)=>{l();var og=Kn(),gA=ke(),yA=mt().insertAreas,wA=/(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i,bA=/(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i,vA=/(!\s*)?autoprefixer:\s*ignore\s+next/i,xA=/(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i,kA=["width","height","min-width","max-width","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size"];function nl(r){return r.parent.some(e=>e.prop==="grid-template"||e.prop==="grid-template-areas")}function SA(r){let e=r.parent.some(i=>i.prop==="grid-template-rows"),t=r.parent.some(i=>i.prop==="grid-template-columns");return e&&t}var lg=class{constructor(e){this.prefixes=e}add(e,t){let i=this.prefixes.add["@resolution"],n=this.prefixes.add["@keyframes"],a=this.prefixes.add["@viewport"],s=this.prefixes.add["@supports"];e.walkAtRules(f=>{if(f.name==="keyframes"){if(!this.disabled(f,t))return n&&n.process(f)}else if(f.name==="viewport"){if(!this.disabled(f,t))return a&&a.process(f)}else if(f.name==="supports"){if(this.prefixes.options.supports!==!1&&!this.disabled(f,t))return s.process(f)}else if(f.name==="media"&&f.params.includes("-resolution")&&!this.disabled(f,t))return i&&i.process(f)}),e.walkRules(f=>{if(!this.disabled(f,t))return this.prefixes.add.selectors.map(d=>d.process(f,t))});function o(f){return f.parent.nodes.some(d=>{if(d.type!=="decl")return!1;let p=d.prop==="display"&&/(inline-)?grid/.test(d.value),m=d.prop.startsWith("grid-template"),b=/^grid-([A-z]+-)?gap/.test(d.prop);return p||m||b})}function u(f){return f.parent.some(d=>d.prop==="display"&&/(inline-)?flex/.test(d.value))}let c=this.gridStatus(e,t)&&this.prefixes.add["grid-area"]&&this.prefixes.add["grid-area"].prefixes;return e.walkDecls(f=>{if(this.disabledDecl(f,t))return;let d=f.parent,p=f.prop,m=f.value;if(p==="grid-row-span"){t.warn("grid-row-span is not part of final Grid Layout. Use grid-row.",{node:f});return}else if(p==="grid-column-span"){t.warn("grid-column-span is not part of final Grid Layout. Use grid-column.",{node:f});return}else if(p==="display"&&m==="box"){t.warn("You should write display: flex by final spec instead of display: box",{node:f});return}else if(p==="text-emphasis-position")(m==="under"||m==="over")&&t.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.",{node:f});else if(/^(align|justify|place)-(items|content)$/.test(p)&&u(f))(m==="start"||m==="end")&&t.warn(`${m} value has mixed support, consider using flex-${m} instead`,{node:f});else if(p==="text-decoration-skip"&&m==="ink")t.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed",{node:f});else{if(c&&this.gridStatus(f,t))if(f.value==="subgrid"&&t.warn("IE does not support subgrid",{node:f}),/^(align|justify|place)-items$/.test(p)&&o(f)){let x=p.replace("-items","-self");t.warn(`IE does not support ${p} on grid containers. Try using ${x} on child elements instead: ${f.parent.selector} > * { ${x}: ${f.value} }`,{node:f})}else if(/^(align|justify|place)-content$/.test(p)&&o(f))t.warn(`IE does not support ${f.prop} on grid containers`,{node:f});else if(p==="display"&&f.value==="contents"){t.warn("Please do not use display: contents; if you have grid setting enabled",{node:f});return}else if(f.prop==="grid-gap"){let x=this.gridStatus(f,t);x==="autoplace"&&!SA(f)&&!nl(f)?t.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid",{node:f}):(x===!0||x==="no-autoplace")&&!nl(f)&&t.warn("grid-gap only works if grid-template(-areas) is being used",{node:f})}else if(p==="grid-auto-columns"){t.warn("grid-auto-columns is not supported by IE",{node:f});return}else if(p==="grid-auto-rows"){t.warn("grid-auto-rows is not supported by IE",{node:f});return}else if(p==="grid-auto-flow"){let x=d.some(w=>w.prop==="grid-template-rows"),y=d.some(w=>w.prop==="grid-template-columns");nl(f)?t.warn("grid-auto-flow is not supported by IE",{node:f}):m.includes("dense")?t.warn("grid-auto-flow: dense is not supported by IE",{node:f}):!x&&!y&&t.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule",{node:f});return}else if(m.includes("auto-fit")){t.warn("auto-fit value is not supported by IE",{node:f,word:"auto-fit"});return}else if(m.includes("auto-fill")){t.warn("auto-fill value is not supported by IE",{node:f,word:"auto-fill"});return}else p.startsWith("grid-template")&&m.includes("[")&&t.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.",{node:f,word:"["});if(m.includes("radial-gradient"))if(bA.test(f.value))t.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.",{node:f});else{let x=og(m);for(let y of x.nodes)if(y.type==="function"&&y.value==="radial-gradient")for(let w of y.nodes)w.type==="word"&&(w.value==="cover"?t.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.",{node:f}):w.value==="contain"&&t.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.",{node:f}))}m.includes("linear-gradient")&&wA.test(m)&&t.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.",{node:f})}kA.includes(f.prop)&&(f.value.includes("-fill-available")||(f.value.includes("fill-available")?t.warn("Replace fill-available to stretch, because spec had been changed",{node:f}):f.value.includes("fill")&&og(m).nodes.some(y=>y.type==="word"&&y.value==="fill")&&t.warn("Replace fill to stretch, because spec had been changed",{node:f})));let b;if(f.prop==="transition"||f.prop==="transition-property")return this.prefixes.transition.add(f,t);if(f.prop==="align-self"){if(this.displayType(f)!=="grid"&&this.prefixes.options.flexbox!==!1&&(b=this.prefixes.add["align-self"],b&&b.prefixes&&b.process(f)),this.gridStatus(f,t)!==!1&&(b=this.prefixes.add["grid-row-align"],b&&b.prefixes))return b.process(f,t)}else if(f.prop==="justify-self"){if(this.gridStatus(f,t)!==!1&&(b=this.prefixes.add["grid-column-align"],b&&b.prefixes))return b.process(f,t)}else if(f.prop==="place-self"){if(b=this.prefixes.add["place-self"],b&&b.prefixes&&this.gridStatus(f,t)!==!1)return b.process(f,t)}else if(b=this.prefixes.add[f.prop],b&&b.prefixes)return b.process(f,t)}),this.gridStatus(e,t)&&yA(e,this.disabled),e.walkDecls(f=>{if(this.disabledValue(f,t))return;let d=this.prefixes.unprefixed(f.prop),p=this.prefixes.values("add",d);if(Array.isArray(p))for(let m of p)m.process&&m.process(f,t);gA.save(this.prefixes,f)})}remove(e,t){let i=this.prefixes.remove["@resolution"];e.walkAtRules((n,a)=>{this.prefixes.remove[`@${n.name}`]?this.disabled(n,t)||n.parent.removeChild(a):n.name==="media"&&n.params.includes("-resolution")&&i&&i.clean(n)});for(let n of this.prefixes.remove.selectors)e.walkRules((a,s)=>{n.check(a)&&(this.disabled(a,t)||a.parent.removeChild(s))});return e.walkDecls((n,a)=>{if(this.disabled(n,t))return;let s=n.parent,o=this.prefixes.unprefixed(n.prop);if((n.prop==="transition"||n.prop==="transition-property")&&this.prefixes.transition.remove(n),this.prefixes.remove[n.prop]&&this.prefixes.remove[n.prop].remove){let u=this.prefixes.group(n).down(c=>this.prefixes.normalize(c.prop)===o);if(o==="flex-flow"&&(u=!0),n.prop==="-webkit-box-orient"){let c={"flex-direction":!0,"flex-flow":!0};if(!n.parent.some(f=>c[f.prop]))return}if(u&&!this.withHackValue(n)){n.raw("before").includes(` +`)&&this.reduceSpaces(n),s.removeChild(a);return}}for(let u of this.prefixes.values("remove",o)){if(!u.check||!u.check(n.value))continue;if(o=u.unprefixed,this.prefixes.group(n).down(f=>f.value.includes(o))){s.removeChild(a);return}}})}withHackValue(e){return e.prop==="-webkit-background-clip"&&e.value==="text"}disabledValue(e,t){return this.gridStatus(e,t)===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("grid")||this.prefixes.options.flexbox===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("flex")||e.type==="decl"&&e.prop==="content"?!0:this.disabled(e,t)}disabledDecl(e,t){if(this.gridStatus(e,t)===!1&&e.type==="decl"&&(e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.prefixes.options.flexbox===!1&&e.type==="decl"){let i=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||i.includes(e.prop))return!0}return this.disabled(e,t)}disabled(e,t){if(!e)return!1;if(e._autoprefixerDisabled!==void 0)return e._autoprefixerDisabled;if(e.parent){let n=e.prev();if(n&&n.type==="comment"&&vA.test(n.text))return e._autoprefixerDisabled=!0,e._autoprefixerSelfDisabled=!0,!0}let i=null;if(e.nodes){let n;e.each(a=>{a.type==="comment"&&/(!\s*)?autoprefixer:\s*(off|on)/i.test(a.text)&&(typeof n!="undefined"?t.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.",{node:a}):n=/on/i.test(a.text))}),n!==void 0&&(i=!n)}if(!e.nodes||i===null)if(e.parent){let n=this.disabled(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else i=!1;return e._autoprefixerDisabled=i,i}reduceSpaces(e){let t=!1;if(this.prefixes.group(e).up(()=>(t=!0,!0)),t)return;let i=e.raw("before").split(` +`),n=i[i.length-1].length,a=!1;this.prefixes.group(e).down(s=>{i=s.raw("before").split(` +`);let o=i.length-1;i[o].length>n&&(a===!1&&(a=i[o].length-n),i[o]=i[o].slice(0,-a),s.raws.before=i.join(` +`))})}displayType(e){for(let t of e.parent.nodes)if(t.prop==="display"){if(t.value.includes("flex"))return"flex";if(t.value.includes("grid"))return"grid"}return!1}gridStatus(e,t){if(!e)return!1;if(e._autoprefixerGridStatus!==void 0)return e._autoprefixerGridStatus;let i=null;if(e.nodes){let n;e.each(a=>{if(a.type==="comment"&&xA.test(a.text)){let s=/:\s*autoplace/i.test(a.text),o=/no-autoplace/i.test(a.text);typeof n!="undefined"?t.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.",{node:a}):s?n="autoplace":o?n=!0:n=/on/i.test(a.text)}}),n!==void 0&&(i=n)}if(e.type==="atrule"&&e.name==="supports"){let n=e.params;n.includes("grid")&&n.includes("auto")&&(i=!1)}if(!e.nodes||i===null)if(e.parent){let n=this.gridStatus(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else typeof this.prefixes.options.grid!="undefined"?i=this.prefixes.options.grid:typeof h.env.AUTOPREFIXER_GRID!="undefined"?h.env.AUTOPREFIXER_GRID==="autoplace"?i="autoplace":i=!0:i=!1;return e._autoprefixerGridStatus=i,i}};ug.exports=lg});var cg=v((jD,fg)=>{l();fg.exports={A:{A:{"2":"K E F G A B JC"},B:{"1":"C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 KC zB J K E F G A B C L M H N D O k l LC MC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l"},E:{"1":"G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC","2":"0 J K E F NC 5B OC PC QC"},F:{"1":"1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB","2":"G B C VC WC XC YC vB HC ZC"},G:{"1":"D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC","2":"F 5B aC IC bC cC dC eC"},H:{"1":"uC"},I:{"1":"I zC 0C","2":"zB J vC wC xC yC IC"},J:{"2":"E A"},K:{"1":"m","2":"A B C vB HC wB"},L:{"1":"I"},M:{"1":"uB"},N:{"2":"A B"},O:{"1":"xB"},P:{"1":"J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD"},Q:{"1":"7B"},R:{"1":"ED"},S:{"1":"FD GD"}},B:4,C:"CSS Feature Queries"}});var mg=v((VD,hg)=>{l();function pg(r){return r[r.length-1]}var dg={parse(r){let e=[""],t=[e];for(let i of r){if(i==="("){e=[""],pg(t).push(e),t.push(e);continue}if(i===")"){t.pop(),e=pg(t),e.push("");continue}e[e.length-1]+=i}return t[0]},stringify(r){let e="";for(let t of r){if(typeof t=="object"){e+=`(${dg.stringify(t)})`;continue}e+=t}return e}};hg.exports=dg});var vg=v((UD,bg)=>{l();var CA=cg(),{feature:AA}=(Gn(),Wn),{parse:_A}=ge(),OA=dt(),al=mg(),EA=ke(),TA=le(),gg=AA(CA),yg=[];for(let r in gg.stats){let e=gg.stats[r];for(let t in e){let i=e[t];/y/.test(i)&&yg.push(r+" "+t)}}var wg=class{constructor(e,t){this.Prefixes=e,this.all=t}prefixer(){if(this.prefixerCache)return this.prefixerCache;let e=this.all.browsers.selected.filter(i=>yg.includes(i)),t=new OA(this.all.browsers.data,e,this.all.options);return this.prefixerCache=new this.Prefixes(this.all.data,t,this.all.options),this.prefixerCache}parse(e){let t=e.split(":"),i=t[0],n=t[1];return n||(n=""),[i.trim(),n.trim()]}virtual(e){let[t,i]=this.parse(e),n=_A("a{}").first;return n.append({prop:t,value:i,raws:{before:""}}),n}prefixed(e){let t=this.virtual(e);if(this.disabled(t.first))return t.nodes;let i={warn:()=>null},n=this.prefixer().add[t.first.prop];n&&n.process&&n.process(t.first,i);for(let a of t.nodes){for(let s of this.prefixer().values("add",t.first.prop))s.process(a);EA.save(this.all,a)}return t.nodes}isNot(e){return typeof e=="string"&&/not\s*/i.test(e)}isOr(e){return typeof e=="string"&&/\s*or\s*/i.test(e)}isProp(e){return typeof e=="object"&&e.length===1&&typeof e[0]=="string"}isHack(e,t){return!new RegExp(`(\\(|\\s)${TA.escapeRegexp(t)}:`).test(e)}toRemove(e,t){let[i,n]=this.parse(e),a=this.all.unprefixed(i),s=this.all.cleaner();if(s.remove[i]&&s.remove[i].remove&&!this.isHack(t,a))return!0;for(let o of s.values("remove",a))if(o.check(n))return!0;return!1}remove(e,t){let i=0;for(;itypeof t!="object"?t:t.length===1&&typeof t[0]=="object"?this.cleanBrackets(t[0]):this.cleanBrackets(t))}convert(e){let t=[""];for(let i of e)t.push([`${i.prop}: ${i.value}`]),t.push(" or ");return t[t.length-1]="",t}normalize(e){if(typeof e!="object")return e;if(e=e.filter(t=>t!==""),typeof e[0]=="string"){let t=e[0].trim();if(t.includes(":")||t==="selector"||t==="not selector")return[al.stringify(e)]}return e.map(t=>this.normalize(t))}add(e,t){return e.map(i=>{if(this.isProp(i)){let n=this.prefixed(i[0]);return n.length>1?this.convert(n):i}return typeof i=="object"?this.add(i,t):i})}process(e){let t=al.parse(e.params);t=this.normalize(t),t=this.remove(t,e.params),t=this.add(t,e.params),t=this.cleanBrackets(t),e.params=al.stringify(t)}disabled(e){if(!this.all.options.grid&&(e.prop==="display"&&e.value.includes("grid")||e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.all.options.flexbox===!1){if(e.prop==="display"&&e.value.includes("flex"))return!0;let t=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||t.includes(e.prop))return!0}return!1}};bg.exports=wg});var Sg=v((WD,kg)=>{l();var xg=class{constructor(e,t){this.prefix=t,this.prefixed=e.prefixed(this.prefix),this.regexp=e.regexp(this.prefix),this.prefixeds=e.possible().map(i=>[e.prefixed(i),e.regexp(i)]),this.unprefixed=e.name,this.nameRegexp=e.regexp()}isHack(e){let t=e.parent.index(e)+1,i=e.parent.nodes;for(;t{l();var{list:PA}=ge(),DA=Sg(),IA=Ht(),qA=dt(),RA=le(),Cg=class extends IA{constructor(e,t,i){super(e,t,i);this.regexpCache=new Map}check(e){return e.selector.includes(this.name)?!!e.selector.match(this.regexp()):!1}prefixed(e){return this.name.replace(/^(\W*)/,`$1${e}`)}regexp(e){if(!this.regexpCache.has(e)){let t=e?this.prefixed(e):this.name;this.regexpCache.set(e,new RegExp(`(^|[^:"'=])${RA.escapeRegexp(t)}`,"gi"))}return this.regexpCache.get(e)}possible(){return qA.prefixes()}prefixeds(e){if(e._autoprefixerPrefixeds){if(e._autoprefixerPrefixeds[this.name])return e._autoprefixerPrefixeds}else e._autoprefixerPrefixeds={};let t={};if(e.selector.includes(",")){let n=PA.comma(e.selector).filter(a=>a.includes(this.name));for(let a of this.possible())t[a]=n.map(s=>this.replace(s,a)).join(", ")}else for(let i of this.possible())t[i]=this.replace(e.selector,i);return e._autoprefixerPrefixeds[this.name]=t,e._autoprefixerPrefixeds}already(e,t,i){let n=e.parent.index(e)-1;for(;n>=0;){let a=e.parent.nodes[n];if(a.type!=="rule")return!1;let s=!1;for(let o in t[this.name]){let u=t[this.name][o];if(a.selector===u){if(i===o)return!0;s=!0;break}}if(!s)return!1;n-=1}return!1}replace(e,t){return e.replace(this.regexp(),`$1${this.prefixed(t)}`)}add(e,t){let i=this.prefixeds(e);if(this.already(e,i,t))return;let n=this.clone(e,{selector:i[this.name][t]});e.parent.insertBefore(e,n)}old(e){return new DA(this,e)}};Ag.exports=Cg});var Eg=v((HD,Og)=>{l();var MA=Ht(),_g=class extends MA{add(e,t){let i=t+e.name;if(e.parent.some(s=>s.name===i&&s.params===e.params))return;let a=this.clone(e,{name:i});return e.parent.insertBefore(e,a)}process(e){let t=this.parentPrefix(e);for(let i of this.prefixes)(!t||t===i)&&this.add(e,i)}};Og.exports=_g});var Pg=v((YD,Tg)=>{l();var BA=Jt(),ol=class extends BA{prefixed(e){return e==="-webkit-"?":-webkit-full-screen":e==="-moz-"?":-moz-full-screen":`:${e}fullscreen`}};ol.names=[":fullscreen"];Tg.exports=ol});var Ig=v((QD,Dg)=>{l();var FA=Jt(),ll=class extends FA{possible(){return super.possible().concat(["-moz- old","-ms- old"])}prefixed(e){return e==="-webkit-"?"::-webkit-input-placeholder":e==="-ms-"?"::-ms-input-placeholder":e==="-ms- old"?":-ms-input-placeholder":e==="-moz- old"?":-moz-placeholder":`::${e}placeholder`}};ll.names=["::placeholder"];Dg.exports=ll});var Rg=v((JD,qg)=>{l();var LA=Jt(),ul=class extends LA{prefixed(e){return e==="-ms-"?":-ms-input-placeholder":`:${e}placeholder-shown`}};ul.names=[":placeholder-shown"];qg.exports=ul});var Bg=v((XD,Mg)=>{l();var NA=Jt(),$A=le(),fl=class extends NA{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=$A.uniq(this.prefixes.map(n=>"-webkit-")))}prefixed(e){return e==="-webkit-"?"::-webkit-file-upload-button":`::${e}file-selector-button`}};fl.names=["::file-selector-button"];Mg.exports=fl});var pe=v((KD,Fg)=>{l();Fg.exports=function(r){let e;return r==="-webkit- 2009"||r==="-moz-"?e=2009:r==="-ms-"?e=2012:r==="-webkit-"&&(e="final"),r==="-webkit- 2009"&&(r="-webkit-"),[e,r]}});var zg=v((ZD,$g)=>{l();var Lg=ge().list,Ng=pe(),zA=M(),Xt=class extends zA{prefixed(e,t){let i;return[i,t]=Ng(t),i===2009?t+"box-flex":super.prefixed(e,t)}normalize(){return"flex"}set(e,t){let i=Ng(t)[0];if(i===2009)return e.value=Lg.space(e.value)[0],e.value=Xt.oldValues[e.value]||e.value,super.set(e,t);if(i===2012){let n=Lg.space(e.value);n.length===3&&n[2]==="0"&&(e.value=n.slice(0,2).concat("0px").join(" "))}return super.set(e,t)}};Xt.names=["flex","box-flex"];Xt.oldValues={auto:"1",none:"0"};$g.exports=Xt});var Ug=v((eI,Vg)=>{l();var jg=pe(),jA=M(),cl=class extends jA{prefixed(e,t){let i;return[i,t]=jg(t),i===2009?t+"box-ordinal-group":i===2012?t+"flex-order":super.prefixed(e,t)}normalize(){return"order"}set(e,t){return jg(t)[0]===2009&&/\d/.test(e.value)?(e.value=(parseInt(e.value)+1).toString(),super.set(e,t)):super.set(e,t)}};cl.names=["order","flex-order","box-ordinal-group"];Vg.exports=cl});var Gg=v((tI,Wg)=>{l();var VA=M(),pl=class extends VA{check(e){let t=e.value;return!t.toLowerCase().includes("alpha(")&&!t.includes("DXImageTransform.Microsoft")&&!t.includes("data:image/svg+xml")}};pl.names=["filter"];Wg.exports=pl});var Yg=v((rI,Hg)=>{l();var UA=M(),dl=class extends UA{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=this.clone(e),s=e.prop.replace(/end$/,"start"),o=t+e.prop.replace(/end$/,"span");if(!e.parent.some(u=>u.prop===o)){if(a.prop=o,e.value.includes("span"))a.value=e.value.replace(/span\s/i,"");else{let u;if(e.parent.walkDecls(s,c=>{u=c}),u){let c=Number(e.value)-Number(u.value)+"";a.value=c}else e.warn(n,`Can not prefix ${e.prop} (${s} is not found)`)}e.cloneBefore(a)}}};dl.names=["grid-row-end","grid-column-end"];Hg.exports=dl});var Jg=v((iI,Qg)=>{l();var WA=M(),hl=class extends WA{check(e){return!e.value.split(/\s+/).some(t=>{let i=t.toLowerCase();return i==="reverse"||i==="alternate-reverse"})}};hl.names=["animation","animation-direction"];Qg.exports=hl});var Kg=v((nI,Xg)=>{l();var GA=pe(),HA=M(),ml=class extends HA{insert(e,t,i){let n;if([n,t]=GA(t),n!==2009)return super.insert(e,t,i);let a=e.value.split(/\s+/).filter(d=>d!=="wrap"&&d!=="nowrap"&&"wrap-reverse");if(a.length===0||e.parent.some(d=>d.prop===t+"box-orient"||d.prop===t+"box-direction"))return;let o=a[0],u=o.includes("row")?"horizontal":"vertical",c=o.includes("reverse")?"reverse":"normal",f=this.clone(e);return f.prop=t+"box-orient",f.value=u,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,f),f=this.clone(e),f.prop=t+"box-direction",f.value=c,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,f)}};ml.names=["flex-flow","box-direction","box-orient"];Xg.exports=ml});var ey=v((sI,Zg)=>{l();var YA=pe(),QA=M(),gl=class extends QA{normalize(){return"flex"}prefixed(e,t){let i;return[i,t]=YA(t),i===2009?t+"box-flex":i===2012?t+"flex-positive":super.prefixed(e,t)}};gl.names=["flex-grow","flex-positive"];Zg.exports=gl});var ry=v((aI,ty)=>{l();var JA=pe(),XA=M(),yl=class extends XA{set(e,t){if(JA(t)[0]!==2009)return super.set(e,t)}};yl.names=["flex-wrap"];ty.exports=yl});var ny=v((oI,iy)=>{l();var KA=M(),Kt=mt(),wl=class extends KA{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=Kt.parse(e),[s,o]=Kt.translate(a,0,2),[u,c]=Kt.translate(a,1,3);[["grid-row",s],["grid-row-span",o],["grid-column",u],["grid-column-span",c]].forEach(([f,d])=>{Kt.insertDecl(e,f,d)}),Kt.warnTemplateSelectorNotFound(e,n),Kt.warnIfGridRowColumnExists(e,n)}};wl.names=["grid-area"];iy.exports=wl});var ay=v((lI,sy)=>{l();var ZA=M(),oi=mt(),bl=class extends ZA{insert(e,t,i){if(t!=="-ms-")return super.insert(e,t,i);if(e.parent.some(s=>s.prop==="-ms-grid-row-align"))return;let[[n,a]]=oi.parse(e);a?(oi.insertDecl(e,"grid-row-align",n),oi.insertDecl(e,"grid-column-align",a)):(oi.insertDecl(e,"grid-row-align",n),oi.insertDecl(e,"grid-column-align",n))}};bl.names=["place-self"];sy.exports=bl});var ly=v((uI,oy)=>{l();var e5=M(),vl=class extends e5{check(e){let t=e.value;return!t.includes("/")||t.includes("span")}normalize(e){return e.replace("-start","")}prefixed(e,t){let i=super.prefixed(e,t);return t==="-ms-"&&(i=i.replace("-start","")),i}};vl.names=["grid-row-start","grid-column-start"];oy.exports=vl});var cy=v((fI,fy)=>{l();var uy=pe(),t5=M(),Zt=class extends t5{check(e){return e.parent&&!e.parent.some(t=>t.prop&&t.prop.startsWith("grid-"))}prefixed(e,t){let i;return[i,t]=uy(t),i===2012?t+"flex-item-align":super.prefixed(e,t)}normalize(){return"align-self"}set(e,t){let i=uy(t)[0];if(i===2012)return e.value=Zt.oldValues[e.value]||e.value,super.set(e,t);if(i==="final")return super.set(e,t)}};Zt.names=["align-self","flex-item-align"];Zt.oldValues={"flex-end":"end","flex-start":"start"};fy.exports=Zt});var dy=v((cI,py)=>{l();var r5=M(),i5=le(),xl=class extends r5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=i5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};xl.names=["appearance"];py.exports=xl});var gy=v((pI,my)=>{l();var hy=pe(),n5=M(),kl=class extends n5{normalize(){return"flex-basis"}prefixed(e,t){let i;return[i,t]=hy(t),i===2012?t+"flex-preferred-size":super.prefixed(e,t)}set(e,t){let i;if([i,t]=hy(t),i===2012||i==="final")return super.set(e,t)}};kl.names=["flex-basis","flex-preferred-size"];my.exports=kl});var wy=v((dI,yy)=>{l();var s5=M(),Sl=class extends s5{normalize(){return this.name.replace("box-image","border")}prefixed(e,t){let i=super.prefixed(e,t);return t==="-webkit-"&&(i=i.replace("border","box-image")),i}};Sl.names=["mask-border","mask-border-source","mask-border-slice","mask-border-width","mask-border-outset","mask-border-repeat","mask-box-image","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat"];yy.exports=Sl});var vy=v((hI,by)=>{l();var a5=M(),Ne=class extends a5{insert(e,t,i){let n=e.prop==="mask-composite",a;n?a=e.value.split(","):a=e.value.match(Ne.regexp)||[],a=a.map(c=>c.trim()).filter(c=>c);let s=a.length,o;if(s&&(o=this.clone(e),o.value=a.map(c=>Ne.oldValues[c]||c).join(", "),a.includes("intersect")&&(o.value+=", xor"),o.prop=t+"mask-composite"),n)return s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,o)):void 0;let u=this.clone(e);return u.prop=t+u.prop,s&&(u.value=u.value.replace(Ne.regexp,"")),this.needCascade(e)&&(u.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,u),s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,o)):e}};Ne.names=["mask","mask-composite"];Ne.oldValues={add:"source-over",subtract:"source-out",intersect:"source-in",exclude:"xor"};Ne.regexp=new RegExp(`\\s+(${Object.keys(Ne.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`,"ig");by.exports=Ne});var Sy=v((mI,ky)=>{l();var xy=pe(),o5=M(),er=class extends o5{prefixed(e,t){let i;return[i,t]=xy(t),i===2009?t+"box-align":i===2012?t+"flex-align":super.prefixed(e,t)}normalize(){return"align-items"}set(e,t){let i=xy(t)[0];return(i===2009||i===2012)&&(e.value=er.oldValues[e.value]||e.value),super.set(e,t)}};er.names=["align-items","flex-align","box-align"];er.oldValues={"flex-end":"end","flex-start":"start"};ky.exports=er});var Ay=v((gI,Cy)=>{l();var l5=M(),Cl=class extends l5{set(e,t){return t==="-ms-"&&e.value==="contain"&&(e.value="element"),super.set(e,t)}insert(e,t,i){if(!(e.value==="all"&&t==="-ms-"))return super.insert(e,t,i)}};Cl.names=["user-select"];Cy.exports=Cl});var Ey=v((yI,Oy)=>{l();var _y=pe(),u5=M(),Al=class extends u5{normalize(){return"flex-shrink"}prefixed(e,t){let i;return[i,t]=_y(t),i===2012?t+"flex-negative":super.prefixed(e,t)}set(e,t){let i;if([i,t]=_y(t),i===2012||i==="final")return super.set(e,t)}};Al.names=["flex-shrink","flex-negative"];Oy.exports=Al});var Py=v((wI,Ty)=>{l();var f5=M(),_l=class extends f5{prefixed(e,t){return`${t}column-${e}`}normalize(e){return e.includes("inside")?"break-inside":e.includes("before")?"break-before":"break-after"}set(e,t){return(e.prop==="break-inside"&&e.value==="avoid-column"||e.value==="avoid-page")&&(e.value="avoid"),super.set(e,t)}insert(e,t,i){if(e.prop!=="break-inside")return super.insert(e,t,i);if(!(/region/i.test(e.value)||/page/i.test(e.value)))return super.insert(e,t,i)}};_l.names=["break-inside","page-break-inside","column-break-inside","break-before","page-break-before","column-break-before","break-after","page-break-after","column-break-after"];Ty.exports=_l});var Iy=v((bI,Dy)=>{l();var c5=M(),Ol=class extends c5{prefixed(e,t){return t+"print-color-adjust"}normalize(){return"color-adjust"}};Ol.names=["color-adjust","print-color-adjust"];Dy.exports=Ol});var Ry=v((vI,qy)=>{l();var p5=M(),tr=class extends p5{insert(e,t,i){if(t==="-ms-"){let n=this.set(this.clone(e),t);this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,t));let a="ltr";return e.parent.nodes.forEach(s=>{s.prop==="direction"&&(s.value==="rtl"||s.value==="ltr")&&(a=s.value)}),n.value=tr.msValues[a][e.value]||e.value,e.parent.insertBefore(e,n)}return super.insert(e,t,i)}};tr.names=["writing-mode"];tr.msValues={ltr:{"horizontal-tb":"lr-tb","vertical-rl":"tb-rl","vertical-lr":"tb-lr"},rtl:{"horizontal-tb":"rl-tb","vertical-rl":"bt-rl","vertical-lr":"bt-lr"}};qy.exports=tr});var By=v((xI,My)=>{l();var d5=M(),El=class extends d5{set(e,t){return e.value=e.value.replace(/\s+fill(\s)/,"$1"),super.set(e,t)}};El.names=["border-image"];My.exports=El});var Ny=v((kI,Ly)=>{l();var Fy=pe(),h5=M(),rr=class extends h5{prefixed(e,t){let i;return[i,t]=Fy(t),i===2012?t+"flex-line-pack":super.prefixed(e,t)}normalize(){return"align-content"}set(e,t){let i=Fy(t)[0];if(i===2012)return e.value=rr.oldValues[e.value]||e.value,super.set(e,t);if(i==="final")return super.set(e,t)}};rr.names=["align-content","flex-line-pack"];rr.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};Ly.exports=rr});var zy=v((SI,$y)=>{l();var m5=M(),Se=class extends m5{prefixed(e,t){return t==="-moz-"?t+(Se.toMozilla[e]||e):super.prefixed(e,t)}normalize(e){return Se.toNormal[e]||e}};Se.names=["border-radius"];Se.toMozilla={};Se.toNormal={};for(let r of["top","bottom"])for(let e of["left","right"]){let t=`border-${r}-${e}-radius`,i=`border-radius-${r}${e}`;Se.names.push(t),Se.names.push(i),Se.toMozilla[t]=i,Se.toNormal[i]=t}$y.exports=Se});var Vy=v((CI,jy)=>{l();var g5=M(),Tl=class extends g5{prefixed(e,t){return e.includes("-start")?t+e.replace("-block-start","-before"):t+e.replace("-block-end","-after")}normalize(e){return e.includes("-before")?e.replace("-before","-block-start"):e.replace("-after","-block-end")}};Tl.names=["border-block-start","border-block-end","margin-block-start","margin-block-end","padding-block-start","padding-block-end","border-before","border-after","margin-before","margin-after","padding-before","padding-after"];jy.exports=Tl});var Wy=v((AI,Uy)=>{l();var y5=M(),{parseTemplate:w5,warnMissedAreas:b5,getGridGap:v5,warnGridGap:x5,inheritGridGap:k5}=mt(),Pl=class extends y5{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);if(e.parent.some(m=>m.prop==="-ms-grid-rows"))return;let a=v5(e),s=k5(e,a),{rows:o,columns:u,areas:c}=w5({decl:e,gap:s||a}),f=Object.keys(c).length>0,d=Boolean(o),p=Boolean(u);return x5({gap:a,hasColumns:p,decl:e,result:n}),b5(c,e,n),(d&&p||f)&&e.cloneBefore({prop:"-ms-grid-rows",value:o,raws:{}}),p&&e.cloneBefore({prop:"-ms-grid-columns",value:u,raws:{}}),e}};Pl.names=["grid-template"];Uy.exports=Pl});var Hy=v((_I,Gy)=>{l();var S5=M(),Dl=class extends S5{prefixed(e,t){return t+e.replace("-inline","")}normalize(e){return e.replace(/(margin|padding|border)-(start|end)/,"$1-inline-$2")}};Dl.names=["border-inline-start","border-inline-end","margin-inline-start","margin-inline-end","padding-inline-start","padding-inline-end","border-start","border-end","margin-start","margin-end","padding-start","padding-end"];Gy.exports=Dl});var Qy=v((OI,Yy)=>{l();var C5=M(),Il=class extends C5{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-row-align"}normalize(){return"align-self"}};Il.names=["grid-row-align"];Yy.exports=Il});var Xy=v((EI,Jy)=>{l();var A5=M(),ir=class extends A5{keyframeParents(e){let{parent:t}=e;for(;t;){if(t.type==="atrule"&&t.name==="keyframes")return!0;({parent:t}=t)}return!1}contain3d(e){if(e.prop==="transform-origin")return!1;for(let t of ir.functions3d)if(e.value.includes(`${t}(`))return!0;return!1}set(e,t){return e=super.set(e,t),t==="-ms-"&&(e.value=e.value.replace(/rotatez/gi,"rotate")),e}insert(e,t,i){if(t==="-ms-"){if(!this.contain3d(e)&&!this.keyframeParents(e))return super.insert(e,t,i)}else if(t==="-o-"){if(!this.contain3d(e))return super.insert(e,t,i)}else return super.insert(e,t,i)}};ir.names=["transform","transform-origin"];ir.functions3d=["matrix3d","translate3d","translateZ","scale3d","scaleZ","rotate3d","rotateX","rotateY","perspective"];Jy.exports=ir});var ew=v((TI,Zy)=>{l();var Ky=pe(),_5=M(),ql=class extends _5{normalize(){return"flex-direction"}insert(e,t,i){let n;if([n,t]=Ky(t),n!==2009)return super.insert(e,t,i);if(e.parent.some(f=>f.prop===t+"box-orient"||f.prop===t+"box-direction"))return;let s=e.value,o,u;s==="inherit"||s==="initial"||s==="unset"?(o=s,u=s):(o=s.includes("row")?"horizontal":"vertical",u=s.includes("reverse")?"reverse":"normal");let c=this.clone(e);return c.prop=t+"box-orient",c.value=o,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,c),c=this.clone(e),c.prop=t+"box-direction",c.value=u,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,c)}old(e,t){let i;return[i,t]=Ky(t),i===2009?[t+"box-orient",t+"box-direction"]:super.old(e,t)}};ql.names=["flex-direction","box-direction","box-orient"];Zy.exports=ql});var rw=v((PI,tw)=>{l();var O5=M(),Rl=class extends O5{check(e){return e.value==="pixelated"}prefixed(e,t){return t==="-ms-"?"-ms-interpolation-mode":super.prefixed(e,t)}set(e,t){return t!=="-ms-"?super.set(e,t):(e.prop="-ms-interpolation-mode",e.value="nearest-neighbor",e)}normalize(){return"image-rendering"}process(e,t){return super.process(e,t)}};Rl.names=["image-rendering","interpolation-mode"];tw.exports=Rl});var nw=v((DI,iw)=>{l();var E5=M(),T5=le(),Ml=class extends E5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=T5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};Ml.names=["backdrop-filter"];iw.exports=Ml});var aw=v((II,sw)=>{l();var P5=M(),D5=le(),Bl=class extends P5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=D5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}check(e){return e.value.toLowerCase()==="text"}};Bl.names=["background-clip"];sw.exports=Bl});var lw=v((qI,ow)=>{l();var I5=M(),q5=["none","underline","overline","line-through","blink","inherit","initial","unset"],Fl=class extends I5{check(e){return e.value.split(/\s+/).some(t=>!q5.includes(t))}};Fl.names=["text-decoration"];ow.exports=Fl});var cw=v((RI,fw)=>{l();var uw=pe(),R5=M(),nr=class extends R5{prefixed(e,t){let i;return[i,t]=uw(t),i===2009?t+"box-pack":i===2012?t+"flex-pack":super.prefixed(e,t)}normalize(){return"justify-content"}set(e,t){let i=uw(t)[0];if(i===2009||i===2012){let n=nr.oldValues[e.value]||e.value;if(e.value=n,i!==2009||n!=="distribute")return super.set(e,t)}else if(i==="final")return super.set(e,t)}};nr.names=["justify-content","flex-pack","box-pack"];nr.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};fw.exports=nr});var dw=v((MI,pw)=>{l();var M5=M(),Ll=class extends M5{set(e,t){let i=e.value.toLowerCase();return t==="-webkit-"&&!i.includes(" ")&&i!=="contain"&&i!=="cover"&&(e.value=e.value+" "+e.value),super.set(e,t)}};Ll.names=["background-size"];pw.exports=Ll});var mw=v((BI,hw)=>{l();var B5=M(),Nl=mt(),$l=class extends B5{insert(e,t,i){if(t!=="-ms-")return super.insert(e,t,i);let n=Nl.parse(e),[a,s]=Nl.translate(n,0,1);n[0]&&n[0].includes("span")&&(s=n[0].join("").replace(/\D/g,"")),[[e.prop,a],[`${e.prop}-span`,s]].forEach(([u,c])=>{Nl.insertDecl(e,u,c)})}};$l.names=["grid-row","grid-column"];hw.exports=$l});var ww=v((FI,yw)=>{l();var F5=M(),{prefixTrackProp:gw,prefixTrackValue:L5,autoplaceGridItems:N5,getGridGap:$5,inheritGridGap:z5}=mt(),j5=sl(),zl=class extends F5{prefixed(e,t){return t==="-ms-"?gw({prop:e,prefix:t}):super.prefixed(e,t)}normalize(e){return e.replace(/^grid-(rows|columns)/,"grid-template-$1")}insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let{parent:a,prop:s,value:o}=e,u=s.includes("rows"),c=s.includes("columns"),f=a.some(k=>k.prop==="grid-template"||k.prop==="grid-template-areas");if(f&&u)return!1;let d=new j5({options:{}}),p=d.gridStatus(a,n),m=$5(e);m=z5(e,m)||m;let b=u?m.row:m.column;(p==="no-autoplace"||p===!0)&&!f&&(b=null);let x=L5({value:o,gap:b});e.cloneBefore({prop:gw({prop:s,prefix:t}),value:x});let y=a.nodes.find(k=>k.prop==="grid-auto-flow"),w="row";if(y&&!d.disabled(y,n)&&(w=y.value.trim()),p==="autoplace"){let k=a.nodes.find(_=>_.prop==="grid-template-rows");if(!k&&f)return;if(!k&&!f){e.warn(n,"Autoplacement does not work without grid-template-rows property");return}!a.nodes.find(_=>_.prop==="grid-template-columns")&&!f&&e.warn(n,"Autoplacement does not work without grid-template-columns property"),c&&!f&&N5(e,n,m,w)}}};zl.names=["grid-template-rows","grid-template-columns","grid-rows","grid-columns"];yw.exports=zl});var vw=v((LI,bw)=>{l();var V5=M(),jl=class extends V5{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-column-align"}normalize(){return"justify-self"}};jl.names=["grid-column-align"];bw.exports=jl});var kw=v((NI,xw)=>{l();var U5=M(),Vl=class extends U5{prefixed(e,t){return t+"scroll-chaining"}normalize(){return"overscroll-behavior"}set(e,t){return e.value==="auto"?e.value="chained":(e.value==="none"||e.value==="contain")&&(e.value="none"),super.set(e,t)}};Vl.names=["overscroll-behavior","scroll-chaining"];xw.exports=Vl});var Aw=v(($I,Cw)=>{l();var W5=M(),{parseGridAreas:G5,warnMissedAreas:H5,prefixTrackProp:Y5,prefixTrackValue:Sw,getGridGap:Q5,warnGridGap:J5,inheritGridGap:X5}=mt();function K5(r){return r.trim().slice(1,-1).split(/["']\s*["']?/g)}var Ul=class extends W5{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=!1,s=!1,o=e.parent,u=Q5(e);u=X5(e,u)||u,o.walkDecls(/-ms-grid-rows/,d=>d.remove()),o.walkDecls(/grid-template-(rows|columns)/,d=>{if(d.prop==="grid-template-rows"){s=!0;let{prop:p,value:m}=d;d.cloneBefore({prop:Y5({prop:p,prefix:t}),value:Sw({value:m,gap:u.row})})}else a=!0});let c=K5(e.value);a&&!s&&u.row&&c.length>1&&e.cloneBefore({prop:"-ms-grid-rows",value:Sw({value:`repeat(${c.length}, auto)`,gap:u.row}),raws:{}}),J5({gap:u,hasColumns:a,decl:e,result:n});let f=G5({rows:c,gap:u});return H5(f,e,n),e}};Ul.names=["grid-template-areas"];Cw.exports=Ul});var Ow=v((zI,_w)=>{l();var Z5=M(),Wl=class extends Z5{set(e,t){return t==="-webkit-"&&(e.value=e.value.replace(/\s*(right|left)\s*/i,"")),super.set(e,t)}};Wl.names=["text-emphasis-position"];_w.exports=Wl});var Tw=v((jI,Ew)=>{l();var e_=M(),Gl=class extends e_{set(e,t){return e.prop==="text-decoration-skip-ink"&&e.value==="auto"?(e.prop=t+"text-decoration-skip",e.value="ink",e):super.set(e,t)}};Gl.names=["text-decoration-skip-ink","text-decoration-skip"];Ew.exports=Gl});var Mw=v((VI,Rw)=>{l();"use strict";Rw.exports={wrap:Pw,limit:Dw,validate:Iw,test:Hl,curry:t_,name:qw};function Pw(r,e,t){var i=e-r;return((t-r)%i+i)%i+r}function Dw(r,e,t){return Math.max(r,Math.min(e,t))}function Iw(r,e,t,i,n){if(!Hl(r,e,t,i,n))throw new Error(t+" is outside of range ["+r+","+e+")");return t}function Hl(r,e,t,i,n){return!(te||n&&t===e||i&&t===r)}function qw(r,e,t,i){return(t?"(":"[")+r+","+e+(i?")":"]")}function t_(r,e,t,i){var n=qw.bind(null,r,e,t,i);return{wrap:Pw.bind(null,r,e),limit:Dw.bind(null,r,e),validate:function(a){return Iw(r,e,a,t,i)},test:function(a){return Hl(r,e,a,t,i)},toString:n,name:n}}});var Lw=v((UI,Fw)=>{l();var Yl=Kn(),r_=Mw(),i_=Qt(),n_=ke(),s_=le(),Bw=/top|left|right|bottom/gi,Qe=class extends n_{replace(e,t){let i=Yl(e);for(let n of i.nodes)if(n.type==="function"&&n.value===this.name)if(n.nodes=this.newDirection(n.nodes),n.nodes=this.normalize(n.nodes),t==="-webkit- old"){if(!this.oldWebkit(n))return!1}else n.nodes=this.convertDirection(n.nodes),n.value=t+n.value;return i.toString()}replaceFirst(e,...t){return t.map(n=>n===" "?{type:"space",value:n}:{type:"word",value:n}).concat(e.slice(1))}normalizeUnit(e,t){return`${parseFloat(e)/t*360}deg`}normalize(e){if(!e[0])return e;if(/-?\d+(.\d+)?grad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,400);else if(/-?\d+(.\d+)?rad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,2*Math.PI);else if(/-?\d+(.\d+)?turn/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,1);else if(e[0].value.includes("deg")){let t=parseFloat(e[0].value);t=r_.wrap(0,360,t),e[0].value=`${t}deg`}return e[0].value==="0deg"?e=this.replaceFirst(e,"to"," ","top"):e[0].value==="90deg"?e=this.replaceFirst(e,"to"," ","right"):e[0].value==="180deg"?e=this.replaceFirst(e,"to"," ","bottom"):e[0].value==="270deg"&&(e=this.replaceFirst(e,"to"," ","left")),e}newDirection(e){if(e[0].value==="to"||(Bw.lastIndex=0,!Bw.test(e[0].value)))return e;e.unshift({type:"word",value:"to"},{type:"space",value:" "});for(let t=2;t0&&(e[0].value==="to"?this.fixDirection(e):e[0].value.includes("deg")?this.fixAngle(e):this.isRadial(e)&&this.fixRadial(e)),e}fixDirection(e){e.splice(0,2);for(let t of e){if(t.type==="div")break;t.type==="word"&&(t.value=this.revertDirection(t.value))}}fixAngle(e){let t=e[0].value;t=parseFloat(t),t=Math.abs(450-t)%360,t=this.roundFloat(t,3),e[0].value=`${t}deg`}fixRadial(e){let t=[],i=[],n,a,s,o,u;for(o=0;o{l();var a_=Qt(),o_=ke();function Nw(r){return new RegExp(`(^|[\\s,(])(${r}($|[\\s),]))`,"gi")}var Ql=class extends o_{regexp(){return this.regexpCache||(this.regexpCache=Nw(this.name)),this.regexpCache}isStretch(){return this.name==="stretch"||this.name==="fill"||this.name==="fill-available"}replace(e,t){return t==="-moz-"&&this.isStretch()?e.replace(this.regexp(),"$1-moz-available$3"):t==="-webkit-"&&this.isStretch()?e.replace(this.regexp(),"$1-webkit-fill-available$3"):super.replace(e,t)}old(e){let t=e+this.name;return this.isStretch()&&(e==="-moz-"?t="-moz-available":e==="-webkit-"&&(t="-webkit-fill-available")),new a_(this.name,t,t,Nw(t))}add(e,t){if(!(e.prop.includes("grid")&&t!=="-webkit-"))return super.add(e,t)}};Ql.names=["max-content","min-content","fit-content","fill","fill-available","stretch"];$w.exports=Ql});var Uw=v((GI,Vw)=>{l();var jw=Qt(),l_=ke(),Jl=class extends l_{replace(e,t){return t==="-webkit-"?e.replace(this.regexp(),"$1-webkit-optimize-contrast"):t==="-moz-"?e.replace(this.regexp(),"$1-moz-crisp-edges"):super.replace(e,t)}old(e){return e==="-webkit-"?new jw(this.name,"-webkit-optimize-contrast"):e==="-moz-"?new jw(this.name,"-moz-crisp-edges"):super.old(e)}};Jl.names=["pixelated"];Vw.exports=Jl});var Gw=v((HI,Ww)=>{l();var u_=ke(),Xl=class extends u_{replace(e,t){let i=super.replace(e,t);return t==="-webkit-"&&(i=i.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi,"url($1)$2")),i}};Xl.names=["image-set"];Ww.exports=Xl});var Yw=v((YI,Hw)=>{l();var f_=ge().list,c_=ke(),Kl=class extends c_{replace(e,t){return f_.space(e).map(i=>{if(i.slice(0,+this.name.length+1)!==this.name+"(")return i;let n=i.lastIndexOf(")"),a=i.slice(n+1),s=i.slice(this.name.length+1,n);if(t==="-webkit-"){let o=s.match(/\d*.?\d+%?/);o?(s=s.slice(o[0].length).trim(),s+=`, ${o[0]}`):s+=", 0.5"}return t+this.name+"("+s+")"+a}).join(" ")}};Kl.names=["cross-fade"];Hw.exports=Kl});var Jw=v((QI,Qw)=>{l();var p_=pe(),d_=Qt(),h_=ke(),Zl=class extends h_{constructor(e,t){super(e,t);e==="display-flex"&&(this.name="flex")}check(e){return e.prop==="display"&&e.value===this.name}prefixed(e){let t,i;return[t,e]=p_(e),t===2009?this.name==="flex"?i="box":i="inline-box":t===2012?this.name==="flex"?i="flexbox":i="inline-flexbox":t==="final"&&(i=this.name),e+i}replace(e,t){return this.prefixed(t)}old(e){let t=this.prefixed(e);if(!!t)return new d_(this.name,t)}};Zl.names=["display-flex","inline-flex"];Qw.exports=Zl});var Kw=v((JI,Xw)=>{l();var m_=ke(),eu=class extends m_{constructor(e,t){super(e,t);e==="display-grid"&&(this.name="grid")}check(e){return e.prop==="display"&&e.value===this.name}};eu.names=["display-grid","inline-grid"];Xw.exports=eu});var eb=v((XI,Zw)=>{l();var g_=ke(),tu=class extends g_{constructor(e,t){super(e,t);e==="filter-function"&&(this.name="filter")}};tu.names=["filter","filter-function"];Zw.exports=tu});var nb=v((KI,ib)=>{l();var tb=ai(),B=M(),rb=Fm(),y_=tg(),w_=sl(),b_=vg(),ru=dt(),sr=Jt(),v_=Eg(),$e=ke(),ar=le(),x_=Pg(),k_=Ig(),S_=Rg(),C_=Bg(),A_=zg(),__=Ug(),O_=Gg(),E_=Yg(),T_=Jg(),P_=Kg(),D_=ey(),I_=ry(),q_=ny(),R_=ay(),M_=ly(),B_=cy(),F_=dy(),L_=gy(),N_=wy(),$_=vy(),z_=Sy(),j_=Ay(),V_=Ey(),U_=Py(),W_=Iy(),G_=Ry(),H_=By(),Y_=Ny(),Q_=zy(),J_=Vy(),X_=Wy(),K_=Hy(),Z_=Qy(),eO=Xy(),tO=ew(),rO=rw(),iO=nw(),nO=aw(),sO=lw(),aO=cw(),oO=dw(),lO=mw(),uO=ww(),fO=vw(),cO=kw(),pO=Aw(),dO=Ow(),hO=Tw(),mO=Lw(),gO=zw(),yO=Uw(),wO=Gw(),bO=Yw(),vO=Jw(),xO=Kw(),kO=eb();sr.hack(x_);sr.hack(k_);sr.hack(S_);sr.hack(C_);B.hack(A_);B.hack(__);B.hack(O_);B.hack(E_);B.hack(T_);B.hack(P_);B.hack(D_);B.hack(I_);B.hack(q_);B.hack(R_);B.hack(M_);B.hack(B_);B.hack(F_);B.hack(L_);B.hack(N_);B.hack($_);B.hack(z_);B.hack(j_);B.hack(V_);B.hack(U_);B.hack(W_);B.hack(G_);B.hack(H_);B.hack(Y_);B.hack(Q_);B.hack(J_);B.hack(X_);B.hack(K_);B.hack(Z_);B.hack(eO);B.hack(tO);B.hack(rO);B.hack(iO);B.hack(nO);B.hack(sO);B.hack(aO);B.hack(oO);B.hack(lO);B.hack(uO);B.hack(fO);B.hack(cO);B.hack(pO);B.hack(dO);B.hack(hO);$e.hack(mO);$e.hack(gO);$e.hack(yO);$e.hack(wO);$e.hack(bO);$e.hack(vO);$e.hack(xO);$e.hack(kO);var iu=new Map,li=class{constructor(e,t,i={}){this.data=e,this.browsers=t,this.options=i,[this.add,this.remove]=this.preprocess(this.select(this.data)),this.transition=new y_(this),this.processor=new w_(this)}cleaner(){if(this.cleanerCache)return this.cleanerCache;if(this.browsers.selected.length){let e=new ru(this.browsers.data,[]);this.cleanerCache=new li(this.data,e,this.options)}else return this;return this.cleanerCache}select(e){let t={add:{},remove:{}};for(let i in e){let n=e[i],a=n.browsers.map(u=>{let c=u.split(" ");return{browser:`${c[0]} ${c[1]}`,note:c[2]}}),s=a.filter(u=>u.note).map(u=>`${this.browsers.prefix(u.browser)} ${u.note}`);s=ar.uniq(s),a=a.filter(u=>this.browsers.isSelected(u.browser)).map(u=>{let c=this.browsers.prefix(u.browser);return u.note?`${c} ${u.note}`:c}),a=this.sort(ar.uniq(a)),this.options.flexbox==="no-2009"&&(a=a.filter(u=>!u.includes("2009")));let o=n.browsers.map(u=>this.browsers.prefix(u));n.mistakes&&(o=o.concat(n.mistakes)),o=o.concat(s),o=ar.uniq(o),a.length?(t.add[i]=a,a.length!a.includes(u)))):t.remove[i]=o}return t}sort(e){return e.sort((t,i)=>{let n=ar.removeNote(t).length,a=ar.removeNote(i).length;return n===a?i.length-t.length:a-n})}preprocess(e){let t={selectors:[],"@supports":new b_(li,this)};for(let n in e.add){let a=e.add[n];if(n==="@keyframes"||n==="@viewport")t[n]=new v_(n,a,this);else if(n==="@resolution")t[n]=new rb(n,a,this);else if(this.data[n].selector)t.selectors.push(sr.load(n,a,this));else{let s=this.data[n].props;if(s){let o=$e.load(n,a,this);for(let u of s)t[u]||(t[u]={values:[]}),t[u].values.push(o)}else{let o=t[n]&&t[n].values||[];t[n]=B.load(n,a,this),t[n].values=o}}}let i={selectors:[]};for(let n in e.remove){let a=e.remove[n];if(this.data[n].selector){let s=sr.load(n,a);for(let o of a)i.selectors.push(s.old(o))}else if(n==="@keyframes"||n==="@viewport")for(let s of a){let o=`@${s}${n.slice(1)}`;i[o]={remove:!0}}else if(n==="@resolution")i[n]=new rb(n,a,this);else{let s=this.data[n].props;if(s){let o=$e.load(n,[],this);for(let u of a){let c=o.old(u);if(c)for(let f of s)i[f]||(i[f]={}),i[f].values||(i[f].values=[]),i[f].values.push(c)}}else for(let o of a){let u=this.decl(n).old(n,o);if(n==="align-self"){let c=t[n]&&t[n].prefixes;if(c){if(o==="-webkit- 2009"&&c.includes("-webkit-"))continue;if(o==="-webkit-"&&c.includes("-webkit- 2009"))continue}}for(let c of u)i[c]||(i[c]={}),i[c].remove=!0}}}return[t,i]}decl(e){return iu.has(e)||iu.set(e,B.load(e)),iu.get(e)}unprefixed(e){let t=this.normalize(tb.unprefixed(e));return t==="flex-direction"&&(t="flex-flow"),t}normalize(e){return this.decl(e).normalize(e)}prefixed(e,t){return e=tb.unprefixed(e),this.decl(e).prefixed(e,t)}values(e,t){let i=this[e],n=i["*"]&&i["*"].values,a=i[t]&&i[t].values;return n&&a?ar.uniq(n.concat(a)):n||a||[]}group(e){let t=e.parent,i=t.index(e),{length:n}=t.nodes,a=this.unprefixed(e.prop),s=(o,u)=>{for(i+=o;i>=0&&i{l();sb.exports={"backdrop-filter":{feature:"css-backdrop-filter",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},element:{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-element-function",browsers:["firefox 114"]},"user-select":{mistakes:["-khtml-"],feature:"user-select-none",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"background-clip":{feature:"background-clip-text",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},hyphens:{feature:"css-hyphens",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},fill:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"fill-available":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},stretch:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"fit-content":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"text-decoration-style":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-color":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-line":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip-ink":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-size-adjust":{feature:"text-size-adjust",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"mask-clip":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-composite":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-image":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-origin":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-source":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},mask:{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-position":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-size":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-outset":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-width":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-slice":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"clip-path":{feature:"css-clip-path",browsers:["samsung 21"]},"box-decoration-break":{feature:"css-boxdecorationbreak",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","opera 99","safari 16.5","samsung 21"]},appearance:{feature:"css-appearance",browsers:["samsung 21"]},"image-set":{props:["background","background-image","border-image","cursor","mask","mask-image","list-style","list-style-image","content"],feature:"css-image-set",browsers:["and_uc 15.5","chrome 109","samsung 21"]},"cross-fade":{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-cross-fade",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},isolate:{props:["unicode-bidi"],feature:"css-unicode-bidi",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"color-adjust":{feature:"css-color-adjust",browsers:["chrome 109","chrome 113","chrome 114","edge 114","opera 99"]}}});var lb=v((eq,ob)=>{l();ob.exports={}});var pb=v((tq,cb)=>{l();var SO=Ho(),{agents:CO}=(Gn(),Wn),nu=Sm(),AO=dt(),_O=nb(),OO=ab(),EO=lb(),ub={browsers:CO,prefixes:OO},fb=` + Replace Autoprefixer \`browsers\` option to Browserslist config. + Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file. + + Using \`browsers\` option can cause errors. Browserslist config can + be used for Babel, Autoprefixer, postcss-normalize and other tools. + + If you really need to use option, rename it to \`overrideBrowserslist\`. + + Learn more at: + https://github.com/browserslist/browserslist#readme + https://twitter.com/browserslist + +`;function TO(r){return Object.prototype.toString.apply(r)==="[object Object]"}var su=new Map;function PO(r,e){e.browsers.selected.length!==0&&(e.add.selectors.length>0||Object.keys(e.add).length>2||r.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore. +Check your Browserslist config to be sure that your targets are set up correctly. + + Learn more at: + https://github.com/postcss/autoprefixer#readme + https://github.com/browserslist/browserslist#readme + +`))}cb.exports=or;function or(...r){let e;if(r.length===1&&TO(r[0])?(e=r[0],r=void 0):r.length===0||r.length===1&&!r[0]?r=void 0:r.length<=2&&(Array.isArray(r[0])||!r[0])?(e=r[1],r=r[0]):typeof r[r.length-1]=="object"&&(e=r.pop()),e||(e={}),e.browser)throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer");if(e.browserslist)throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer");e.overrideBrowserslist?r=e.overrideBrowserslist:e.browsers&&(typeof console!="undefined"&&console.warn&&(nu.red?console.warn(nu.red(fb.replace(/`[^`]+`/g,n=>nu.yellow(n.slice(1,-1))))):console.warn(fb)),r=e.browsers);let t={ignoreUnknownVersions:e.ignoreUnknownVersions,stats:e.stats,env:e.env};function i(n){let a=ub,s=new AO(a.browsers,r,n,t),o=s.selected.join(", ")+JSON.stringify(e);return su.has(o)||su.set(o,new _O(a.prefixes,s,e)),su.get(o)}return{postcssPlugin:"autoprefixer",prepare(n){let a=i({from:n.opts.from,env:e.env});return{OnceExit(s){PO(n,a),e.remove!==!1&&a.processor.remove(s,n),e.add!==!1&&a.processor.add(s,n)}}},info(n){return n=n||{},n.from=n.from||h.cwd(),EO(i(n))},options:e,browsers:r}}or.postcss=!0;or.data=ub;or.defaults=SO.defaults;or.info=()=>or().info()});var hb=v((rq,db)=>{l();db.exports={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi}});var gb=v((iq,mb)=>{l();var au=hb(),ou={whitespace:/\s+/g,urlHexPairs:/%[\dA-F]{2}/g,quotes:/"/g};function DO(r){return r.trim().replace(ou.whitespace," ")}function IO(r){return encodeURIComponent(r).replace(ou.urlHexPairs,RO)}function qO(r){return Object.keys(au).forEach(function(e){au[e].test(r)&&(r=r.replace(au[e],e))}),r}function RO(r){switch(r){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return r.toLowerCase()}}function lu(r){if(typeof r!="string")throw new TypeError("Expected a string, but received "+typeof r);r.charCodeAt(0)===65279&&(r=r.slice(1));var e=qO(DO(r)).replace(ou.quotes,"'");return"data:image/svg+xml,"+IO(e)}lu.toSrcset=function(e){return lu(e).replace(/ /g,"%20")};mb.exports=lu});var uu={};Ae(uu,{default:()=>MO});var yb,MO,fu=C(()=>{l();wi();yb=X(Si()),MO=et(yb.default.theme)});var kb=v((sq,xb)=>{l();var Zn=gb(),BO=(qn(),In).default,wb=(fu(),uu).default,gt=(mi(),as).default,[FO,{lineHeight:LO}]=wb.fontSize.base,{spacing:Je,borderWidth:bb,borderRadius:vb}=wb;function yt(r,e){return r.replace("",`var(${e}, 1)`)}var NO=BO.withOptions(function(r={strategy:void 0}){return function({addBase:e,addComponents:t,theme:i}){let n=r.strategy===void 0?["base","class"]:[r.strategy],a=[{base:["[type='text']","input:where(:not([type]))","[type='email']","[type='url']","[type='password']","[type='number']","[type='date']","[type='datetime-local']","[type='month']","[type='search']","[type='tel']","[type='time']","[type='week']","[multiple]","textarea","select"],class:[".form-input",".form-textarea",".form-select",".form-multiselect"],styles:{appearance:"none","background-color":"#fff","border-color":yt(i("colors.gray.500",gt.gray[500]),"--tw-border-opacity"),"border-width":bb.DEFAULT,"border-radius":vb.none,"padding-top":Je[2],"padding-right":Je[3],"padding-bottom":Je[2],"padding-left":Je[3],"font-size":FO,"line-height":LO,"--tw-shadow":"0 0 #0000","&:focus":{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"0px","--tw-ring-offset-color":"#fff","--tw-ring-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)","border-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-border-opacity")}}},{base:["input::placeholder","textarea::placeholder"],class:[".form-input::placeholder",".form-textarea::placeholder"],styles:{color:yt(i("colors.gray.500",gt.gray[500]),"--tw-text-opacity"),opacity:"1"}},{base:["::-webkit-datetime-edit-fields-wrapper"],class:[".form-input::-webkit-datetime-edit-fields-wrapper"],styles:{padding:"0"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"min-height":"1.5em"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"text-align":"inherit"}},{base:["::-webkit-datetime-edit"],class:[".form-input::-webkit-datetime-edit"],styles:{display:"inline-flex"}},{base:["::-webkit-datetime-edit","::-webkit-datetime-edit-year-field","::-webkit-datetime-edit-month-field","::-webkit-datetime-edit-day-field","::-webkit-datetime-edit-hour-field","::-webkit-datetime-edit-minute-field","::-webkit-datetime-edit-second-field","::-webkit-datetime-edit-millisecond-field","::-webkit-datetime-edit-meridiem-field"],class:[".form-input::-webkit-datetime-edit",".form-input::-webkit-datetime-edit-year-field",".form-input::-webkit-datetime-edit-month-field",".form-input::-webkit-datetime-edit-day-field",".form-input::-webkit-datetime-edit-hour-field",".form-input::-webkit-datetime-edit-minute-field",".form-input::-webkit-datetime-edit-second-field",".form-input::-webkit-datetime-edit-millisecond-field",".form-input::-webkit-datetime-edit-meridiem-field"],styles:{"padding-top":0,"padding-bottom":0}},{base:["select"],class:[".form-select"],styles:{"background-image":`url("${Zn(``)}")`,"background-position":`right ${Je[2]} center`,"background-repeat":"no-repeat","background-size":"1.5em 1.5em","padding-right":Je[10],"print-color-adjust":"exact"}},{base:["[multiple]",'[size]:where(select:not([size="1"]))'],class:['.form-select:where([size]:not([size="1"]))'],styles:{"background-image":"initial","background-position":"initial","background-repeat":"unset","background-size":"initial","padding-right":Je[3],"print-color-adjust":"unset"}},{base:["[type='checkbox']","[type='radio']"],class:[".form-checkbox",".form-radio"],styles:{appearance:"none",padding:"0","print-color-adjust":"exact",display:"inline-block","vertical-align":"middle","background-origin":"border-box","user-select":"none","flex-shrink":"0",height:Je[4],width:Je[4],color:yt(i("colors.blue.600",gt.blue[600]),"--tw-text-opacity"),"background-color":"#fff","border-color":yt(i("colors.gray.500",gt.gray[500]),"--tw-border-opacity"),"border-width":bb.DEFAULT,"--tw-shadow":"0 0 #0000"}},{base:["[type='checkbox']"],class:[".form-checkbox"],styles:{"border-radius":vb.none}},{base:["[type='radio']"],class:[".form-radio"],styles:{"border-radius":"100%"}},{base:["[type='checkbox']:focus","[type='radio']:focus"],class:[".form-checkbox:focus",".form-radio:focus"],styles:{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"2px","--tw-ring-offset-color":"#fff","--tw-ring-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)"}},{base:["[type='checkbox']:checked","[type='radio']:checked"],class:[".form-checkbox:checked",".form-radio:checked"],styles:{"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat"}},{base:["[type='checkbox']:checked"],class:[".form-checkbox:checked"],styles:{"background-image":`url("${Zn('')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='radio']:checked"],class:[".form-radio:checked"],styles:{"background-image":`url("${Zn('')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:checked:hover","[type='checkbox']:checked:focus","[type='radio']:checked:hover","[type='radio']:checked:focus"],class:[".form-checkbox:checked:hover",".form-checkbox:checked:focus",".form-radio:checked:hover",".form-radio:checked:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='checkbox']:indeterminate"],class:[".form-checkbox:indeterminate"],styles:{"background-image":`url("${Zn('')}")`,"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat","@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:indeterminate:hover","[type='checkbox']:indeterminate:focus"],class:[".form-checkbox:indeterminate:hover",".form-checkbox:indeterminate:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='file']"],class:null,styles:{background:"unset","border-color":"inherit","border-width":"0","border-radius":"0",padding:"0","font-size":"unset","line-height":"inherit"}},{base:["[type='file']:focus"],class:null,styles:{outline:["1px solid ButtonText","1px auto -webkit-focus-ring-color"]}}],s=o=>a.map(u=>u[o]===null?null:{[u[o]]:u.styles}).filter(Boolean);n.includes("base")&&e(s("base")),n.includes("class")&&t(s("class"))}});xb.exports=NO});var Sb={};Ae(Sb,{default:()=>$O});var $O,Cb=C(()=>{l();$O=[kb()]});var _b={};Ae(_b,{default:()=>zO});var Ab,zO,Ob=C(()=>{l();wi();Ab=X(Si()),zO=et(Ab.default)});l();"use strict";var jO=Xe(xm()),VO=Xe(ge()),UO=Xe(pb()),WO=Xe((Cb(),Sb)),GO=Xe((fu(),uu)),HO=Xe((Ob(),_b)),YO=Xe((mi(),as)),QO=Xe((qn(),In)),JO=Xe((xs(),lf));function Xe(r){return r&&r.__esModule?r:{default:r}}console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation");var es="tailwind",cu="text/tailwindcss",Eb="/template.html",Ct,Tb=!0,Pb=0,pu=new Set,du,Db="",Ib=(r=!1)=>({get(e,t){return(!r||t==="config")&&typeof e[t]=="object"&&e[t]!==null?new Proxy(e[t],Ib()):e[t]},set(e,t,i){return e[t]=i,(!r||t==="config")&&hu(!0),!0}});window[es]=new Proxy({config:{},defaultTheme:GO.default,defaultConfig:HO.default,colors:YO.default,plugin:QO.default,resolveConfig:JO.default},Ib(!0));function qb(r){du.observe(r,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}new MutationObserver(async r=>{let e=!1;if(!du){du=new MutationObserver(async()=>await hu(!0));for(let t of document.querySelectorAll(`style[type="${cu}"]`))qb(t)}for(let t of r)for(let i of t.addedNodes)i.nodeType===1&&i.tagName==="STYLE"&&i.getAttribute("type")===cu&&(qb(i),e=!0);await hu(e)}).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0});async function hu(r=!1){r&&(Pb++,pu.clear());let e="";for(let i of document.querySelectorAll(`style[type="${cu}"]`))e+=i.textContent;let t=new Set;for(let i of document.querySelectorAll("[class]"))for(let n of i.classList)pu.has(n)||t.add(n);if(document.body&&(Tb||t.size>0||e!==Db||!Ct||!Ct.isConnected)){for(let n of t)pu.add(n);Tb=!1,Db=e,self[Eb]=Array.from(t).join(" ");let{css:i}=await(0,VO.default)([(0,jO.default)({...window[es].config,_hash:Pb,content:[Eb],plugins:[...WO.default,...Array.isArray(window[es].config.plugins)?window[es].config.plugins:[]]}),(0,UO.default)({remove:!1})]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`);(!Ct||!Ct.isConnected)&&(Ct=document.createElement("style"),document.head.append(Ct)),Ct.textContent=i}}})(); +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/meshchatx/src/frontend/public/rnode-flasher/js/zip.min.js b/meshchatx/src/frontend/public/rnode-flasher/js/zip.min.js new file mode 100644 index 0000000..f69e826 --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/js/zip.min.js @@ -0,0 +1 @@ +((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,(function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:i,Math:a,Date:o,Map:c,Set:l,Response:u,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:h,DataView:g,Blob:m,Promise:y,TextEncoder:b,TextDecoder:S,document:k,crypto:z,btoa:v,TransformStream:x,ReadableStream:A,WritableStream:_,CompressionStream:C,DecompressionStream:F,navigator:D,Worker:R}="undefined"!=typeof globalThis?globalThis:this||self;var E=void 0!==k?k.currentScript:null;const T=4294967295,W=65535,U=67324752,j=134695760,I=j,L=33639248,N=101010256,O=101075792,q=117853008,P=22,M=21589,G=2048,B="/",H=new o(2107,11,31),V=new o(1980,0,1),K=void 0,Z="undefined",X="function";class Y{constructor(e){return class extends x{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}let Q=2;try{typeof D!=Z&&D.hardwareConcurrency&&(Q=D.hardwareConcurrency)}catch(e){}const J={chunkSize:524288,maxWorkers:Q,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:K,CompressionStreamNative:typeof C!=Z&&C,DecompressionStreamNative:typeof F!=Z&&F},$=n.assign({},J);function ee(){return $}function te(e){return a.max(e.chunkSize,64)}function ne(e){const{baseURL:n,chunkSize:r,maxWorkers:s,terminateWorkerTimeout:i,useCompressionStream:a,useWebWorkers:o,Deflate:c,Inflate:l,CompressionStream:u,DecompressionStream:f,workerScripts:w}=e;if(re("baseURL",n),re("chunkSize",r),re("maxWorkers",s),re("terminateWorkerTimeout",i),re("useCompressionStream",a),re("useWebWorkers",o),c&&($.CompressionStream=new Y(c)),l&&($.DecompressionStream=new Y(l)),re("CompressionStream",u),re("DecompressionStream",f),w!==K){const{deflate:e,inflate:n}=w;if((e||n)&&($.workerScripts||($.workerScripts={})),e){if(!t.isArray(e))throw new d("workerScripts.deflate must be an array");$.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new d("workerScripts.inflate must be an array");$.workerScripts.inflate=n}}}function re(e,t){t!==K&&($[e]=t)}function se(e,t,r){return class{constructor(s){const i=this;var a,o;a=s,o="level",(typeof n.hasOwn===X?n.hasOwn(a,o):a.hasOwnProperty(o))&&s.level===K&&delete s.level,i.codec=new e(n.assign({},t,s)),r(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new w(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new w(e)}))}append(e){return this.codec.push(e),s(this)}flush(){return this.codec.push(new w,!0),s(this)}};function s(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new w}}const ie=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;ie[e]=t}class ae{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^ie[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class oe extends x{constructor(){let e;const t=new ae;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new g(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function ce(e){if(typeof b==Z){const t=new w((e=unescape(encodeURIComponent(e))).length);for(let n=0;n0&&t&&(e[n-1]=le.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=le.getPartial(s);return r.push(le.partial(t+i&31,t+i>32?n:r.pop(),1)),r}},ue={bytes:{fromBits(e){const t=le.bitLength(e)/8,n=new w(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new h(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);s>=e;e+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=le.concat(t,[le.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_S(e,t){return t<>>32-e}_block(e){const n=this,r=n._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;79>=e;e++){16>e||(s[e]=n._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n._S(5,i)+n._f(e,o,c,l)+u+s[e]+n._key[a.floor(e/20)]|0;u=l,l=c,c=n._S(30,o),o=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},de={getRandomValues(e){const t=new h(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(a.random()>.5?1:-1))};for(let r,s=0;snew we.hmacSha1(ue.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new d("invalid params to pbkdf2");const s=1+(r>>5)<<2;let i,a,o,c,l;const u=new ArrayBuffer(s),f=new g(u);let w=0;const p=le;for(t=ue.bytes.toBits(t),l=1;(s||1)>w;l++){for(i=a=e.encrypt(p.concat(t,[l])),o=1;n>o;o++)for(a=e.encrypt(a),c=0;cw&&os&&(e=(new n).update(e).finalize());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},pe=typeof z!=Z&&typeof z.getRandomValues==X,he="Invalid password",ge="Invalid signature",me="zipjs-abort-check-password";function ye(e){return pe?z.getRandomValues(e):de.getRandomValues(e)}const be=16,Se={name:"PBKDF2"},ke=n.assign({hash:{name:"HMAC"}},Se),ze=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Se),ve=["deriveBits"],xe=[8,12,16],Ae=[16,24,32],_e=10,Ce=[0,0,0,0],Fe=typeof z!=Z,De=Fe&&z.subtle,Re=Fe&&typeof De!=Z,Ee=ue.bytes,Te=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new d("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s==0||8===s&&i%s==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%s==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],s=[],i=[];let a,o,c,l;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=a=0;!n[u];u^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,n[u]=i,r[i]=u,l=s[c=s[o=s[u]]];let f=16843009*l^65537*c^257*o^16843008*u,d=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][u]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this._key[t],r=n.length/4-2,s=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],c=i[2],l=i[3],u=i[4];let f,w,p,h=e[0]^n[0],g=e[t?3:1]^n[1],m=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;r>e;e++)f=a[h>>>24]^o[g>>16&255]^c[m>>8&255]^l[255&y]^n[b],w=a[g>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&h]^n[b+1],p=a[m>>>24]^o[y>>16&255]^c[h>>8&255]^l[255&g]^n[b+2],y=a[y>>>24]^o[h>>16&255]^c[g>>8&255]^l[255&m]^n[b+3],b+=4,h=f,g=w,m=p;for(let e=0;4>e;e++)s[t?3&-e:e]=u[h>>>24]<<24^u[g>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^n[b++],f=h,h=g,g=m,m=y,y=f;return s}},We=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const s=le.bitLength(t);for(let s=0;r>s;s+=4){this.incCounter(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return le.clamp(t,s)}},Ue=we.hmacSha1;let je=Fe&&Re&&typeof De.importKey==X,Ie=Fe&&Re&&typeof De.deriveBits==X;class Le extends x{constructor({password:e,rawPassword:t,signed:r,encryptionStrength:s,checkPasswordOnly:i}){super({start(){n.assign(this,{ready:new y((e=>this.resolveReady=e)),password:Pe(e,t),signed:r,strength:s-1,pending:new w})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:a,ready:o}=n;r?(await(async(e,t,n,r)=>{const s=await qe(e,t,n,Ge(r,0,xe[t])),i=Ge(r,xe[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new d(he)})(n,s,r,Ge(e,0,xe[s]+2)),e=Ge(e,xe[s]+2),i?t.error(new d(me)):a()):await o;const c=new w(e.length-_e-(e.length-_e)%be);t.enqueue(Oe(n,e,c,0,_e,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:s,ready:i}=this;if(r&&n){await i;const a=Ge(s,0,s.length-_e),o=Ge(s,s.length-_e);let c=new w;if(a.length){const e=He(Ee,a);r.update(e);const t=n.update(e);c=Be(Ee,t)}if(t){const e=Ge(Be(Ee,r.digest()),0,_e);for(let t=0;_e>t;t++)if(e[t]!=o[t])throw new d(ge)}e.enqueue(c)}}})}}class Ne extends x{constructor({password:e,rawPassword:t,encryptionStrength:r}){let s;super({start(){n.assign(this,{ready:new y((e=>this.resolveReady=e)),password:Pe(e,t),strength:r-1,pending:new w})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:a}=n;let o=new w;r?(o=await(async(e,t,n)=>{const r=ye(new w(xe[t]));return Me(r,await qe(e,t,n,r))})(n,s,r),i()):await a;const c=new w(o.length+e.length-e.length%be);c.set(o,0),t.enqueue(Oe(n,e,c,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:i}=this;if(n&&t){await i;let a=new w;if(r.length){const e=t.update(He(Ee,r));n.update(e),a=Be(Ee,e)}s.signature=Be(Ee,n.digest()).slice(0,_e),e.enqueue(Me(a,s.signature))}}}),s=this}}function Oe(e,t,n,r,s,i){const{ctr:a,hmac:o,pending:c}=e,l=t.length-s;let u;for(c.length&&(t=Me(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e})(n,l-l%be)),u=0;l-be>=u;u+=be){const e=He(Ee,Ge(t,u,u+be));i&&o.update(e);const s=a.update(e);i||o.update(s),n.set(Be(Ee,s),u+r)}return e.pending=Ge(t,u),n}async function qe(e,r,s,i){e.password=null;const a=await(async(e,t,n,r,s)=>{if(!je)return we.importKey(t);try{return await De.importKey("raw",t,n,!1,s)}catch(e){return je=!1,we.importKey(t)}})(0,s,ke,0,ve),o=await(async(e,t,n)=>{if(!Ie)return we.pbkdf2(t,e.salt,ze.iterations,n);try{return await De.deriveBits(e,t,n)}catch(r){return Ie=!1,we.pbkdf2(t,e.salt,ze.iterations,n)}})(n.assign({salt:i},ze),a,8*(2*Ae[r]+2)),c=new w(o),l=He(Ee,Ge(c,0,Ae[r])),u=He(Ee,Ge(c,Ae[r],2*Ae[r])),f=Ge(c,2*Ae[r]);return n.assign(e,{keys:{key:l,authentication:u,passwordVerification:f},ctr:new We(new Te(l),t.from(Ce)),hmac:new Ue(u)}),f}function Pe(e,t){return t===K?ce(e):t}function Me(e,t){let n=e;return e.length+t.length&&(n=new w(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Ge(e,t,n){return e.subarray(t,n)}function Be(e,t){return e.fromBits(t)}function He(e,t){return e.toBits(t)}class Ve extends x{constructor({password:e,passwordVerification:t,checkPasswordOnly:r}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Ye(this,e)},transform(e,t){const n=this;if(n.password){const t=Ze(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new d(he);e=e.subarray(12)}r?t.error(new d(me)):t.enqueue(Ze(n,e))}})}}class Ke extends x{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Ye(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=ye(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(Xe(n,t),0),s=12}else r=new w(e.length),s=0;r.set(Xe(n,e),s),t.enqueue(r)}})}}function Ze(e,t){const n=new w(t.length);for(let r=0;r>>24]),s=~e.crcKey2.get(),e.keys=[n,r,s]}function Je(e){const t=2|e.keys[2];return $e(a.imul(t,1^t)>>>8)}function $e(e){return 255&e}function et(e){return 4294967295&e}const tt="deflate-raw";class nt extends x{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,signed:c,level:l}=e,u=this;let f,d,w=st(super.readable);i&&!o||!c||(f=new oe,w=ot(w,f)),s&&(w=at(w,a,{level:l,chunkSize:t},r,n)),i&&(o?w=ot(w,new Ke(e)):(d=new Ne(e),w=ot(w,d))),it(u,w,(()=>{let e;i&&!o&&(e=d.signature),i&&!o||!c||(e=new g(f.value.buffer).getUint32(0)),u.signature=e}))}}class rt extends x{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:s,encrypted:i,signed:a,signature:o,compressed:c,useCompressionStream:l}=e;let u,f,w=st(super.readable);i&&(s?w=ot(w,new Ve(e)):(f=new Le(e),w=ot(w,f))),c&&(w=at(w,l,{chunkSize:t},r,n)),i&&!s||!a||(u=new oe,w=ot(w,u)),it(this,w,(()=>{if((!i||s)&&a){const e=new g(u.value.buffer);if(o!=e.getUint32(0,!1))throw new d(ge)}}))}}function st(e){return ot(e,new x({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function it(e,t,r){t=ot(t,new x({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function at(e,t,n,r,s){try{e=ot(e,new(t&&r?r:s)(tt,n))}catch(r){if(!t)return e;try{e=ot(e,new s(tt,n))}catch(t){return e}}return e}function ot(e,t){return e.pipeThrough(t)}const ct="data",lt="close",ut="deflate",ft="inflate";class dt extends x{constructor(e,t){super({});const r=this,{codecType:s}=e;let i;s.startsWith(ut)?i=nt:s.startsWith(ft)&&(i=rt);let a=0,o=0;const c=new i(e,t),l=super.readable,u=new x({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:o})}}),f=new x({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){const{signature:e}=c;n.assign(r,{signature:e,outputSize:a,inputSize:o})}});n.defineProperty(r,"readable",{get:()=>l.pipeThrough(u).pipeThrough(c).pipeThrough(f)})}}class wt extends x{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new w(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}let pt=typeof R!=Z;class ht{constructor(e,{readable:t,writable:r},{options:s,config:i,streamOptions:a,useWebWorkers:o,transferStreams:c,scripts:l},u){const{signal:f}=a;return n.assign(e,{busy:!0,readable:t.pipeThrough(new wt(i.chunkSize)).pipeThrough(new gt(t,a),{signal:f}),writable:r,options:n.assign({},s),scripts:l,transferStreams:c,terminate:()=>new y((t=>{const{worker:n,busy:r}=e;n?(r?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()})),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,u(e)}}),(o&&pt?bt:yt)(e,i)}}class gt extends x{constructor(e,{onstart:t,onprogress:n,size:r,onend:s}){let i=0;super({async start(){t&&await mt(t,r)},async transform(e,t){i+=e.length,n&&await mt(n,i,r),t.enqueue(e)},async flush(){e.size=i,s&&await mt(s,i)}})}}async function mt(e,...t){try{await e(...t)}catch(e){}}function yt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:r},s)=>{try{const r=new dt(e,s);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:a,outputSize:o}=r;return{signature:i,inputSize:a,outputSize:o}}finally{r()}})(e,t)}}function bt(e,t){const{baseURL:r,chunkSize:s}=t;if(!e.interface){let i;try{i=((e,t,r)=>{const s={type:"module"};let i,a;typeof e==X&&(e=e());try{i=new f(e,t)}catch(t){i=e}if(St)try{a=new R(i)}catch(e){St=!1,a=new R(i,s)}else a=new R(i,s);return a.addEventListener("message",(e=>(async({data:e},t)=>{const{type:r,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:l,resolveResult:u,rejectResult:f,onTaskFinished:p}=t;try{if(o){const{message:e,stack:t,code:r,name:s}=o,i=new d(e);n.assign(i,{stack:t,code:r,name:s}),h(i)}else{if("pull"==r){const{value:e,done:n}=await c.read();zt({type:ct,value:e,done:n,messageId:i},t)}r==ct&&(await l.ready,await l.write(new w(s)),zt({type:"ack",messageId:i},t)),r==lt&&h(null,a)}}catch(o){zt({type:lt,messageId:i},t),h(o)}function h(e,t){e?f(e):u(t),l&&l.releaseLock(),p()}})(e,r))),a})(e.scripts[0],r,e)}catch(n){return pt=!1,yt(e,t)}n.assign(e,{worker:i,interface:{run:()=>(async(e,t)=>{let r,s;const i=new y(((e,t)=>{r=e,s=t}));n.assign(e,{reader:null,writer:null,resolveResult:r,rejectResult:s,result:i});const{readable:a,options:o,scripts:c}=e,{writable:l,closed:u}=(e=>{let t;const n=new y((e=>t=e));return{writable:new _({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),f=zt({type:"start",scripts:c.slice(1),options:o,config:t,readable:a,writable:l},e);f||n.assign(e,{reader:a.getReader(),writer:l.getWriter()});const d=await i;return f||await l.getWriter().close(),await u,d})(e,{chunkSize:s})}})}return e.interface}let St=!0,kt=!0;function zt(e,{worker:t,writer:n,onTaskFinished:r,transferStreams:s}){try{let{value:n,readable:r,writable:i}=e;const a=[];if(n&&(n.byteLength{const n=vt.find((e=>!e.busy));if(n)return Ct(n),new ht(n,e,t,h);if(vt.lengthxt.push({resolve:n,stream:e,workerOptions:t})))})()).run();function h(e){if(xt.length){const[{resolve:t,stream:n,workerOptions:r}]=xt.splice(0,1);t(new ht(e,n,r,h))}else e.worker?(Ct(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{vt=vt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),r))})(e,t)):vt=vt.filter((t=>t!=e))}}function Ct(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Ft="HTTP error ",Dt="HTTP Range not supported",Rt="Writer iterator completed too soon",Et="Content-Length",Tt="Range",Wt="HEAD",Ut="GET",jt="bytes",It=65536,Lt="writable";class Nt{constructor(){this.size=0}init(){this.initialized=!0}}class Ot extends Nt{get readable(){const e=this,{chunkSize:t=It}=e,n=new A({start(){this.chunkOffset=0},async pull(r){const{offset:s=0,size:i,diskNumberStart:o}=n,{chunkOffset:c}=this;r.enqueue(await ln(e,s+c,a.min(t,i-c),o)),c+t>i?r.close():this.chunkOffset+=t}});return n}}class qt extends Nt{constructor(){super();const e=this,t=new _({write:t=>e.writeUint8Array(t)});n.defineProperty(e,Lt,{get:()=>t})}writeUint8Array(){}}class Pt extends Ot{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,r=e+t,s=e||rt&&(i=i.slice(e,r)),new w(i)}}class Mt extends Nt{constructor(e){super();const t=new x,r=[];e&&r.push(["Content-Type",e]),n.defineProperty(this,Lt,{get:()=>t.writable}),this.blob=new u(t.readable,{headers:r}).blob()}getData(){return this.blob}}class Gt extends Ot{constructor(e,t){super(),Ht(this,e,t)}async init(){await Vt(this,en,Yt),super.init()}readUint8Array(e,t){return Kt(this,e,t,en,Yt)}}class Bt extends Ot{constructor(e,t){super(),Ht(this,e,t)}async init(){await Vt(this,tn,Qt),super.init()}readUint8Array(e,t){return Kt(this,e,t,tn,Qt)}}function Ht(e,t,r){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.useXHR,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o})}async function Vt(e,t,n){const{url:r,preventHeadRequest:i,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:c}=e;if((e=>{const{baseURL:t}=ee(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n})(r)&&(a||o)&&(void 0===i||i)){const r=await t(Ut,e,Zt(e,c?-22:void 0));if(!o&&r.headers.get("Accept-Ranges")!=jt)throw new d(Dt);{let i;c&&(e.eocdCache=new w(await r.arrayBuffer()));const a=r.headers.get("Content-Range");if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(i=s(t))}}i===K?await $t(e,t,n):e.size=i}}else await $t(e,t,n)}async function Kt(e,t,n,r,s){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:c,options:l}=e;if(i||a){if(o&&t==c-P&&n==P)return o;const s=await r(Ut,e,Zt(e,t,n));if(206!=s.status)throw new d(Dt);return new w(await s.arrayBuffer())}{const{data:r}=e;return r||await s(e,l),new w(e.data.subarray(t,t+n))}}function Zt(e,t=0,r=1){return n.assign({},Xt(e),{[Tt]:jt+"="+(0>t?t:t+"-"+(t+r-1))})}function Xt({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Yt(e){await Jt(e,en)}async function Qt(e){await Jt(e,tn)}async function Jt(e,t){const n=await t(Ut,e,Xt(e));e.data=new w(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function $t(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=(await t(Wt,e,Xt(e))).headers.get(Et);r?e.size=s(r):await n(e,e.options)}}async function en(e,{options:t,url:r},s){const i=await fetch(r,n.assign({},t,{method:e,headers:s}));if(400>i.status)return i;throw 416==i.status?new d(Dt):new d(Ft+(i.statusText||i.status))}function tn(e,{url:t},r){return new y(((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",(()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(n)})),s({status:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new d(Dt):new d(Ft+(a.statusText||a.status)))}),!1),a.addEventListener("error",(e=>i(e.detail?e.detail.error:new d("Network error"))),!1),a.open(e,t),r)for(const e of n.entries(r))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()}))}class nn extends Ot{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new Bt(e,t):new Gt(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class rn extends Ot{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await y.all(t.map((async(n,r)=>{await n.init(),r!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const r=this,{readers:s}=this;let i,o=n;-1==o&&(o=s.length-1);let c=e;for(;c>=s[o].size;)c-=s[o].size,o++;const l=s[o],u=l.size;if(c+t>u){const s=u-c;i=new w(t),i.set(await ln(l,c,s)),i.set(await r.readUint8Array(e+s,t-s,n),s)}else i=await ln(l,c,t);return r.lastDiskNumber=a.max(o,r.lastDiskNumber),i}}class sn extends Nt{constructor(e,t=4294967295){super();const r=this;let s,i,a;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new _({async write(t){const{availableSize:n}=r;if(a)t.lengtho})}}async function an(e,t){if(!e.init||e.initialized)return y.resolve();await e.init(t)}function on(e){return t.isArray(e)&&(e=new rn(e)),e instanceof A&&(e={readable:e}),e}function cn(e){e.writable===K&&typeof e.next==X&&(e=new sn(e)),e instanceof _&&(e={writable:e});const{writable:t}=e;return t.size===K&&(t.size=0),e instanceof sn||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function ln(e,t,n,r){return e.readUint8Array(t,n,r)}const un=rn,fn=sn,dn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),wn=256==dn.length;function pn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{if(wn){let t="";for(let n=0;nthis[t]=e[t]))}}const Wn="File format is not recognized",Un="End of central directory not found",jn="End of Zip64 central directory locator not found",In="Central directory header not found",Ln="Local file header not found",Nn="Zip64 extra field not found",On="File contains encrypted entry",qn="Encryption method not supported",Pn="Compression method not supported",Mn="Split zip file",Gn="utf-8",Bn="cp437",Hn=[[bn,T],[Sn,T],[kn,T],[zn,W]],Vn={[W]:{getValue:rr,bytes:4},[T]:{getValue:sr,bytes:8}};class Kn{constructor(e,t={}){n.assign(this,{reader:on(e),options:t,config:ee()})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;const{config:s}=t;if(await an(r),r.size!==K&&r.readUint8Array||(r=new Pt(await new u(r.readable).blob()),await an(r)),r.size{const r=new w(4);var s;return s=t,ir(r).setUint32(0,s,!0),await i(22)||await i(a.min(1048582,n));async function i(t){const s=n-t,i=await ln(e,s,t);for(let e=i.length-22;e>=0;e--)if(i[e]==r[0]&&i[e+1]==r[1]&&i[e+2]==r[2]&&i[e+3]==r[3])return{offset:s+e,buffer:i.slice(e,e+22).buffer}}})(r,N,r.size);if(!i)throw rr(ir(await ln(r,0,4)))==j?new d(Mn):new d(Un);const o=ir(i);let c=rr(o,12),l=rr(o,16);const f=i.offset,p=nr(o,20),h=f+P+p;let g=nr(o,4);const m=r.lastDiskNumber||0;let y=nr(o,6),b=nr(o,8),S=0,k=0;if(l==T||c==T||b==W||y==W){const e=ir(await ln(r,i.offset-20,20));if(rr(e,0)==q){l=sr(e,8);let t=await ln(r,l,56,-1),n=ir(t);const s=i.offset-20-56;if(rr(n,0)!=O&&l!=s){const e=l;l=s,S=l-e,t=await ln(r,l,56,-1),n=ir(t)}if(rr(n,0)!=O)throw new d(jn);g==W&&(g=rr(n,16)),y==W&&(y=rr(n,20)),b==W&&(b=sr(n,32)),c==T&&(c=sr(n,40)),l-=c}}if(ll)throw new d(Wn);let z=0,v=await ln(r,l,c,y),x=ir(v);if(c){const e=i.offset-c;if(rr(x,z)!=L&&l!=e){const t=l;l=e,S+=l-t,v=await ln(r,l,c,y),x=ir(v)}}const A=i.offset-l-(r.lastDiskOffset||0);if(c==A||0>A||(c=A,v=await ln(r,l,c,y),x=ir(v)),0>l||l>=r.size)throw new d(Wn);const _=Jn(t,e,"filenameEncoding"),C=Jn(t,e,"commentEncoding");for(let i=0;b>i;i++){const o=new Zn(r,s,t.options);if(rr(x,z)!=L)throw new d(In);Xn(o,x,z+6);const c=!!o.bitFlag.languageEncodingFlag,l=z+46,u=l+o.filenameLength,f=u+o.extraFieldLength,w=nr(x,z+4),p=!0,h=v.subarray(l,u),g=nr(x,z+32),m=f+g,y=v.subarray(f,m),A=c,F=c,D=p&&!(16&~tr(x,z+38)),R=rr(x,z+42)+S;n.assign(o,{versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:g,directory:D,offset:R,diskNumberStart:nr(x,z+34),internalFileAttribute:nr(x,z+36),externalFileAttribute:rr(x,z+38),rawFilename:h,filenameUTF8:A,commentUTF8:F,rawExtraField:v.subarray(u,f)});const E=Jn(t,e,"decodeText")||pn,T=A?Gn:_||Bn,W=F?Gn:C||Bn;let U=E(h,T);U===K&&(U=pn(h,T));let j=E(y,W);j===K&&(j=pn(y,W)),n.assign(o,{rawComment:y,filename:U,comment:j,directory:D||U.endsWith(B)}),k=a.max(R,k),await Yn(o,o,x,z+6);const I=new Tn(o);I.getData=(e,t)=>o.getData(e,I,t),z=m;const{onprogress:N}=e;if(N)try{await N(i+1,b,new Tn(o))}catch(e){}yield I}const F=Jn(t,e,"extractPrependedData"),D=Jn(t,e,"extractAppendedData");return F&&(t.prependedData=k>0?await ln(r,0,k):new w),t.comment=p?await ln(r,f+P,p):new w,D&&(t.appendedData=h>>8&255:p>>>24&255),signature:p,compressed:0!=l,encrypted:z,useWebWorkers:Jn(s,r,"useWebWorkers"),useCompressionStream:Jn(s,r,"useCompressionStream"),transferStreams:Jn(s,r,"transferStreams"),checkPasswordOnly:D},config:u,streamOptions:{signal:F,size:A,onstart:E,onprogress:T,onend:W}};let I=0;try{({outputSize:I}=await _t({readable:C,writable:R},j))}catch(e){if(!D||e.message!=me)throw e}finally{const e=Jn(s,r,"preventClose");R.size+=I,e||R.locked||await R.getWriter().close()}return D?K:e.getData?e.getData():R}}function Xn(e,t,r){const s=e.rawBitFlag=nr(t,r+2),i=!(1&~s),a=rr(t,r+6);n.assign(e,{encrypted:i,version:nr(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&G)==G},rawLastModDate:a,lastModDate:$n(a),filenameLength:nr(t,r+22),extraFieldLength:nr(t,r+24)})}async function Yn(e,t,r,s,i){const{rawExtraField:a}=t,l=t.extraField=new c,u=ir(new w(a));let f=0;try{for(;f{t.zip64=!0;const n=ir(e.data),r=Hn.filter((([e,n])=>t[e]==n));for(let s=0,i=0;s{const s=ir(e.data),i=tr(s,4);n.assign(e,{vendorVersion:tr(s,0),vendorId:tr(s,2),strength:i,originalCompressionMethod:r,compressionMethod:nr(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,p),t.extraFieldAES=y):t.compressionMethod=p;const b=l.get(10);b&&(((e,t)=>{const r=ir(e.data);let s,i=4;try{for(;i{const r=ir(e.data),s=tr(r,0),i=[],a=[];n?(1&~s||(i.push(vn),a.push(xn)),2&~s||(i.push(An),a.push("rawLastAccessDate")),4&~s||(i.push(_n),a.push("rawCreationDate"))):5>e.data.length||(i.push(vn),a.push(xn));let c=1;i.forEach(((n,s)=>{if(e.data.length>=c+4){const i=rr(r,c);t[n]=e[n]=new o(1e3*i);const l=a[s];e[l]=i}c+=4}))})(S,t,i),t.extraFieldExtendedTimestamp=S);const k=l.get(6534);k&&(t.extraFieldUSDZ=k)}async function Qn(e,t,r,s,i){const a=ir(e.data),o=new ae;o.append(i[r]);const c=ir(new w(4));c.setUint32(0,o.get(),!0);const l=rr(a,1);n.assign(e,{version:tr(a,0),[t]:pn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&l==rr(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Jn(e,t,n){return t[n]===K?e.options[n]:t[n]}function $n(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function er(e){return new o(s(e/i(1e4)-i(116444736e5)))}function tr(e,t){return e.getUint8(t)}function nr(e,t){return e.getUint16(t,!0)}function rr(e,t){return e.getUint32(t,!0)}function sr(e,t){return s(e.getBigUint64(t,!0))}function ir(e){return new g(e.buffer)}const ar="File already exists",or="Zip file comment exceeds 64KB",cr="File entry comment exceeds 64KB",lr="File entry name exceeds 64KB",ur="Version exceeds 65535",fr="The strength must equal 1, 2, or 3",dr="Extra field type exceeds 65535",wr="Extra field data exceeds 64KB",pr="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",hr=new w([7,0,2,0,65,69,3,0,0]);let gr=0;const mr=[];class yr{constructor(e,t={}){const r=(e=cn(e)).availableSize!==K&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==K&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:r,options:t,config:ee(),files:new c,filenames:new l,offset:e.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new l,bufferedWrites:0})}async add(e="",r,s={}){const c=this,{pendingAddFileCalls:l,config:f}=c;let m;grmr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new d(ar);return c.filenames.add(e),m=(async(e,r,s,c)=>{r=r.trim(),c.directory&&!r.endsWith(B)?r+=B:c.directory=r.endsWith(B);const l=kr(e,c,"encodeText",ce);let f=l(r);if(f===K&&(f=ce(r)),Fr(f)>W)throw new d(lr);const m=c.comment||"";let b=l(m);if(b===K&&(b=ce(m)),Fr(b)>W)throw new d(cr);const S=kr(e,c,"version",20);if(S>W)throw new d(ur);const k=kr(e,c,"versionMadeBy",20);if(k>W)throw new d(ur);const z=kr(e,c,vn,new o),v=kr(e,c,An),A=kr(e,c,_n),_=kr(e,c,Dn,!0),C=kr(e,c,Cn,0),F=kr(e,c,Fn,0),D=kr(e,c,"password"),R=kr(e,c,"rawPassword"),E=kr(e,c,"encryptionStrength",3),L=kr(e,c,"zipCrypto"),N=kr(e,c,"extendedTimestamp",!0),O=kr(e,c,"keepOrder",!0),q=kr(e,c,"level"),P=kr(e,c,"useWebWorkers"),Z=kr(e,c,"bufferedWrite"),X=kr(e,c,"dataDescriptorSignature",!1),Y=kr(e,c,"signal"),Q=kr(e,c,"useCompressionStream");let J=kr(e,c,"dataDescriptor",!0),$=kr(e,c,Rn);if(D!==K&&E!==K&&(1>E||E>3))throw new d(fr);let ee=new w;const{extraField:ne}=c;if(ne){let e=0,t=0;ne.forEach((t=>e+=4+Fr(t))),ee=new w(e),ne.forEach(((e,n)=>{if(n>W)throw new d(dr);if(Fr(e)>W)throw new d(wr);_r(ee,new p([n]),t),_r(ee,new p([Fr(e)]),t+2),_r(ee,e,t+4),t+=4+Fr(e)}))}let re=0,se=0,ie=0;const ae=!0===$;s&&(s=on(s),await an(s),s.size===K?(J=!0,($||$===K)&&($=!0,ie=re=4294967296)):(ie=s.size,re=(e=>e+5*(a.floor(e/16383)+1))(ie)));const{diskOffset:oe,diskNumber:le,maxSize:ue}=e.writer,fe=ae||ie>T,de=ae||re>T,we=ae||e.offset+e.pendingEntriesSize-oe>T,pe=kr(e,c,"supportZip64SplitFile",!0)&&ae||le+a.ceil(e.pendingEntriesSize/ue)>W;if(we||fe||de||pe){if(!1===$||!O)throw new d(pr);$=!0}$=$||!1;const he=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,rawPassword:i,password:o,level:c,zip64:l,zipCrypto:u,dataDescriptor:f,directory:d,rawExtraField:p,encryptionStrength:g,extendedTimestamp:m}=e,y=0!==c&&!d,b=!!(o&&Fr(o)||i&&Fr(i));let S,k,z,v,x=e.version;if(b&&!u){S=new w(Fr(hr)+2);const e=Cr(S);vr(e,0,39169),_r(S,hr,2),zr(e,8,g)}else S=new w;if(m){z=new w(9+(r?4:0)+(s?4:0));const e=Cr(z);vr(e,0,M),vr(e,2,Fr(z)-4),v=1+(r?2:0)+(s?4:0),zr(e,4,v);let t=5;xr(e,t,a.floor(n.getTime()/1e3)),t+=4,r&&(xr(e,t,a.floor(r.getTime()/1e3)),t+=4),s&&xr(e,t,a.floor(s.getTime()/1e3));try{k=new w(36);const e=Cr(k),t=Sr(n);vr(e,0,10),vr(e,2,32),vr(e,8,1),vr(e,10,24),Ar(e,12,t),Ar(e,20,Sr(r)||t),Ar(e,28,Sr(s)||t)}catch(e){k=new w}}else k=z=new w;let A=G;f&&(A|=8);let _=0;y&&(_=8),l&&(x=x>45?x:45),b&&(A|=1,u||(x=x>51?x:51,_=99,y&&(S[9]=8)));const C=new w(26),F=Cr(C);vr(F,0,x),vr(F,2,A),vr(F,4,_);const D=new h(1),R=Cr(D);let E;E=V>n?V:n>H?H:n,vr(R,0,(E.getHours()<<6|E.getMinutes())<<5|E.getSeconds()/2),vr(R,2,(E.getFullYear()-1980<<4|E.getMonth()+1)<<5|E.getDate());const T=D[0];xr(F,6,T),vr(F,22,Fr(t));const W=Fr(S,z,k,p);vr(F,24,W);const j=new w(30+Fr(t)+W);return xr(Cr(j),0,U),_r(j,C,4),_r(j,t,30),_r(j,S,30+Fr(t)),_r(j,z,30+Fr(t,S)),_r(j,k,30+Fr(t,S,z)),_r(j,p,30+Fr(t,S,z,k)),{localHeaderArray:j,headerArray:C,headerView:F,lastModDate:n,rawLastModDate:T,encrypted:b,compressed:y,version:x,compressionMethod:_,extraFieldExtendedTimestampFlag:v,rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:k,rawExtraFieldAES:S,extraFieldLength:W}})(c=n.assign({},c,{rawFilename:f,rawComment:b,version:S,versionMadeBy:k,lastModDate:z,lastAccessDate:v,creationDate:A,rawExtraField:ee,zip64:$,zip64UncompressedSize:fe,zip64CompressedSize:de,zip64Offset:we,zip64DiskNumberStart:pe,password:D,rawPassword:R,level:Q||e.config.CompressionStream!==K||e.config.CompressionStreamNative!==K?q:0,useWebWorkers:P,encryptionStrength:E,extendedTimestamp:N,zipCrypto:L,bufferedWrite:Z,keepOrder:O,dataDescriptor:J,dataDescriptorSignature:X,signal:Y,msDosCompatible:_,internalFileAttribute:C,externalFileAttribute:F,useCompressionStream:Q})),ge=(e=>{const{zip64:t,dataDescriptor:n,dataDescriptorSignature:r}=e;let s,i=new w,a=0;return n&&(i=new w(t?r?24:20:r?16:12),s=Cr(i),r&&(a=4,xr(s,0,I))),{dataDescriptorArray:i,dataDescriptorView:s,dataDescriptorOffset:a}})(c),me=Fr(he.localHeaderArray,ge.dataDescriptorArray);let ye;se=me+re,e.options.usdz&&(se+=se+64),e.pendingEntriesSize+=se;try{ye=await(async(e,r,s,a,o)=>{const{files:c,writer:l}=e,{keepOrder:f,dataDescriptor:p,signal:h}=o,{headerInfo:m}=a,{usdz:b}=e.options,S=t.from(c.values()).pop();let k,z,v,A,_,C,F,D={};c.set(r,D);try{let t;f&&(t=S&&S.lock,D.lock=new y((e=>v=e))),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&f)&&p||b?(C=l,await R()):(C=new x,F=new u(C.readable).blob(),C.writable.size=0,k=!0,e.bufferedWrites++,await an(l)),await an(C);const{writable:m}=l;let{diskOffset:z}=l;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new w(4);xr(Cr(t),0,j),await br(m,t),e.offset+=4}b&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:r,extraFieldLength:s}=n,i=Cr(r),a=64-(t+Fr(r))%64;4>a&&(a+=64);const o=new w(a),c=Cr(o);vr(c,0,6534),vr(c,2,a-2);const l=r;n.localHeaderArray=r=new w(Fr(l)+a),_r(r,l),_r(r,o,Fr(l)),i=Cr(r),vr(i,28,s+a),e.metadataSize+=a})(a,e.offset-z),k||(await t,await E(m));const{diskNumber:W}=l;if(_=!0,D.diskNumberStart=W,D=await(async(e,t,{diskNumberStart:r,lock:s},a,o,c)=>{const{headerInfo:l,dataDescriptorInfo:u,metadataSize:f}=a,{localHeaderArray:d,headerArray:p,lastModDate:h,rawLastModDate:g,encrypted:m,compressed:y,version:b,compressionMethod:S,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:z,rawExtraFieldNTFS:v,rawExtraFieldAES:x}=l,{dataDescriptorArray:A}=u,{rawFilename:_,lastAccessDate:C,creationDate:F,password:D,rawPassword:R,level:E,zip64:W,zip64UncompressedSize:U,zip64CompressedSize:j,zip64Offset:I,zip64DiskNumberStart:L,zipCrypto:N,dataDescriptor:O,directory:q,versionMadeBy:P,rawComment:M,rawExtraField:G,useWebWorkers:B,onstart:H,onprogress:V,onend:Z,signal:X,encryptionStrength:Y,extendedTimestamp:Q,msDosCompatible:J,internalFileAttribute:$,externalFileAttribute:ee,useCompressionStream:ne}=c,re={lock:s,versionMadeBy:P,zip64:W,directory:!!q,filenameUTF8:!0,rawFilename:_,commentUTF8:!0,rawComment:M,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:v,rawExtraFieldAES:x,rawExtraField:G,extendedTimestamp:Q,msDosCompatible:J,internalFileAttribute:$,externalFileAttribute:ee,diskNumberStart:r};let se,ie=0,ae=0;const{writable:oe}=t;if(e){e.chunkSize=te(o),await br(oe,d);const t=e.readable,n=t.size=e.size,r={options:{codecType:ut,level:E,rawPassword:R,password:D,encryptionStrength:Y,zipCrypto:m&&N,passwordVerification:m&&N&&g>>8&255,signed:!0,compressed:y,encrypted:m,useWebWorkers:B,useCompressionStream:ne,transferStreams:!1},config:o,streamOptions:{signal:X,size:n,onstart:H,onprogress:V,onend:Z}},s=await _t({readable:t,writable:oe},r);ae=s.inputSize,ie=s.outputSize,se=s.signature,oe.size+=ae}else await br(oe,d);let ce;if(W){let e=4;U&&(e+=8),j&&(e+=8),I&&(e+=8),L&&(e+=4),ce=new w(e)}else ce=new w;return((e,t)=>{const{signature:n,rawExtraFieldZip64:r,compressedSize:s,uncompressedSize:a,headerInfo:o,dataDescriptorInfo:c}=e,{headerView:l,encrypted:u}=o,{dataDescriptorView:f,dataDescriptorOffset:d}=c,{zip64:w,zip64UncompressedSize:p,zip64CompressedSize:h,zipCrypto:g,dataDescriptor:m}=t;if(u&&!g||n===K||(xr(l,10,n),m&&xr(f,d,n)),w){const e=Cr(r);vr(e,0,1),vr(e,2,Fr(r)-4);let t=4;p&&(xr(l,18,T),Ar(e,t,i(a)),t+=8),h&&(xr(l,14,T),Ar(e,t,i(s))),m&&(Ar(f,d+4,i(s)),Ar(f,d+12,i(a)))}else xr(l,14,s),xr(l,18,a),m&&(xr(f,d+4,s),xr(f,d+8,a))})({signature:se,rawExtraFieldZip64:ce,compressedSize:ie,uncompressedSize:ae,headerInfo:l,dataDescriptorInfo:u},c),O&&await br(oe,A),n.assign(re,{uncompressedSize:ae,compressedSize:ie,lastModDate:h,rawLastModDate:g,creationDate:F,lastAccessDate:C,encrypted:m,size:f+ie,compressionMethod:S,version:b,headerArray:p,signature:se,rawExtraFieldZip64:ce,extraFieldExtendedTimestampFlag:z,zip64UncompressedSize:U,zip64CompressedSize:j,zip64Offset:I,zip64DiskNumberStart:L}),re})(s,C,D,a,e.config,o),_=!1,c.set(r,D),D.filename=r,k){await C.writable.getWriter().close();let e=await F;await t,await R(),A=!0,p||(e=await(async(e,t,n,{zipCrypto:r})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const i=new g(s);return e.encrypted&&!r||xr(i,14,e.signature),e.zip64?(xr(i,18,T),xr(i,22,T)):(xr(i,18,e.compressedSize),xr(i,22,e.uncompressedSize)),await br(n,new w(s)),t.slice(s.byteLength)})(D,e,m,o)),await E(m),D.diskNumberStart=l.diskNumber,z=l.diskOffset,await e.stream().pipeTo(m,{preventClose:!0,preventAbort:!0,signal:h}),m.size+=e.size,A=!1}if(D.offset=e.offset-z,D.zip64)((e,t)=>{const{rawExtraFieldZip64:n,offset:r,diskNumberStart:s}=e,{zip64UncompressedSize:a,zip64CompressedSize:o,zip64Offset:c,zip64DiskNumberStart:l}=t,u=Cr(n);let f=4;a&&(f+=8),o&&(f+=8),c&&(Ar(u,f,i(r)),f+=8),l&&xr(u,f,s)})(D,o);else if(D.offset>T)throw new d(pr);return e.offset+=D.size,D}catch(t){if(k&&A||!k&&_){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}k?e.offset+=C.writable.size:e.offset=C.writable.size}throw c.delete(r),t}finally{k&&e.bufferedWrites--,v&&v(),z&&z()}async function R(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new y((t=>z=()=>{e.writerLocked=!1,t()})),await t}async function E(e){Fr(m.localHeaderArray)>l.availableSize&&(l.availableSize=0,await br(e,new w))}})(e,r,s,{headerInfo:he,dataDescriptorInfo:ge,metadataSize:me},c)}finally{e.pendingEntriesSize-=se}return n.assign(ye,{name:r,comment:m,extraField:ne}),new Tn(ye)})(c,e,r,s),l.add(m),await m}catch(t){throw c.filenames.delete(e),t}finally{l.delete(m);const e=mr.shift();e?e():gr--}}async close(e=new w,n={}){const{pendingAddFileCalls:r,writer:s}=this,{writable:o}=s;for(;r.size;)await y.allSettled(t.from(r));return await(async(e,n,r)=>{const{files:s,writer:o}=e,{diskOffset:c,writable:l}=o;let{diskNumber:u}=o,f=0,p=0,h=e.offset-c,g=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawComment:s,rawExtraFieldNTFS:i,rawExtraField:o,extendedTimestamp:c,extraFieldExtendedTimestampFlag:l,lastModDate:u}=e;let f;if(c){f=new w(9);const e=Cr(f);vr(e,0,M),vr(e,2,5),zr(e,4,l),xr(e,5,a.floor(u.getTime()/1e3))}else f=new w;e.rawExtraFieldCDExtendedTimestamp=f,p+=46+Fr(t,s,n,r,i,f,o)}const m=new w(p),y=Cr(m);await an(o);let b=0;for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:i,rawExtraFieldZip64:a,rawExtraFieldAES:c,rawExtraFieldCDExtendedTimestamp:u,rawExtraFieldNTFS:d,rawExtraField:w,rawComment:p,versionMadeBy:h,headerArray:g,directory:S,zip64:k,zip64UncompressedSize:z,zip64CompressedSize:v,zip64DiskNumberStart:x,zip64Offset:A,msDosCompatible:_,internalFileAttribute:C,externalFileAttribute:F,diskNumberStart:D,uncompressedSize:R,compressedSize:E}=n,U=Fr(a,c,u,d,w);xr(y,f,L),vr(y,f+4,h);const j=Cr(g);z||xr(j,18,R),v||xr(j,14,E),_r(m,g,f+6),vr(y,f+30,U),vr(y,f+32,Fr(p)),vr(y,f+34,k&&x?W:D),vr(y,f+36,C),F?xr(y,f+38,F):S&&_&&zr(y,f+38,16),xr(y,f+42,k&&A?T:t),_r(m,i,f+46),_r(m,a,f+46+Fr(i)),_r(m,c,f+46+Fr(i,a)),_r(m,u,f+46+Fr(i,a,c)),_r(m,d,f+46+Fr(i,a,c,u)),_r(m,w,f+46+Fr(i,a,c,u,d)),_r(m,p,f+46+Fr(i)+U);const I=46+Fr(i,p)+U;if(f-b>o.availableSize&&(o.availableSize=0,await br(l,m.slice(b,f)),b=f),f+=I,r.onprogress)try{await r.onprogress(e+1,s.size,new Tn(n))}catch(e){}}await br(l,b?m.slice(b):m);let S=o.diskNumber;const{availableSize:k}=o;P>k&&S++;let z=kr(e,r,"zip64");if(h>T||p>T||g>W||S>W){if(!1===z)throw new d(pr);z=!0}const v=new w(z?98:P),x=Cr(v);f=0,z&&(xr(x,0,O),Ar(x,4,i(44)),vr(x,12,45),vr(x,14,45),xr(x,16,S),xr(x,20,u),Ar(x,24,i(g)),Ar(x,32,i(g)),Ar(x,40,i(p)),Ar(x,48,i(h)),xr(x,56,q),Ar(x,64,i(h)+i(p)),xr(x,72,S+1),kr(e,r,"supportZip64SplitFile",!0)&&(S=W,u=W),g=W,h=T,p=T,f+=76),xr(x,f,N),vr(x,f+4,S),vr(x,f+6,u),vr(x,f+8,g),vr(x,f+10,g),xr(x,f+12,p),xr(x,f+16,h);const A=Fr(n);if(A){if(A>W)throw new d(or);vr(x,f+20,A)}await br(l,v),A&&await br(l,n)})(this,e,n),kr(this,n,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function br(e,t){const n=e.getWriter();try{await n.ready,e.size+=Fr(t),await n.write(t)}finally{n.releaseLock()}}function Sr(e){if(e)return(i(e.getTime())+i(116444736e5))*i(1e4)}function kr(e,t,n,r){const s=t[n]===K?e.options[n]:t[n];return s===K?r:s}function zr(e,t,n){e.setUint8(t,n)}function vr(e,t,n){e.setUint16(t,n,!0)}function xr(e,t,n){e.setUint32(t,n,!0)}function Ar(e,t,n){e.setBigUint64(t,n,!0)}function _r(e,t,n){e.set(t,n)}function Cr(e){return new g(e.buffer)}function Fr(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}let Dr;try{Dr=void 0===k&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===k?location.href:E&&E.src||new f("zip.min.js",k.baseURI).href}catch(e){}ne({baseURL:Dr}),(e=>{const t=()=>f.createObjectURL(new m(['const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:i,Uint16Array:o,Uint32Array:c,Int32Array:f,Map:a,DataView:l,Promise:u,TextEncoder:w,crypto:h,postMessage:d,TransformStream:p,ReadableStream:y,WritableStream:m,CompressionStream:b,DecompressionStream:g}=self,k=void 0,v="undefined",S="function";class z{constructor(e){return class extends p{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const C=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;C[e]=t}class x{constructor(e){this.t=e||-1}append(e){let t=0|this.t;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^C[255&(t^e[n])];this.t=t}get(){return~this.t}}class A extends p{constructor(){let e;const t=new x;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new i(4);new l(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const _={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=_.i(n);return 32===r?e.concat(t):_.o(t,r,0|n,e.slice(0,e.length-1))},l(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+_.i(n)},u(e,t){if(32*e.length0&&t&&(e[n-1]=_.h(t,e[n-1]&2147483648>>t-1,1)),e},h:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,i:e=>r.round(e/1099511627776)||32,o(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,i=_.i(s);return r.push(_.h(t+i&31,t+i>32?n:r.pop(),1)),r}},I={p:{m(e){const t=_.l(e)/8,n=new i(t);let r;for(let s=0;t>s;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},k(e){const t=[];let n,r=0;for(n=0;n9007199254740991)throw new s("Cannot hash more than 2^53 - 1 bits");const o=new c(n);let f=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);i>=e;e+=t.blockSize)t.P(o.subarray(16*f,16*(f+1))),f+=1;return n.splice(0,16*f),t}D(){const e=this;let t=e.A;const n=e.C;t=_.concat(t,[_.h(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e._/4294967296)),t.push(0|e._);t.length;)e.P(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}R(e,t){return t<>>32-e}P(t){const n=this,s=n.C,i=e(80);for(let e=0;16>e;e++)i[e]=t[e];let o=s[0],c=s[1],f=s[2],a=s[3],l=s[4];for(let e=0;79>=e;e++){16>e||(i[e]=n.R(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=n.R(5,o)+n.V(e,c,f,a)+l+i[e]+n.S[r.floor(e/20)]|0;l=a,a=f,f=n.R(30,c),c=o,o=t}s[0]=s[0]+o|0,s[1]=s[1]+c|0,s[2]=s[2]+f|0,s[3]=s[3]+a|0,s[4]=s[4]+l|0}},D={getRandomValues(e){const t=new c(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,i=0;inew V.B(I.p.k(e)),M(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s("invalid params to pbkdf2");const i=1+(r>>5)<<2;let o,c,f,a,u;const w=new ArrayBuffer(i),h=new l(w);let d=0;const p=_;for(t=I.p.k(t),u=1;(i||1)>d;u++){for(o=c=e.encrypt(p.concat(t,[u])),f=1;n>f;f++)for(c=e.encrypt(c),a=0;ad&&fs&&(e=(new n).update(e).D());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.K[0].update(r[0]),t.K[1].update(r[1]),t.N=new n(t.K[0])}reset(){const e=this;e.N=new e.U(e.K[0]),e.O=!1}update(e){this.O=!0,this.N.update(e)}digest(){const e=this,t=e.N.D(),n=new e.U(e.K[1]).update(t).D();return e.reset(),n}encrypt(e){if(this.O)throw new s("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},R=typeof h!=v&&typeof h.getRandomValues==S,B="Invalid password",E="Invalid signature",M="zipjs-abort-check-password";function U(e){return R?h.getRandomValues(e):D.getRandomValues(e)}const K=16,N={name:"PBKDF2"},O=t.assign({hash:{name:"HMAC"}},N),T=t.assign({iterations:1e3,hash:{name:"SHA-1"}},N),W=["deriveBits"],j=[8,12,16],H=[16,24,32],L=10,F=[0,0,0,0],q=typeof h!=v,G=q&&h.subtle,J=q&&typeof G!=v,Q=I.p,X=class{constructor(e){const t=this;t.T=[[[],[],[],[],[]],[[],[],[],[],[]]],t.T[0][0][0]||t.W();const n=t.T[0][4],r=t.T[1],i=e.length;let o,c,f,a=1;if(4!==i&&6!==i&&8!==i)throw new s("invalid aes key size");for(t.S=[c=e.slice(0),f=[]],o=i;4*i+28>o;o++){let e=c[o-1];(o%i==0||8===i&&o%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],o%i==0&&(e=e<<8^e>>>24^a<<24,a=a<<1^283*(a>>7))),c[o]=c[o-i]^e}for(let e=0;o;e++,o--){const t=c[3&e?o:o-4];f[e]=4>=o||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.j(e,0)}decrypt(e){return this.j(e,1)}W(){const e=this.T[0],t=this.T[1],n=e[4],r=t[4],s=[],i=[];let o,c,f,a;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=o=0;!n[l];l^=c||1,o=i[o]||1){let i=o^o<<1^o<<2^o<<3^o<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,a=s[f=s[c=s[l]]];let u=16843009*a^65537*f^257*c^16843008*l,w=257*s[i]^16843008*i;for(let n=0;4>n;n++)e[n][l]=w=w<<24^w>>>8,t[n][i]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}j(e,t){if(4!==e.length)throw new s("invalid aes block size");const n=this.S[t],r=n.length/4-2,i=[0,0,0,0],o=this.T[t],c=o[0],f=o[1],a=o[2],l=o[3],u=o[4];let w,h,d,p=e[0]^n[0],y=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;r>e;e++)w=c[p>>>24]^f[y>>16&255]^a[m>>8&255]^l[255&b]^n[g],h=c[y>>>24]^f[m>>16&255]^a[b>>8&255]^l[255&p]^n[g+1],d=c[m>>>24]^f[b>>16&255]^a[p>>8&255]^l[255&y]^n[g+2],b=c[b>>>24]^f[p>>16&255]^a[y>>8&255]^l[255&m]^n[g+3],g+=4,p=w,y=h,m=d;for(let e=0;4>e;e++)i[t?3&-e:e]=u[p>>>24]<<24^u[y>>16&255]<<16^u[m>>8&255]<<8^u[255&b]^n[g++],w=p,p=y,y=m,m=b,b=w;return i}},Y=class{constructor(e,t){this.H=e,this.L=t,this.F=t}reset(){this.F=this.L}update(e){return this.q(this.H,e,this.F)}G(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}J(e){0===(e[0]=this.G(e[0]))&&(e[1]=this.G(e[1]))}q(e,t,n){let r;if(!(r=t.length))return[];const s=_.l(t);for(let s=0;r>s;s+=4){this.J(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return _.u(t,s)}},Z=V.B;let $=q&&J&&typeof G.importKey==S,ee=q&&J&&typeof G.deriveBits==S;class te extends p{constructor({password:e,rawPassword:n,signed:r,encryptionStrength:o,checkPasswordOnly:c}){super({start(){t.assign(this,{ready:new u((e=>this.X=e)),password:ie(e,n),signed:r,Y:o-1,pending:new i})},async transform(e,t){const n=this,{password:r,Y:o,X:f,ready:a}=n;r?(await(async(e,t,n,r)=>{const i=await se(e,t,n,ce(r,0,j[t])),o=ce(r,j[t]);if(i[0]!=o[0]||i[1]!=o[1])throw new s(B)})(n,o,r,ce(e,0,j[o]+2)),e=ce(e,j[o]+2),c?t.error(new s(M)):f()):await a;const l=new i(e.length-L-(e.length-L)%K);t.enqueue(re(n,e,l,0,L,!0))},async flush(e){const{signed:t,Z:n,$:r,pending:o,ready:c}=this;if(r&&n){await c;const f=ce(o,0,o.length-L),a=ce(o,o.length-L);let l=new i;if(f.length){const e=ae(Q,f);r.update(e);const t=n.update(e);l=fe(Q,t)}if(t){const e=ce(fe(Q,r.digest()),0,L);for(let t=0;L>t;t++)if(e[t]!=a[t])throw new s(E)}e.enqueue(l)}}})}}class ne extends p{constructor({password:e,rawPassword:n,encryptionStrength:r}){let s;super({start(){t.assign(this,{ready:new u((e=>this.X=e)),password:ie(e,n),Y:r-1,pending:new i})},async transform(e,t){const n=this,{password:r,Y:s,X:o,ready:c}=n;let f=new i;r?(f=await(async(e,t,n)=>{const r=U(new i(j[t]));return oe(r,await se(e,t,n,r))})(n,s,r),o()):await c;const a=new i(f.length+e.length-e.length%K);a.set(f,0),t.enqueue(re(n,e,a,f.length,0))},async flush(e){const{Z:t,$:n,pending:r,ready:o}=this;if(n&&t){await o;let c=new i;if(r.length){const e=t.update(ae(Q,r));n.update(e),c=fe(Q,e)}s.signature=fe(Q,n.digest()).slice(0,L),e.enqueue(oe(c,s.signature))}}}),s=this}}function re(e,t,n,r,s,o){const{Z:c,$:f,pending:a}=e,l=t.length-s;let u;for(a.length&&(t=oe(a,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new i(t)).set(n,0)}return e})(n,l-l%K)),u=0;l-K>=u;u+=K){const e=ae(Q,ce(t,u,u+K));o&&f.update(e);const s=c.update(e);o||f.update(s),n.set(fe(Q,s),u+r)}return e.pending=ce(t,u),n}async function se(n,r,s,o){n.password=null;const c=await(async(e,t,n,r,s)=>{if(!$)return V.importKey(t);try{return await G.importKey("raw",t,n,!1,s)}catch(e){return $=!1,V.importKey(t)}})(0,s,O,0,W),f=await(async(e,t,n)=>{if(!ee)return V.M(t,e.salt,T.iterations,n);try{return await G.deriveBits(e,t,n)}catch(r){return ee=!1,V.M(t,e.salt,T.iterations,n)}})(t.assign({salt:o},T),c,8*(2*H[r]+2)),a=new i(f),l=ae(Q,ce(a,0,H[r])),u=ae(Q,ce(a,H[r],2*H[r])),w=ce(a,2*H[r]);return t.assign(n,{keys:{key:l,ee:u,passwordVerification:w},Z:new Y(new X(l),e.from(F)),$:new Z(u)}),w}function ie(e,t){return t===k?(e=>{if(typeof w==v){const t=new i((e=unescape(encodeURIComponent(e))).length);for(let n=0;n>>24]),i=~e.ne.get(),e.keys=[n,s,i]}function ye(e){const t=2|e.keys[2];return me(r.imul(t,1^t)>>>8)}function me(e){return 255&e}function be(e){return 4294967295&e}const ge="deflate-raw";class ke extends p{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:o,zipCrypto:c,signed:f,level:a}=e,u=this;let w,h,d=Se(super.readable);i&&!c||!f||(w=new A,d=xe(d,w)),s&&(d=Ce(d,o,{level:a,chunkSize:t},r,n)),i&&(c?d=xe(d,new ue(e)):(h=new ne(e),d=xe(d,h))),ze(u,d,(()=>{let e;i&&!c&&(e=h.signature),i&&!c||!f||(e=new l(w.value.buffer).getUint32(0)),u.signature=e}))}}class ve extends p{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:o,signed:c,signature:f,compressed:a,useCompressionStream:u}=e;let w,h,d=Se(super.readable);o&&(i?d=xe(d,new le(e)):(h=new te(e),d=xe(d,h))),a&&(d=Ce(d,u,{chunkSize:t},r,n)),o&&!i||!c||(w=new A,d=xe(d,w)),ze(this,d,(()=>{if((!o||i)&&c){const e=new l(w.value.buffer);if(f!=e.getUint32(0,!1))throw new s(E)}}))}}function Se(e){return xe(e,new p({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ze(e,n,r){n=xe(n,new p({flush:r})),t.defineProperty(e,"readable",{get:()=>n})}function Ce(e,t,n,r,s){try{e=xe(e,new(t&&r?r:s)(ge,n))}catch(r){if(!t)return e;try{e=xe(e,new s(ge,n))}catch(t){return e}}return e}function xe(e,t){return e.pipeThrough(t)}const Ae="data",_e="close";class Ie extends p{constructor(e,n){super({});const r=this,{codecType:s}=e;let i;s.startsWith("deflate")?i=ke:s.startsWith("inflate")&&(i=ve);let o=0,c=0;const f=new i(e,n),a=super.readable,l=new p({transform(e,t){e&&e.length&&(c+=e.length,t.enqueue(e))},flush(){t.assign(r,{inputSize:c})}}),u=new p({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){const{signature:e}=f;t.assign(r,{signature:e,outputSize:o,inputSize:c})}});t.defineProperty(r,"readable",{get:()=>a.pipeThrough(l).pipeThrough(f).pipeThrough(u)})}}class Pe extends p{constructor(e){let t;super({transform:function n(r,s){if(t){const e=new i(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}r.length>e?(s.enqueue(r.slice(0,e)),n(r.slice(e),s)):t=r},flush(e){t&&t.length&&e.enqueue(t)}})}}const De=new a,Ve=new a;let Re,Be=0,Ee=!0;async function Me(e){try{const{options:t,scripts:r,config:s}=e;if(r&&r.length)try{Ee?importScripts.apply(k,r):await Ue(r)}catch(e){Ee=!1,await Ue(r)}self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new z(self.Deflate)),self.Inflate&&(s.DecompressionStream=new z(self.Inflate));const i={highWaterMark:1},o=e.readable||new y({async pull(e){const t=new u((e=>De.set(Be,e)));Ke({type:"pull",messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},i),c=e.writable||new m({async write(e){let t;const r=new u((e=>t=e));Ve.set(Be,t),Ke({type:Ae,value:e,messageId:Be}),Be=(Be+1)%n.MAX_SAFE_INTEGER,await r}},i),f=new Ie(t,s);Re=new AbortController;const{signal:a}=Re;await o.pipeThrough(f).pipeThrough(new Pe(s.chunkSize)).pipeTo(c,{signal:a,preventClose:!0,preventAbort:!0}),await c.getWriter().close();const{signature:l,inputSize:w,outputSize:h}=f;Ke({type:_e,result:{signature:l,inputSize:w,outputSize:h}})}catch(e){Ne(e)}}async function Ue(e){for(const t of e)await import(t)}function Ke(e){let{value:t}=e;if(t)if(t.length)try{t=new i(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Ne(e=new s("Unknown error")){const{message:t,stack:n,code:r,name:i}=e;d({error:{message:t,stack:n,code:r,name:i}})}addEventListener("message",(({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if("start"==t&&Me(e),t==Ae){const e=De.get(n);De.delete(n),e({value:new i(r),done:s})}if("ack"==t){const e=Ve.get(n);Ve.delete(n),e()}t==_e&&Re.abort()}catch(e){Ne(e)}}));const Oe=15,Te=573,We=-2;function je(t){return He(t.map((([t,n])=>new e(t).fill(n,0,t))))}function He(t){return t.reduce(((t,n)=>t.concat(e.isArray(n)?He(n):n)),[])}const Le=[0,1,2,3].concat(...je([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function Fe(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.re=n=>{const s=e.se,i=e.oe.ie,o=e.oe.ce;let c,f,a,l=-1;for(n.fe=0,n.ae=Te,c=0;o>c;c++)0!==s[2*c]?(n.le[++n.fe]=l=c,n.ue[c]=0):s[2*c+1]=0;for(;2>n.fe;)a=n.le[++n.fe]=2>l?++l:0,s[2*a]=1,n.ue[a]=0,n.we--,i&&(n.he-=i[2*a+1]);for(e.de=l,c=r.floor(n.fe/2);c>=1;c--)n.pe(s,c);a=o;do{c=n.le[1],n.le[1]=n.le[n.fe--],n.pe(s,1),f=n.le[1],n.le[--n.ae]=c,n.le[--n.ae]=f,s[2*a]=s[2*c]+s[2*f],n.ue[a]=r.max(n.ue[c],n.ue[f])+1,s[2*c+1]=s[2*f+1]=a,n.le[1]=a++,n.pe(s,1)}while(n.fe>=2);n.le[--n.ae]=n.le[1],(t=>{const n=e.se,r=e.oe.ie,s=e.oe.ye,i=e.oe.me,o=e.oe.be;let c,f,a,l,u,w,h=0;for(l=0;Oe>=l;l++)t.ge[l]=0;for(n[2*t.le[t.ae]+1]=0,c=t.ae+1;Te>c;c++)f=t.le[c],l=n[2*n[2*f+1]+1]+1,l>o&&(l=o,h++),n[2*f+1]=l,f>e.de||(t.ge[l]++,u=0,i>f||(u=s[f-i]),w=n[2*f],t.we+=w*(l+u),r&&(t.he+=w*(r[2*f+1]+u)));if(0!==h){do{for(l=o-1;0===t.ge[l];)l--;t.ge[l]--,t.ge[l+1]+=2,t.ge[o]--,h-=2}while(h>0);for(l=o;0!==l;l--)for(f=t.ge[l];0!==f;)a=t.le[--c],a>e.de||(n[2*a+1]!=l&&(t.we+=(l-n[2*a+1])*n[2*a],n[2*a+1]=l),f--)}})(n),((e,n,r)=>{const s=[];let i,o,c,f=0;for(i=1;Oe>=i;i++)s[i]=f=f+r[i-1]<<1;for(o=0;n>=o;o++)c=e[2*o+1],0!==c&&(e[2*o]=t(s[c]++,c))})(s,e.de,n.ge)}}function qe(e,t,n,r,s){const i=this;i.ie=e,i.ye=t,i.me=n,i.ce=r,i.be=s}Fe.ke=[0,1,2,3,4,5,6,7].concat(...je([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),Fe.ve=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],Fe.Se=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],Fe.ze=e=>256>e?Le[e]:Le[256+(e>>>7)],Fe.Ce=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Fe.xe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Fe.Ae=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Fe._e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const Ge=je([[144,8],[112,9],[24,7],[8,8]]);qe.Ie=He([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map(((e,t)=>[e,Ge[t]])));const Je=je([[30,5]]);function Qe(e,t,n,r,s){const i=this;i.Pe=e,i.De=t,i.Ve=n,i.Re=r,i.Be=s}qe.Ee=He([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map(((e,t)=>[e,Je[t]]))),qe.Me=new qe(qe.Ie,Fe.Ce,257,286,Oe),qe.Ue=new qe(qe.Ee,Fe.xe,0,30,Oe),qe.Ke=new qe(null,Fe.Ae,0,19,7);const Xe=[new Qe(0,0,0,0,0),new Qe(4,4,8,4,1),new Qe(4,5,16,8,1),new Qe(4,6,32,32,1),new Qe(4,4,16,16,2),new Qe(8,16,32,32,2),new Qe(8,16,128,128,2),new Qe(8,32,128,256,2),new Qe(32,128,258,1024,2),new Qe(32,258,258,4096,2)],Ye=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Ze=113,$e=666,et=262;function tt(e,t,n,r){const s=e[2*t],i=e[2*n];return i>s||s==i&&r[t]<=r[n]}function nt(){const e=this;let t,n,s,c,f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z,C,x,A,_,I,P,D,V,R,B,E,M,U;const K=new Fe,N=new Fe,O=new Fe;let T,W,j,H,L,F;function q(){let t;for(t=0;286>t;t++)E[2*t]=0;for(t=0;30>t;t++)M[2*t]=0;for(t=0;19>t;t++)U[2*t]=0;E[512]=1,e.we=e.he=0,W=j=0}function G(e,t){let n,r=-1,s=e[1],i=0,o=7,c=4;0===s&&(o=138,c=3),e[2*(t+1)+1]=65535;for(let f=0;t>=f;f++)n=s,s=e[2*(f+1)+1],++ii?U[2*n]+=i:0!==n?(n!=r&&U[2*n]++,U[32]++):i>10?U[36]++:U[34]++,i=0,r=n,0===s?(o=138,c=3):n==s?(o=6,c=3):(o=7,c=4))}function J(t){e.Ne[e.pending++]=t}function Q(e){J(255&e),J(e>>>8&255)}function X(e,t){let n;const r=t;F>16-r?(n=e,L|=n<>>16-F,F+=r-16):(L|=e<=n;n++)if(r=i,i=e[2*(n+1)+1],++o>=c||r!=i){if(f>o)do{Y(r,U)}while(0!=--o);else 0!==r?(r!=s&&(Y(r,U),o--),Y(16,U),X(o-3,2)):o>10?(Y(18,U),X(o-11,7)):(Y(17,U),X(o-3,3));o=0,s=r,0===i?(c=138,f=3):r==i?(c=6,f=3):(c=7,f=4)}}function $(){16==F?(Q(L),L=0,F=0):8>F||(J(255&L),L>>>=8,F-=8)}function ee(t,n){let s,i,o;if(e.Oe[W]=t,e.Te[W]=255&n,W++,0===t?E[2*n]++:(j++,t--,E[2*(Fe.ke[n]+256+1)]++,M[2*Fe.ze(t)]++),!(8191&W)&&D>2){for(s=8*W,i=C-k,o=0;30>o;o++)s+=M[2*o]*(5+Fe.xe[o]);if(s>>>=3,jc);Y(256,t),H=t[513]}function ne(){F>8?Q(L):F>0&&J(255&L),L=0,F=0}function re(t,n,r){X(0+(r?1:0),3),((t,n)=>{ne(),H=8,Q(n),Q(~n),e.Ne.set(u.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function se(n){((t,n,r)=>{let s,i,o=0;D>0?(K.re(e),N.re(e),o=(()=>{let t;for(G(E,K.de),G(M,N.de),O.re(e),t=18;t>=3&&0===U[2*Fe._e[t]+1];t--);return e.we+=14+3*(t+1),t})(),s=e.we+3+7>>>3,i=e.he+3+7>>>3,i>s||(s=i)):s=i=n+5,n+4>s||-1==t?i==s?(X(2+(r?1:0),3),te(qe.Ie,qe.Ee)):(X(4+(r?1:0),3),((e,t,n)=>{let r;for(X(e-257,5),X(t-1,5),X(n-4,4),r=0;n>r;r++)X(U[2*Fe._e[r]+1],3);Z(E,e-1),Z(M,t-1)})(K.de+1,N.de+1,o+1),te(E,M)):re(t,n,r),q(),r&&ne()})(0>k?-1:k,C-k,n),k=C,t.We()}function ie(){let e,n,r,s;do{if(s=w-A-C,0===s&&0===C&&0===A)s=f;else if(-1==s)s--;else if(C>=f+f-et){u.set(u.subarray(f,f+f),0),x-=f,C-=f,k-=f,e=y,r=e;do{n=65535&d[--r],d[r]=f>n?0:n-f}while(0!=--e);e=f,r=e;do{n=65535&h[--r],h[r]=f>n?0:n-f}while(0!=--e);s+=f}if(0===t.je)return;e=t.He(u,C+A,s),A+=e,3>A||(p=255&u[C],p=(p<A&&0!==t.je)}function oe(e){let t,n,r=I,s=C,i=_;const o=C>f-et?C-(f-et):0;let c=B;const a=l,w=C+258;let d=u[s+i-1],p=u[s+i];R>_||(r>>=2),c>A&&(c=A);do{if(t=e,u[t+i]==p&&u[t+i-1]==d&&u[t]==u[s]&&u[++t]==u[s+1]){s+=2,t++;do{}while(u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&u[++s]==u[++t]&&w>s);if(n=258-(w-s),s=w-258,n>i){if(x=e,i=n,n>=c)break;d=u[s+i-1],p=u[s+i]}}}while((e=65535&h[e&a])>o&&0!=--r);return i>A?A:i}e.ue=[],e.ge=[],e.le=[],E=[],M=[],U=[],e.pe=(t,n)=>{const r=e.le,s=r[n];let i=n<<1;for(;i<=e.fe&&(i(W||(W=8),j||(j=8),G||(G=0),t.Fe=null,-1==S&&(S=6),1>j||j>9||8!=W||9>x||x>15||0>S||S>9||0>G||G>2?We:(t.qe=e,a=x,f=1<(t.Ge=t.Je=0,t.Fe=null,e.pending=0,e.Qe=0,n=Ze,c=0,K.se=E,K.oe=qe.Me,N.se=M,N.oe=qe.Ue,O.se=U,O.oe=qe.Ke,L=0,F=0,H=8,q(),(()=>{w=2*f,d[y-1]=0;for(let e=0;y-1>e;e++)d[e]=0;P=Xe[D].De,R=Xe[D].Pe,B=Xe[D].Ve,I=Xe[D].Re,C=0,k=0,A=0,v=_=2,z=0,p=0})(),0))(t))),e.Xe=()=>42!=n&&n!=Ze&&n!=$e?We:(e.Te=null,e.Oe=null,e.Ne=null,d=null,h=null,u=null,e.qe=null,n==Ze?-3:0),e.Ye=(e,t,n)=>{let r=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?We:(Xe[D].Be!=Xe[t].Be&&0!==e.Ge&&(r=e.Ze(1)),D!=t&&(D=t,P=Xe[D].De,R=Xe[D].Pe,B=Xe[D].Ve,I=Xe[D].Re),V=n,r)},e.$e=(e,t,r)=>{let s,i=r,o=0;if(!t||42!=n)return We;if(3>i)return 0;for(i>f-et&&(i=f-et,o=r-i),u.set(t.subarray(o,o+i),0),C=i,k=i,p=255&u[0],p=(p<=s;s++)p=(p<{let o,w,m,I,R;if(i>4||0>i)return We;if(!r.et||!r.tt&&0!==r.je||n==$e&&4!=i)return r.Fe=Ye[4],We;if(0===r.nt)return r.Fe=Ye[7],-5;var B;if(t=r,I=c,c=i,42==n&&(w=8+(a-8<<4)<<8,m=(D-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==C&&(w|=32),w+=31-w%31,n=Ze,J((B=w)>>8&255),J(255&B)),0!==e.pending){if(t.We(),0===t.nt)return c=-1,0}else if(0===t.je&&I>=i&&4!=i)return t.Fe=Ye[7],-5;if(n==$e&&0!==t.je)return r.Fe=Ye[7],-5;if(0!==t.je||0!==A||0!=i&&n!=$e){switch(R=-1,Xe[D].Be){case 0:R=(e=>{let n,r=65535;for(r>s-5&&(r=s-5);;){if(1>=A){if(ie(),0===A&&0==e)return 0;if(0===A)break}if(C+=A,A=0,n=k+r,(0===C||C>=n)&&(A=C-n,C=n,se(!1),0===t.nt))return 0;if(C-k>=f-et&&(se(!1),0===t.nt))return 0}return se(4==e),0===t.nt?4==e?2:0:4==e?3:1})(i);break;case 1:R=(e=>{let n,r=0;for(;;){if(et>A){if(ie(),et>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<f-et||2!=V&&(v=oe(r)),3>v)n=ee(0,255&u[C]),A--,C++;else if(n=ee(C-x,v-3),A-=v,v>P||3>A)C+=v,v=0,p=255&u[C],p=(p<{let n,r,s=0;for(;;){if(et>A){if(ie(),et>A&&0==e)return 0;if(0===A)break}if(3>A||(p=(p<_&&f-et>=(C-s&65535)&&(2!=V&&(v=oe(s)),5>=v&&(1==V||3==v&&C-x>4096)&&(v=2)),3>_||v>_)if(0!==z){if(n=ee(0,255&u[C-1]),n&&se(!1),C++,A--,0===t.nt)return 0}else z=1,C++,A--;else{r=C+A-3,n=ee(C-1-S,_-3),A-=_-1,_-=2;do{++C>r||(p=(p<1+H+10-F&&(X(2,3),Y(256,qe.Ie),$()),H=7;else if(re(0,0,!1),3==i)for(o=0;y>o;o++)d[o]=0;if(t.We(),0===t.nt)return c=-1,0}}return 4!=i?0:1}}function rt(){const e=this;e.rt=0,e.st=0,e.je=0,e.Ge=0,e.nt=0,e.Je=0}function st(e){const t=new rt,n=(o=e&&e.chunkSize?e.chunkSize:65536)+5*(r.floor(o/16383)+1);var o;const c=new i(n);let f=e?e.level:-1;void 0===f&&(f=-1),t.Le(f),t.et=c,this.append=(e,r)=>{let o,f,a=0,l=0,u=0;const w=[];if(e.length){t.rt=0,t.tt=e,t.je=e.length;do{if(t.st=0,t.nt=n,o=t.Ze(0),0!=o)throw new s("deflating: "+t.Fe);t.st&&(t.st==n?w.push(new i(c)):w.push(c.subarray(0,t.st))),u+=t.st,r&&t.rt>0&&t.rt!=a&&(r(t.rt),a=t.rt)}while(t.je>0||0===t.nt);return w.length>1?(f=new i(u),w.forEach((e=>{f.set(e,l),l+=e.length}))):f=w[0]?new i(w[0]):new i,f}},this.flush=()=>{let e,r,o=0,f=0;const a=[];do{if(t.st=0,t.nt=n,e=t.Ze(4),1!=e&&0!=e)throw new s("deflating: "+t.Fe);n-t.nt>0&&a.push(c.slice(0,t.st)),f+=t.st}while(t.je>0||0===t.nt);return t.Xe(),r=new i(f),a.forEach((e=>{r.set(e,o),o+=e.length})),r}}rt.prototype={Le(e,t){const n=this;return n.qe=new nt,t||(t=Oe),n.qe.Le(n,e,t)},Ze(e){const t=this;return t.qe?t.qe.Ze(t,e):We},Xe(){const e=this;if(!e.qe)return We;const t=e.qe.Xe();return e.qe=null,t},Ye(e,t){const n=this;return n.qe?n.qe.Ye(n,e,t):We},$e(e,t){const n=this;return n.qe?n.qe.$e(n,e,t):We},He(e,t,n){const r=this;let s=r.je;return s>n&&(s=n),0===s?0:(r.je-=s,e.set(r.tt.subarray(r.rt,r.rt+s),t),r.rt+=s,r.Ge+=s,s)},We(){const e=this;let t=e.qe.pending;t>e.nt&&(t=e.nt),0!==t&&(e.et.set(e.qe.Ne.subarray(e.qe.Qe,e.qe.Qe+t),e.st),e.st+=t,e.qe.Qe+=t,e.Je+=t,e.nt-=t,e.qe.pending-=t,0===e.qe.pending&&(e.qe.Qe=0))}};const it=0,ot=1,ct=-2,ft=-3,at=-4,lt=-5,ut=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],wt=1440,ht=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],dt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],pt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],yt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],mt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],bt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gt=15;function kt(){let e,t,n,r,s,i;function o(e,t,o,c,f,a,l,u,w,h,d){let p,y,m,b,g,k,v,S,z,C,x,A,_,I,P;C=0,g=o;do{n[e[t+C]]++,C++,g--}while(0!==g);if(n[0]==o)return l[0]=-1,u[0]=0,it;for(S=u[0],k=1;gt>=k&&0===n[k];k++);for(v=k,k>S&&(S=k),g=gt;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,I=1<k;k++,I<<=1)if(0>(I-=n[k]))return ft;if(0>(I-=n[g]))return ft;for(n[g]+=I,i[1]=k=0,C=1,_=2;0!=--g;)i[_]=k+=n[C],_++,C++;g=0,C=0;do{0!==(k=e[t+C])&&(d[i[k]++]=g),C++}while(++g=v;v++)for(p=n[v];0!=p--;){for(;v>A+S;){if(b++,A+=S,P=m-A,P=P>S?S:P,(y=1<<(k=v-A))>p+1&&(y-=p+1,_=v,P>k))for(;++kn[++_];)y-=n[_];if(P=1<wt)return ft;s[b]=x=h[0],h[0]+=P,0!==b?(i[b]=g,r[0]=k,r[1]=S,k=g>>>A-S,r[2]=x-s[b-1]-k,w.set(r,3*(s[b-1]+k))):l[0]=x}for(r[1]=v-A,o>C?d[C]d[C]?0:96,r[2]=d[C++]):(r[0]=a[d[C]-c]+16+64,r[2]=f[d[C++]-c]):r[0]=192,y=1<>>A;P>k;k+=y)w.set(r,3*(x+k));for(k=1<>>=1)g^=k;for(g^=k,z=(1<c;c++)t[c]=0;for(c=0;gt+1>c;c++)n[c]=0;for(c=0;3>c;c++)r[c]=0;s.set(n.subarray(0,gt),0),i.set(n.subarray(0,gt+1),0)}this.it=(n,r,s,i,f)=>{let a;return c(19),e[0]=0,a=o(n,0,19,19,null,null,s,r,i,e,t),a==ft?f.Fe="oversubscribed dynamic bit lengths tree":a!=lt&&0!==r[0]||(f.Fe="incomplete dynamic bit lengths tree",a=ft),a},this.ot=(n,r,s,i,f,a,l,u,w)=>{let h;return c(288),e[0]=0,h=o(s,0,n,257,pt,yt,a,i,u,e,t),h!=it||0===i[0]?(h==ft?w.Fe="oversubscribed literal/length tree":h!=at&&(w.Fe="incomplete literal/length tree",h=ft),h):(c(288),h=o(s,n,r,0,mt,bt,l,f,u,e,t),h!=it||0===f[0]&&n>257?(h==ft?w.Fe="oversubscribed distance tree":h==lt?(w.Fe="incomplete distance tree",h=ft):h!=at&&(w.Fe="empty distance tree with lengths",h=ft),h):it)}}kt.ct=(e,t,n,r)=>(e[0]=9,t[0]=5,n[0]=ht,r[0]=dt,it);const vt=0,St=1,zt=2,Ct=3,xt=4,At=5,_t=6,It=7,Pt=8,Dt=9;function Vt(){const e=this;let t,n,r,s,i=0,o=0,c=0,f=0,a=0,l=0,u=0,w=0,h=0,d=0;function p(e,t,n,r,s,i,o,c){let f,a,l,u,w,h,d,p,y,m,b,g,k,v,S,z;d=c.rt,p=c.je,w=o.ft,h=o.lt,y=o.write,m=yh;)p--,w|=(255&c.ut(d++))<>=a[z+1],h-=a[z+1],16&u){for(u&=15,k=a[z+2]+(w&ut[u]),w>>=u,h-=u;15>h;)p--,w|=(255&c.ut(d++))<>=a[z+1],h-=a[z+1],16&u){for(u&=15;u>h;)p--,w|=(255&c.ut(d++))<>=u,h-=u,m-=k,v>y){S=y-v;do{S+=o.end}while(0>S);if(u=o.end-S,k>u){if(k-=u,y-S>0&&u>y-S)do{o.wt[y++]=o.wt[S++]}while(0!=--u);else o.wt.set(o.wt.subarray(S,S+u),y),y+=u,S+=u,u=0;S=0}}else S=y-v,y-S>0&&2>y-S?(o.wt[y++]=o.wt[S++],o.wt[y++]=o.wt[S++],k-=2):(o.wt.set(o.wt.subarray(S,S+2),y),y+=2,S+=2,k-=2);if(y-S>0&&k>y-S)do{o.wt[y++]=o.wt[S++]}while(0!=--k);else o.wt.set(o.wt.subarray(S,S+k),y),y+=k,S+=k,k=0;break}if(64&u)return c.Fe="invalid distance code",k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ft;f+=a[z+2],f+=w&ut[u],z=3*(l+f),u=a[z]}break}if(64&u)return 32&u?(k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ot):(c.Fe="invalid literal/length code",k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,ft);if(f+=a[z+2],f+=w&ut[u],z=3*(l+f),0===(u=a[z])){w>>=a[z+1],h-=a[z+1],o.wt[y++]=a[z+2],m--;break}}else w>>=a[z+1],h-=a[z+1],o.wt[y++]=a[z+2],m--}while(m>=258&&p>=10);return k=c.je-p,k=k>h>>3?h>>3:k,p+=k,d-=k,h-=k<<3,o.ft=w,o.lt=h,c.je=p,c.Ge+=d-c.rt,c.rt=d,o.write=y,it}e.init=(e,i,o,c,f,a)=>{t=vt,u=e,w=i,r=o,h=c,s=f,d=a,n=null},e.ht=(e,y,m)=>{let b,g,k,v,S,z,C,x=0,A=0,_=0;for(_=y.rt,v=y.je,x=e.ft,A=e.lt,S=e.write,z=S=258&&v>=10&&(e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,m=p(u,w,r,h,s,d,e,y),_=y.rt,v=y.je,x=e.ft,A=e.lt,S=e.write,z=SA;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>>=n[g+1],A-=n[g+1],k=n[g],0===k){f=n[g+2],t=_t;break}if(16&k){a=15&k,i=n[g+2],t=zt;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}if(32&k){t=It;break}return t=Dt,y.Fe="invalid literal/length code",m=ft,e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);case zt:for(b=a;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=b,A-=b,c=w,n=s,o=d,t=Ct;case Ct:for(b=c;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=n[g+1],A-=n[g+1],k=n[g],16&k){a=15&k,l=n[g+2],t=xt;break}if(!(64&k)){c=k,o=g/3+n[g+2];break}return t=Dt,y.Fe="invalid distance code",m=ft,e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);case xt:for(b=a;b>A;){if(0===v)return e.ft=x,e.lt=A,y.je=v,y.Ge+=_-y.rt,y.rt=_,e.write=S,e.dt(y,m);m=it,v--,x|=(255&y.ut(_++))<>=b,A-=b,t=At;case At:for(C=S-l;0>C;)C+=e.end;for(;0!==i;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S7&&(A-=8,v++,_--),e.write=S,m=e.dt(y,m),S=e.write,z=S{}}const Rt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Bt=0,Et=1,Mt=2,Ut=3,Kt=4,Nt=5,Ot=6,Tt=7,Wt=8,jt=9;function Ht(e,t){const n=this;let r,s=Bt,o=0,c=0,a=0;const l=[0],u=[0],w=new Vt;let h=0,d=new f(3*wt);const p=new kt;n.lt=0,n.ft=0,n.wt=new i(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),s==Ot&&w.yt(e),s=Bt,n.lt=0,n.ft=0,n.read=n.write=0},n.reset(e,null),n.dt=(e,t)=>{let r,s,i;return s=e.st,i=n.read,r=(i>n.write?n.end:n.write)-i,r>e.nt&&(r=e.nt),0!==r&&t==lt&&(t=it),e.nt-=r,e.Je+=r,e.et.set(n.wt.subarray(i,i+r),s),s+=r,i+=r,i==n.end&&(i=0,n.write==n.end&&(n.write=0),r=n.write-i,r>e.nt&&(r=e.nt),0!==r&&t==lt&&(t=it),e.nt-=r,e.Je+=r,e.et.set(n.wt.subarray(i,i+r),s),s+=r,i+=r),e.st=s,n.read=i,t},n.ht=(e,t)=>{let i,f,y,m,b,g,k,v;for(m=e.rt,b=e.je,f=n.ft,y=n.lt,g=n.write,k=gy;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>1){case 0:f>>>=3,y-=3,i=7&y,f>>>=i,y-=i,s=Et;break;case 1:S=[],z=[],C=[[]],x=[[]],kt.ct(S,z,C,x),w.init(S[0],z[0],C[0],0,x[0],0),f>>>=3,y-=3,s=Ot;break;case 2:f>>>=3,y-=3,s=Ut;break;case 3:return f>>>=3,y-=3,s=jt,e.Fe="invalid block type",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t)}break;case Et:for(;32>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>16&65535)!=(65535&f))return s=jt,e.Fe="invalid stored block lengths",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);o=65535&f,f=y=0,s=0!==o?Mt:0!==h?Tt:Bt;break;case Mt:if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);if(0===k&&(g==n.end&&0!==n.read&&(g=0,k=gb&&(i=b),i>k&&(i=k),n.wt.set(e.He(m,i),g),m+=i,b-=i,g+=i,k-=i,0!=(o-=i))break;s=0!==h?Tt:Bt;break;case Ut:for(;14>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<29||(i>>5&31)>29)return s=jt,e.Fe="too many length or distance symbols",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);if(i=258+(31&i)+(i>>5&31),!r||r.lengthv;v++)r[v]=0;f>>>=14,y-=14,a=0,s=Kt;case Kt:for(;4+(c>>>10)>a;){for(;3>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>=3,y-=3}for(;19>a;)r[Rt[a++]]=0;if(l[0]=7,i=p.it(r,l,u,d,e),i!=it)return(t=i)==ft&&(r=null,s=jt),n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);a=0,s=Nt;case Nt:for(;i=c,258+(31&i)+(i>>5&31)>a;){let o,w;for(i=l[0];i>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<w)f>>>=i,y-=i,r[a++]=w;else{for(v=18==w?7:w-14,o=18==w?11:3;i+v>y;){if(0===b)return n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);t=it,b--,f|=(255&e.ut(m++))<>>=i,y-=i,o+=f&ut[v],f>>>=v,y-=v,v=a,i=c,v+o>258+(31&i)+(i>>5&31)||16==w&&1>v)return r=null,s=jt,e.Fe="invalid bit length repeat",t=ft,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);w=16==w?r[v-1]:0;do{r[v++]=w}while(0!=--o);a=v}}if(u[0]=-1,A=[],_=[],I=[],P=[],A[0]=9,_[0]=6,i=c,i=p.ot(257+(31&i),1+(i>>5&31),r,A,_,I,P,d,e),i!=it)return i==ft&&(r=null,s=jt),t=i,n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,n.dt(e,t);w.init(A[0],_[0],d,I[0],d,P[0]),s=Ot;case Ot:if(n.ft=f,n.lt=y,e.je=b,e.Ge+=m-e.rt,e.rt=m,n.write=g,(t=w.ht(n,e,t))!=ot)return n.dt(e,t);if(t=it,w.yt(e),m=e.rt,b=e.je,f=n.ft,y=n.lt,g=n.write,k=g{n.reset(e,null),n.wt=null,d=null},n.bt=(e,t,r)=>{n.wt.set(e.subarray(t,t+r),0),n.read=n.write=r},n.gt=()=>s==Et?1:0}const Lt=13,Ft=[0,0,255,255];function qt(){const e=this;function t(e){return e&&e.kt?(e.Ge=e.Je=0,e.Fe=null,e.kt.mode=7,e.kt.vt.reset(e,null),it):ct}e.mode=0,e.method=0,e.St=[0],e.zt=0,e.marker=0,e.Ct=0,e.xt=t=>(e.vt&&e.vt.yt(t),e.vt=null,it),e.At=(n,r)=>(n.Fe=null,e.vt=null,8>r||r>15?(e.xt(n),ct):(e.Ct=r,n.kt.vt=new Ht(n,1<{let n,r;if(!e||!e.kt||!e.tt)return ct;const s=e.kt;for(t=4==t?lt:it,n=lt;;)switch(s.mode){case 0:if(0===e.je)return n;if(n=t,e.je--,e.Ge++,8!=(15&(s.method=e.ut(e.rt++)))){s.mode=Lt,e.Fe="unknown compression method",s.marker=5;break}if(8+(s.method>>4)>s.Ct){s.mode=Lt,e.Fe="invalid win size",s.marker=5;break}s.mode=1;case 1:if(0===e.je)return n;if(n=t,e.je--,e.Ge++,r=255&e.ut(e.rt++),((s.method<<8)+r)%31!=0){s.mode=Lt,e.Fe="incorrect header check",s.marker=5;break}if(!(32&r)){s.mode=7;break}s.mode=2;case 2:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt=(255&e.ut(e.rt++))<<24&4278190080,s.mode=3;case 3:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt+=(255&e.ut(e.rt++))<<16&16711680,s.mode=4;case 4:if(0===e.je)return n;n=t,e.je--,e.Ge++,s.zt+=(255&e.ut(e.rt++))<<8&65280,s.mode=5;case 5:return 0===e.je?n:(n=t,e.je--,e.Ge++,s.zt+=255&e.ut(e.rt++),s.mode=6,2);case 6:return s.mode=Lt,e.Fe="need dictionary",s.marker=0,ct;case 7:if(n=s.vt.ht(e,n),n==ft){s.mode=Lt,s.marker=0;break}if(n==it&&(n=t),n!=ot)return n;n=t,s.vt.reset(e,s.St),s.mode=12;case 12:return e.je=0,ot;case Lt:return ft;default:return ct}},e.It=(e,t,n)=>{let r=0,s=n;if(!e||!e.kt||6!=e.kt.mode)return ct;const i=e.kt;return s<1<{let n,r,s,i,o;if(!e||!e.kt)return ct;const c=e.kt;if(c.mode!=Lt&&(c.mode=Lt,c.marker=0),0===(n=e.je))return lt;for(r=e.rt,s=c.marker;0!==n&&4>s;)e.ut(r)==Ft[s]?s++:s=0!==e.ut(r)?0:4-s,r++,n--;return e.Ge+=r-e.rt,e.rt=r,e.je=n,c.marker=s,4!=s?ft:(i=e.Ge,o=e.Je,t(e),e.Ge=i,e.Je=o,c.mode=7,it)},e.Dt=e=>e&&e.kt&&e.kt.vt?e.kt.vt.gt():ct}function Gt(){}function Jt(e){const t=new Gt,n=e&&e.chunkSize?r.floor(2*e.chunkSize):131072,o=new i(n);let c=!1;t.At(),t.et=o,this.append=(e,r)=>{const f=[];let a,l,u=0,w=0,h=0;if(0!==e.length){t.rt=0,t.tt=e,t.je=e.length;do{if(t.st=0,t.nt=n,0!==t.je||c||(t.rt=0,c=!0),a=t._t(0),c&&a===lt){if(0!==t.je)throw new s("inflating: bad input")}else if(a!==it&&a!==ot)throw new s("inflating: "+t.Fe);if((c||a===ot)&&t.je===e.length)throw new s("inflating: bad input");t.st&&(t.st===n?f.push(new i(o)):f.push(o.subarray(0,t.st))),h+=t.st,r&&t.rt>0&&t.rt!=u&&(r(t.rt),u=t.rt)}while(t.je>0||0===t.nt);return f.length>1?(l=new i(h),f.forEach((e=>{l.set(e,w),w+=e.length}))):l=f[0]?new i(f[0]):new i,l}},this.flush=()=>{t.xt()}}Gt.prototype={At(e){const t=this;return t.kt=new qt,e||(e=15),t.kt.At(t,e)},_t(e){const t=this;return t.kt?t.kt._t(t,e):ct},xt(){const e=this;if(!e.kt)return ct;const t=e.kt.xt(e);return e.kt=null,t},Pt(){const e=this;return e.kt?e.kt.Pt(e):ct},It(e,t){const n=this;return n.kt?n.kt.It(n,e,t):ct},ut(e){return this.tt[e]},He(e,t){return this.tt.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=st,self.Inflate=Jt};\n'],{type:"text/javascript"}));e({workerScripts:{inflate:[t],deflate:[t]}})})(ne),e.BlobReader=Pt,e.BlobWriter=Mt,e.Data64URIReader=class extends Ot{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:r,size:a.floor(.75*(t-r))})}readUint8Array(e,t){const{dataStart:n,dataURI:r}=this,s=new w(t),i=4*a.floor(e/3),o=atob(r.substring(i+n,4*a.ceil((e+t)/3)+n)),c=e-3*a.floor(i/4);for(let e=c;c+t>e;e++)s[e-c]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends qt{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,s=t.pending;const i=t.pending.length;for(t.pending="",n=0;n<3*a.floor((i+e.length)/3)-i;n++)s+=r.fromCharCode(e[n]);for(;n2?t.data+=v(s):t.pending=s}getData(){return this.data+v(this.pending)}},e.ERR_BAD_FORMAT=Wn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=In,e.ERR_DUPLICATED_NAME=ar,e.ERR_ENCRYPTED=On,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=jn,e.ERR_EOCDR_NOT_FOUND=Un,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Nn,e.ERR_HTTP_RANGE=Dt,e.ERR_INVALID_COMMENT=or,e.ERR_INVALID_ENCRYPTION_STRENGTH=fr,e.ERR_INVALID_ENTRY_COMMENT=cr,e.ERR_INVALID_ENTRY_NAME=lr,e.ERR_INVALID_EXTRAFIELD_DATA=wr,e.ERR_INVALID_EXTRAFIELD_TYPE=dr,e.ERR_INVALID_PASSWORD=he,e.ERR_INVALID_SIGNATURE=ge,e.ERR_INVALID_VERSION=ur,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Rt,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Ln,e.ERR_SPLIT_ZIP_FILE=Mn,e.ERR_UNSUPPORTED_COMPRESSION=Pn,e.ERR_UNSUPPORTED_ENCRYPTION=qn,e.ERR_UNSUPPORTED_FORMAT=pr,e.HttpRangeReader=class extends nn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=nn,e.Reader=Ot,e.SplitDataReader=rn,e.SplitDataWriter=sn,e.SplitZipReader=un,e.SplitZipWriter=fn,e.TextReader=class extends Pt{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends Mt{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,r=await super.getData();if(r.text&&t)return r.text();{const t=new FileReader;return new y(((s,i)=>{n.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(r,e)}))}}},e.Uint8ArrayReader=class extends Ot{constructor(e){super(),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends qt{init(e=0){n.assign(this,{offset:0,array:new w(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new w(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=qt,e.ZipReader=Kn,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new x,r=new Kn(t,e).getEntriesGenerator();this.readable=new A({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new x;if(n.getData)return n.getData(t),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}},e.ZipWriter=yr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new x;this.readable=t,this.zipWriter=new yr(n,e)}transform(e){const{readable:t,writable:n}=new x({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new x;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=ne,e.getMimeType=()=>"application/octet-stream",e.initReader=on,e.initShimAsyncCodec=(e,t={},n)=>({Deflate:se(e.Deflate,t.deflate,n),Inflate:se(e.Inflate,t.inflate,n)}),e.initStream=an,e.initWriter=cn,e.readUint8Array=ln,e.terminateWorkers=async()=>{await y.allSettled(vt.map((e=>(Ct(e),e.terminate()))))}})); diff --git a/meshchatx/src/frontend/public/rnode-flasher/reticulum_logo_512.png b/meshchatx/src/frontend/public/rnode-flasher/reticulum_logo_512.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3940a753a5925e1fa80b15401709321fab5b25 GIT binary patch literal 86758 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

    ^@h{gOgH0wbABMtnyHxDl2KX9aC~jQ$Z0GjQ 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 literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/assets/js/codec2-emscripten/wav-encoder.js b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/wav-encoder.js new file mode 100644 index 0000000..9932b6a --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/codec2-emscripten/wav-encoder.js @@ -0,0 +1,47 @@ +class WavEncoder { + + static encodeWAV(samples, sampleRate = 8000, numChannels = 1) { + + const buffer = new ArrayBuffer(44 + samples.length * 2); + const view = new DataView(buffer); + + // RIFF chunk descriptor + this.writeString(view, 0, 'RIFF'); + view.setUint32(4, 36 + samples.length * 2, true); // file length + this.writeString(view, 8, 'WAVE'); + + // fmt sub-chunk + this.writeString(view, 12, 'fmt '); + view.setUint32(16, 16, true); // sub-chunk size + view.setUint16(20, 1, true); // audio format (1 = PCM) + view.setUint16(22, numChannels, true); // number of channels + view.setUint32(24, sampleRate, true); // sample rate + view.setUint32(28, sampleRate * numChannels * 2, true); // byte rate + view.setUint16(32, numChannels * 2, true); // block align + view.setUint16(34, 16, true); // bits per sample + + // data sub-chunk + this.writeString(view, 36, 'data'); + view.setUint32(40, samples.length * 2, true); // data chunk length + + // write the PCM samples + this.floatTo16BitPCM(view, 44, samples); + + return buffer; + + } + + static writeString(view, offset, string) { + for(let i = 0; i < string.length; i++){ + view.setUint8(offset + i, string.charCodeAt(i)); + } + } + + static floatTo16BitPCM(output, offset, input) { + for(let i = 0; i < input.length; i++, offset += 2){ + const s = Math.max(-1, Math.min(1, input[i])); + output.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true); + } + } + +} diff --git a/meshchatx/src/frontend/public/assets/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js b/meshchatx/src/frontend/public/assets/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js new file mode 100644 index 0000000..8369aad --- /dev/null +++ b/meshchatx/src/frontend/public/assets/js/tailwindcss/tailwind-v3.4.3-forms-v0.5.7.js @@ -0,0 +1,62 @@ +(()=>{var Rb=Object.create;var ci=Object.defineProperty;var Mb=Object.getOwnPropertyDescriptor;var Bb=Object.getOwnPropertyNames;var Fb=Object.getPrototypeOf,Lb=Object.prototype.hasOwnProperty;var gu=r=>ci(r,"__esModule",{value:!0});var yu=r=>{if(typeof require!="undefined")return require(r);throw new Error('Dynamic require of "'+r+'" is not supported')};var C=(r,e)=>()=>(r&&(e=r(r=0)),e);var v=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ae=(r,e)=>{gu(r);for(var t in e)ci(r,t,{get:e[t],enumerable:!0})},Nb=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Bb(e))!Lb.call(r,i)&&i!=="default"&&ci(r,i,{get:()=>e[i],enumerable:!(t=Mb(e,i))||t.enumerable});return r},X=r=>Nb(gu(ci(r!=null?Rb(Fb(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var h,l=C(()=>{h={platform:"",env:{},versions:{node:"14.17.6"}}});var $b,te,ze=C(()=>{l();$b=0,te={readFileSync:r=>self[r]||"",statSync:()=>({mtimeMs:$b++}),promises:{readFile:r=>Promise.resolve(self[r]||"")}}});var rs=v((eE,bu)=>{l();"use strict";var wu=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge=="number"&&e.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction=="function")for(let[t,i]of e)this.onEviction(t,i.value)}_deleteIfExpired(e,t){return typeof t.expiry=="number"&&t.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(e,t.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,t){if(this._deleteIfExpired(e,t)===!1)return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){let i=t.get(e);return this._getItemValue(e,i)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(let e of this.oldCache){let[t,i]=e;this.cache.has(t)||this._deleteIfExpired(t,i)===!1&&(yield e)}for(let e of this.cache){let[t,i]=e;this._deleteIfExpired(t,i)===!1&&(yield e)}}get(e){if(this.cache.has(e)){let t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){let t=this.oldCache.get(e);if(this._deleteIfExpired(e,t)===!1)return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:i=this.maxAge===1/0?void 0:Date.now()+this.maxAge}={}){this.cache.has(e)?this.cache.set(e,{value:t,maxAge:i}):this._set(e,{value:t,expiry:i})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");let t=[...this._entriesAscending()],i=t.length-e;i<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(i>0&&this._emitEvictions(t.slice(0,i)),this.oldCache=new Map(t.slice(i)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[t,i]=e;this._deleteIfExpired(t,i)===!1&&(yield[t,i.value])}for(let e of this.oldCache){let[t,i]=e;this.cache.has(t)||this._deleteIfExpired(t,i)===!1&&(yield[t,i.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){let i=e[t],[n,a]=i;this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){let i=e[t],[n,a]=i;this.cache.has(n)||this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}}*entriesAscending(){for(let[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};bu.exports=wu});var vu,xu=C(()=>{l();vu=r=>r&&r._hash});function pi(r){return vu(r,{ignoreUnknown:!0})}var ku=C(()=>{l();xu()});function Ke(r){if(r=`${r}`,r==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(r))return r.replace(/^[+-]?/,t=>t==="-"?"":"-");let e=["var","calc","min","max","clamp"];for(let t of e)if(r.includes(`${t}(`))return`calc(${r} * -1)`}var di=C(()=>{l()});var Su,Cu=C(()=>{l();Su=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","size","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","textWrap","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","contain","content","forcedColorAdjust"]});function Au(r,e){return r===void 0?e:Array.isArray(r)?r:[...new Set(e.filter(i=>r!==!1&&r[i]!==!1).concat(Object.keys(r).filter(i=>r[i]!==!1)))]}var _u=C(()=>{l()});var Ou={};Ae(Ou,{default:()=>_e});var _e,hi=C(()=>{l();_e=new Proxy({},{get:()=>String})});function is(r,e,t){typeof h!="undefined"&&h.env.JEST_WORKER_ID||t&&Eu.has(t)||(t&&Eu.add(t),console.warn(""),e.forEach(i=>console.warn(r,"-",i)))}function ns(r){return _e.dim(r)}var Eu,F,Oe=C(()=>{l();hi();Eu=new Set;F={info(r,e){is(_e.bold(_e.cyan("info")),...Array.isArray(r)?[r]:[e,r])},warn(r,e){["content-problems"].includes(r)||is(_e.bold(_e.yellow("warn")),...Array.isArray(r)?[r]:[e,r])},risk(r,e){is(_e.bold(_e.magenta("risk")),...Array.isArray(r)?[r]:[e,r])}}});var as={};Ae(as,{default:()=>ss});function lr({version:r,from:e,to:t}){F.warn(`${e}-color-renamed`,[`As of Tailwind CSS ${r}, \`${e}\` has been renamed to \`${t}\`.`,"Update your configuration file to silence this warning."])}var ss,mi=C(()=>{l();Oe();ss={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return lr({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return lr({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return lr({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return lr({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return lr({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}});function os(r,...e){for(let t of e){for(let i in t)r?.hasOwnProperty?.(i)||(r[i]=t[i]);for(let i of Object.getOwnPropertySymbols(t))r?.hasOwnProperty?.(i)||(r[i]=t[i])}return r}var Tu=C(()=>{l()});function Ze(r){if(Array.isArray(r))return r;let e=r.split("[").length-1,t=r.split("]").length-1;if(e!==t)throw new Error(`Path is invalid. Has unbalanced brackets: ${r}`);return r.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}var gi=C(()=>{l()});function K(r,e){return yi.future.includes(e)?r.future==="all"||(r?.future?.[e]??Pu[e]??!1):yi.experimental.includes(e)?r.experimental==="all"||(r?.experimental?.[e]??Pu[e]??!1):!1}function Du(r){return r.experimental==="all"?yi.experimental:Object.keys(r?.experimental??{}).filter(e=>yi.experimental.includes(e)&&r.experimental[e])}function Iu(r){if(h.env.JEST_WORKER_ID===void 0&&Du(r).length>0){let e=Du(r).map(t=>_e.yellow(t)).join(", ");F.warn("experimental-flags-enabled",[`You have enabled experimental features: ${e}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}var Pu,yi,je=C(()=>{l();hi();Oe();Pu={optimizeUniversalDefaults:!1,generalizedModifiers:!0,disableColorOpacityUtilitiesByDefault:!1,relativeContentPathsByDefault:!1},yi={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]}});function qu(r){(()=>{if(r.purge||!r.content||!Array.isArray(r.content)&&!(typeof r.content=="object"&&r.content!==null))return!1;if(Array.isArray(r.content))return r.content.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string"));if(typeof r.content=="object"&&r.content!==null){if(Object.keys(r.content).some(t=>!["files","relative","extract","transform"].includes(t)))return!1;if(Array.isArray(r.content.files)){if(!r.content.files.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string")))return!1;if(typeof r.content.extract=="object"){for(let t of Object.values(r.content.extract))if(typeof t!="function")return!1}else if(!(r.content.extract===void 0||typeof r.content.extract=="function"))return!1;if(typeof r.content.transform=="object"){for(let t of Object.values(r.content.transform))if(typeof t!="function")return!1}else if(!(r.content.transform===void 0||typeof r.content.transform=="function"))return!1;if(typeof r.content.relative!="boolean"&&typeof r.content.relative!="undefined")return!1}return!0}return!1})()||F.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),r.safelist=(()=>{let{content:t,purge:i,safelist:n}=r;return Array.isArray(n)?n:Array.isArray(t?.safelist)?t.safelist:Array.isArray(i?.safelist)?i.safelist:Array.isArray(i?.options?.safelist)?i.options.safelist:[]})(),r.blocklist=(()=>{let{blocklist:t}=r;if(Array.isArray(t)){if(t.every(i=>typeof i=="string"))return t;F.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof r.prefix=="function"?(F.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),r.prefix=""):r.prefix=r.prefix??"",r.content={relative:(()=>{let{content:t}=r;return t?.relative?t.relative:K(r,"relativeContentPathsByDefault")})(),files:(()=>{let{content:t,purge:i}=r;return Array.isArray(i)?i:Array.isArray(i?.content)?i.content:Array.isArray(t)?t:Array.isArray(t?.content)?t.content:Array.isArray(t?.files)?t.files:[]})(),extract:(()=>{let t=(()=>r.purge?.extract?r.purge.extract:r.content?.extract?r.content.extract:r.purge?.extract?.DEFAULT?r.purge.extract.DEFAULT:r.content?.extract?.DEFAULT?r.content.extract.DEFAULT:r.purge?.options?.extractors?r.purge.options.extractors:r.content?.options?.extractors?r.content.options.extractors:{})(),i={},n=(()=>{if(r.purge?.options?.defaultExtractor)return r.purge.options.defaultExtractor;if(r.content?.options?.defaultExtractor)return r.content.options.defaultExtractor})();if(n!==void 0&&(i.DEFAULT=n),typeof t=="function")i.DEFAULT=t;else if(Array.isArray(t))for(let{extensions:a,extractor:s}of t??[])for(let o of a)i[o]=s;else typeof t=="object"&&t!==null&&Object.assign(i,t);return i})(),transform:(()=>{let t=(()=>r.purge?.transform?r.purge.transform:r.content?.transform?r.content.transform:r.purge?.transform?.DEFAULT?r.purge.transform.DEFAULT:r.content?.transform?.DEFAULT?r.content.transform.DEFAULT:{})(),i={};return typeof t=="function"&&(i.DEFAULT=t),typeof t=="object"&&t!==null&&Object.assign(i,t),i})()};for(let t of r.content.files)if(typeof t=="string"&&/{([^,]*?)}/g.test(t)){F.warn("invalid-glob-braces",[`The glob pattern ${ns(t)} in your Tailwind CSS configuration is invalid.`,`Update it to ${ns(t.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return r}var Ru=C(()=>{l();je();Oe()});function ie(r){if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||Object.getPrototypeOf(e)===null}var At=C(()=>{l()});function et(r){return Array.isArray(r)?r.map(e=>et(e)):typeof r=="object"&&r!==null?Object.fromEntries(Object.entries(r).map(([e,t])=>[e,et(t)])):r}var wi=C(()=>{l()});function wt(r){return r.replace(/\\,/g,"\\2c ")}var bi=C(()=>{l()});var ls,Mu=C(()=>{l();ls={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});function ur(r,{loose:e=!1}={}){if(typeof r!="string")return null;if(r=r.trim(),r==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(r in ls)return{mode:"rgb",color:ls[r].map(a=>a.toString())};let t=r.replace(jb,(a,s,o,u,c)=>["#",s,s,o,o,u,u,c?c+c:""].join("")).match(zb);if(t!==null)return{mode:"rgb",color:[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)].map(a=>a.toString()),alpha:t[4]?(parseInt(t[4],16)/255).toString():void 0};let i=r.match(Vb)??r.match(Ub);if(i===null)return null;let n=[i[2],i[3],i[4]].filter(Boolean).map(a=>a.toString());return n.length===2&&n[0].startsWith("var(")?{mode:i[1],color:[n[0]],alpha:n[1]}:!e&&n.length!==3||n.length<3&&!n.some(a=>/^var\(.*?\)$/.test(a))?null:{mode:i[1],color:n,alpha:i[5]?.toString?.()}}function us({mode:r,color:e,alpha:t}){let i=t!==void 0;return r==="rgba"||r==="hsla"?`${r}(${e.join(", ")}${i?`, ${t}`:""})`:`${r}(${e.join(" ")}${i?` / ${t}`:""})`}var zb,jb,tt,vi,Bu,rt,Vb,Ub,fs=C(()=>{l();Mu();zb=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,jb=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,tt=/(?:\d+|\d*\.\d+)%?/,vi=/(?:\s*,\s*|\s+)/,Bu=/\s*[,/]\s*/,rt=/var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/,Vb=new RegExp(`^(rgba?)\\(\\s*(${tt.source}|${rt.source})(?:${vi.source}(${tt.source}|${rt.source}))?(?:${vi.source}(${tt.source}|${rt.source}))?(?:${Bu.source}(${tt.source}|${rt.source}))?\\s*\\)$`),Ub=new RegExp(`^(hsla?)\\(\\s*((?:${tt.source})(?:deg|rad|grad|turn)?|${rt.source})(?:${vi.source}(${tt.source}|${rt.source}))?(?:${vi.source}(${tt.source}|${rt.source}))?(?:${Bu.source}(${tt.source}|${rt.source}))?\\s*\\)$`)});function Ie(r,e,t){if(typeof r=="function")return r({opacityValue:e});let i=ur(r,{loose:!0});return i===null?t:us({...i,alpha:e})}function se({color:r,property:e,variable:t}){let i=[].concat(e);if(typeof r=="function")return{[t]:"1",...Object.fromEntries(i.map(a=>[a,r({opacityVariable:t,opacityValue:`var(${t})`})]))};let n=ur(r);return n===null?Object.fromEntries(i.map(a=>[a,r])):n.alpha!==void 0?Object.fromEntries(i.map(a=>[a,r])):{[t]:"1",...Object.fromEntries(i.map(a=>[a,us({...n,alpha:`var(${t})`})]))}}var fr=C(()=>{l();fs()});function ae(r,e){let t=[],i=[],n=0,a=!1;for(let s=0;s{l()});function xi(r){return ae(r,",").map(t=>{let i=t.trim(),n={raw:i},a=i.split(Gb),s=new Set;for(let o of a)Fu.lastIndex=0,!s.has("KEYWORD")&&Wb.has(o)?(n.keyword=o,s.add("KEYWORD")):Fu.test(o)?s.has("X")?s.has("Y")?s.has("BLUR")?s.has("SPREAD")||(n.spread=o,s.add("SPREAD")):(n.blur=o,s.add("BLUR")):(n.y=o,s.add("Y")):(n.x=o,s.add("X")):n.color?(n.unknown||(n.unknown=[]),n.unknown.push(o)):n.color=o;return n.valid=n.x!==void 0&&n.y!==void 0,n})}function Lu(r){return r.map(e=>e.valid?[e.keyword,e.x,e.y,e.blur,e.spread,e.color].filter(Boolean).join(" "):e.raw).join(", ")}var Wb,Gb,Fu,cs=C(()=>{l();_t();Wb=new Set(["inset","inherit","initial","revert","unset"]),Gb=/\ +(?![^(]*\))/g,Fu=/^-?(\d+|\.\d+)(.*?)$/g});function ps(r){return Hb.some(e=>new RegExp(`^${e}\\(.*\\)`).test(r))}function L(r,e=null,t=!0){let i=e&&Yb.has(e.property);return r.startsWith("--")&&!i?`var(${r})`:r.includes("url(")?r.split(/(url\(.*?\))/g).filter(Boolean).map(n=>/^url\(.*?\)$/.test(n)?n:L(n,e,!1)).join(""):(r=r.replace(/([^\\])_+/g,(n,a)=>a+" ".repeat(n.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),t&&(r=r.trim()),r=Qb(r),r)}function Qb(r){let e=["theme"],t=["min-content","max-content","fit-content","safe-area-inset-top","safe-area-inset-right","safe-area-inset-bottom","safe-area-inset-left","titlebar-area-x","titlebar-area-y","titlebar-area-width","titlebar-area-height","keyboard-inset-top","keyboard-inset-right","keyboard-inset-bottom","keyboard-inset-left","keyboard-inset-width","keyboard-inset-height","radial-gradient","linear-gradient","conic-gradient","repeating-radial-gradient","repeating-linear-gradient","repeating-conic-gradient"];return r.replace(/(calc|min|max|clamp)\(.+\)/g,i=>{let n="";function a(){let s=n.trimEnd();return s[s.length-1]}for(let s=0;si[s+p]===d)},u=function(f){let d=1/0;for(let m of f){let b=i.indexOf(m,s);b!==-1&&bo(f))){let f=t.find(d=>o(d));n+=f,s+=f.length-1}else e.some(f=>o(f))?n+=u([")"]):o("[")?n+=u(["]"]):["+","-","*","/"].includes(c)&&!["(","+","-","*","/",","].includes(a())?n+=` ${c} `:n+=c}return n.replace(/\s+/g," ")})}function ds(r){return r.startsWith("url(")}function hs(r){return!isNaN(Number(r))||ps(r)}function cr(r){return r.endsWith("%")&&hs(r.slice(0,-1))||ps(r)}function pr(r){return r==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${Xb}$`).test(r)||ps(r)}function Nu(r){return Kb.has(r)}function $u(r){let e=xi(L(r));for(let t of e)if(!t.valid)return!1;return!0}function zu(r){let e=0;return ae(r,"_").every(i=>(i=L(i),i.startsWith("var(")?!0:ur(i,{loose:!0})!==null?(e++,!0):!1))?e>0:!1}function ju(r){let e=0;return ae(r,",").every(i=>(i=L(i),i.startsWith("var(")?!0:ds(i)||e0(i)||["element(","image(","cross-fade(","image-set("].some(n=>i.startsWith(n))?(e++,!0):!1))?e>0:!1}function e0(r){r=L(r);for(let e of Zb)if(r.startsWith(`${e}(`))return!0;return!1}function Vu(r){let e=0;return ae(r,"_").every(i=>(i=L(i),i.startsWith("var(")?!0:t0.has(i)||pr(i)||cr(i)?(e++,!0):!1))?e>0:!1}function Uu(r){let e=0;return ae(r,",").every(i=>(i=L(i),i.startsWith("var(")?!0:i.includes(" ")&&!/(['"])([^"']+)\1/g.test(i)||/^\d/g.test(i)?!1:(e++,!0)))?e>0:!1}function Wu(r){return r0.has(r)}function Gu(r){return i0.has(r)}function Hu(r){return n0.has(r)}var Hb,Yb,Jb,Xb,Kb,Zb,t0,r0,i0,n0,dr=C(()=>{l();fs();cs();_t();Hb=["min","max","clamp","calc"];Yb=new Set(["scroll-timeline-name","timeline-scope","view-timeline-name","font-palette","scroll-timeline","animation-timeline","view-timeline"]);Jb=["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"],Xb=`(?:${Jb.join("|")})`;Kb=new Set(["thin","medium","thick"]);Zb=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);t0=new Set(["center","top","right","bottom","left"]);r0=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);i0=new Set(["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large"]);n0=new Set(["larger","smaller"])});function Yu(r){let e=["cover","contain"];return ae(r,",").every(t=>{let i=ae(t,"_").filter(Boolean);return i.length===1&&e.includes(i[0])?!0:i.length!==1&&i.length!==2?!1:i.every(n=>pr(n)||cr(n)||n==="auto")})}var Qu=C(()=>{l();dr();_t()});function Ju(r,e){r.walkClasses(t=>{t.value=e(t.value),t.raws&&t.raws.value&&(t.raws.value=wt(t.raws.value))})}function Xu(r,e){if(!it(r))return;let t=r.slice(1,-1);if(!!e(t))return L(t)}function s0(r,e={},t){let i=e[r];if(i!==void 0)return Ke(i);if(it(r)){let n=Xu(r,t);return n===void 0?void 0:Ke(n)}}function ki(r,e={},{validate:t=()=>!0}={}){let i=e.values?.[r];return i!==void 0?i:e.supportsNegativeValues&&r.startsWith("-")?s0(r.slice(1),e.values,t):Xu(r,t)}function it(r){return r.startsWith("[")&&r.endsWith("]")}function Ku(r){let e=r.lastIndexOf("/"),t=r.lastIndexOf("[",e),i=r.indexOf("]",e);return r[e-1]==="]"||r[e+1]==="["||t!==-1&&i!==-1&&t")){let e=r;return({opacityValue:t=1})=>e.replace("",t)}return r}function Zu(r){return L(r.slice(1,-1))}function a0(r,e={},{tailwindConfig:t={}}={}){if(e.values?.[r]!==void 0)return Ot(e.values?.[r]);let[i,n]=Ku(r);if(n!==void 0){let a=e.values?.[i]??(it(i)?i.slice(1,-1):void 0);return a===void 0?void 0:(a=Ot(a),it(n)?Ie(a,Zu(n)):t.theme?.opacity?.[n]===void 0?void 0:Ie(a,t.theme.opacity[n]))}return ki(r,e,{validate:zu})}function o0(r,e={}){return e.values?.[r]}function me(r){return(e,t)=>ki(e,t,{validate:r})}function l0(r,e){let t=r.indexOf(e);return t===-1?[void 0,r]:[r.slice(0,t),r.slice(t+1)]}function gs(r,e,t,i){if(t.values&&e in t.values)for(let{type:a}of r??[]){let s=ms[a](e,t,{tailwindConfig:i});if(s!==void 0)return[s,a,null]}if(it(e)){let a=e.slice(1,-1),[s,o]=l0(a,":");if(!/^[\w-_]+$/g.test(s))o=a;else if(s!==void 0&&!ef.includes(s))return[];if(o.length>0&&ef.includes(s))return[ki(`[${o}]`,t),s,null]}let n=ys(r,e,t,i);for(let a of n)return a;return[]}function*ys(r,e,t,i){let n=K(i,"generalizedModifiers"),[a,s]=Ku(e);if(n&&t.modifiers!=null&&(t.modifiers==="any"||typeof t.modifiers=="object"&&(s&&it(s)||s in t.modifiers))||(a=e,s=void 0),s!==void 0&&a===""&&(a="DEFAULT"),s!==void 0&&typeof t.modifiers=="object"){let u=t.modifiers?.[s]??null;u!==null?s=u:it(s)&&(s=Zu(s))}for(let{type:u}of r??[]){let c=ms[u](a,t,{tailwindConfig:i});c!==void 0&&(yield[c,u,s??null])}}var ms,ef,hr=C(()=>{l();bi();fr();dr();di();Qu();je();ms={any:ki,color:a0,url:me(ds),image:me(ju),length:me(pr),percentage:me(cr),position:me(Vu),lookup:o0,"generic-name":me(Wu),"family-name":me(Uu),number:me(hs),"line-width":me(Nu),"absolute-size":me(Gu),"relative-size":me(Hu),shadow:me($u),size:me(Yu)},ef=Object.keys(ms)});function N(r){return typeof r=="function"?r({}):r}var ws=C(()=>{l()});function Et(r){return typeof r=="function"}function mr(r,...e){let t=e.pop();for(let i of e)for(let n in i){let a=t(r[n],i[n]);a===void 0?ie(r[n])&&ie(i[n])?r[n]=mr({},r[n],i[n],t):r[n]=i[n]:r[n]=a}return r}function u0(r,...e){return Et(r)?r(...e):r}function f0(r){return r.reduce((e,{extend:t})=>mr(e,t,(i,n)=>i===void 0?[n]:Array.isArray(i)?[n,...i]:[n,i]),{})}function c0(r){return{...r.reduce((e,t)=>os(e,t),{}),extend:f0(r)}}function tf(r,e){if(Array.isArray(r)&&ie(r[0]))return r.concat(e);if(Array.isArray(e)&&ie(e[0])&&ie(r))return[r,...e];if(Array.isArray(e))return e}function p0({extend:r,...e}){return mr(e,r,(t,i)=>!Et(t)&&!i.some(Et)?mr({},t,...i,tf):(n,a)=>mr({},...[t,...i].map(s=>u0(s,n,a)),tf))}function*d0(r){let e=Ze(r);if(e.length===0||(yield e,Array.isArray(r)))return;let t=/^(.*?)\s*\/\s*([^/]+)$/,i=r.match(t);if(i!==null){let[,n,a]=i,s=Ze(n);s.alpha=a,yield s}}function h0(r){let e=(t,i)=>{for(let n of d0(t)){let a=0,s=r;for(;s!=null&&a(t[i]=Et(r[i])?r[i](e,bs):r[i],t),{})}function rf(r){let e=[];return r.forEach(t=>{e=[...e,t];let i=t?.plugins??[];i.length!==0&&i.forEach(n=>{n.__isOptionsFunction&&(n=n()),e=[...e,...rf([n?.config??{}])]})}),e}function m0(r){return[...r].reduceRight((t,i)=>Et(i)?i({corePlugins:t}):Au(i,t),Su)}function g0(r){return[...r].reduceRight((t,i)=>[...t,...i],[])}function vs(r){let e=[...rf(r),{prefix:"",important:!1,separator:":"}];return qu(os({theme:h0(p0(c0(e.map(t=>t?.theme??{})))),corePlugins:m0(e.map(t=>t.corePlugins)),plugins:g0(r.map(t=>t?.plugins??[]))},...e))}var bs,nf=C(()=>{l();di();Cu();_u();mi();Tu();gi();Ru();At();wi();hr();fr();ws();bs={colors:ss,negative(r){return Object.keys(r).filter(e=>r[e]!=="0").reduce((e,t)=>{let i=Ke(r[t]);return i!==void 0&&(e[`-${t}`]=i),e},{})},breakpoints(r){return Object.keys(r).filter(e=>typeof r[e]=="string").reduce((e,t)=>({...e,[`screen-${t}`]:r[t]}),{})}}});var Si=v((i3,sf)=>{l();sf.exports={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:r})=>({...r("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:r})=>r("blur"),backdropBrightness:({theme:r})=>r("brightness"),backdropContrast:({theme:r})=>r("contrast"),backdropGrayscale:({theme:r})=>r("grayscale"),backdropHueRotate:({theme:r})=>r("hueRotate"),backdropInvert:({theme:r})=>r("invert"),backdropOpacity:({theme:r})=>r("opacity"),backdropSaturate:({theme:r})=>r("saturate"),backdropSepia:({theme:r})=>r("sepia"),backgroundColor:({theme:r})=>r("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:r})=>r("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:r})=>({...r("colors"),DEFAULT:r("colors.gray.200","currentColor")}),borderOpacity:({theme:r})=>r("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:r})=>({...r("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:r})=>r("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:r})=>r("colors"),colors:({colors:r})=>({inherit:r.inherit,current:r.current,transparent:r.transparent,black:r.black,white:r.white,slate:r.slate,gray:r.gray,zinc:r.zinc,neutral:r.neutral,stone:r.stone,red:r.red,orange:r.orange,amber:r.amber,yellow:r.yellow,lime:r.lime,green:r.green,emerald:r.emerald,teal:r.teal,cyan:r.cyan,sky:r.sky,blue:r.blue,indigo:r.indigo,violet:r.violet,purple:r.purple,fuchsia:r.fuchsia,pink:r.pink,rose:r.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:r})=>r("borderColor"),divideOpacity:({theme:r})=>r("borderOpacity"),divideWidth:({theme:r})=>r("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:r})=>({none:"none",...r("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:r})=>r("spacing"),gradientColorStops:({theme:r})=>r("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridTemplateColumns:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",subgrid:"subgrid",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},height:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:r})=>({auto:"auto",...r("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:r})=>({...r("spacing"),none:"none",full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:r,breakpoints:e})=>({...r("spacing"),none:"none",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(r("screens"))}),minHeight:({theme:r})=>({...r("spacing"),full:"100%",screen:"100vh",svh:"100svh",lvh:"100lvh",dvh:"100dvh",min:"min-content",max:"max-content",fit:"fit-content"}),minWidth:({theme:r})=>({...r("spacing"),full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",15:"0.15",20:"0.2",25:"0.25",30:"0.3",35:"0.35",40:"0.4",45:"0.45",50:"0.5",55:"0.55",60:"0.6",65:"0.65",70:"0.7",75:"0.75",80:"0.8",85:"0.85",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:r})=>r("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:r})=>r("spacing"),placeholderColor:({theme:r})=>r("colors"),placeholderOpacity:({theme:r})=>r("opacity"),ringColor:({theme:r})=>({DEFAULT:r("colors.blue.500","#3b82f6"),...r("colors")}),ringOffsetColor:({theme:r})=>r("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:r})=>({DEFAULT:"0.5",...r("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:r})=>({...r("spacing")}),scrollPadding:({theme:r})=>r("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:r})=>({...r("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:r})=>({none:"none",...r("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:r})=>r("colors"),textDecorationColor:({theme:r})=>r("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:r})=>({...r("spacing")}),textOpacity:({theme:r})=>r("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:r})=>({...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),size:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"}),width:({theme:r})=>({auto:"auto",...r("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",svw:"100svw",lvw:"100lvw",dvw:"100dvw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}});function Ci(r){let e=(r?.presets??[af.default]).slice().reverse().flatMap(n=>Ci(n instanceof Function?n():n)),t={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:n})=>({DEFAULT:"#3b82f67f",...n("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},i=Object.keys(t).filter(n=>K(r,n)).map(n=>t[n]);return[r,...i,...e]}var af,of=C(()=>{l();af=X(Si());je()});var lf={};Ae(lf,{default:()=>gr});function gr(...r){let[,...e]=Ci(r[0]);return vs([...r,...e])}var xs=C(()=>{l();nf();of()});var uf={};Ae(uf,{default:()=>Z});var Z,bt=C(()=>{l();Z={resolve:r=>r,extname:r=>"."+r.split(".").pop()}});function Ai(r){return typeof r=="object"&&r!==null}function w0(r){return Object.keys(r).length===0}function ff(r){return typeof r=="string"||r instanceof String}function ks(r){return Ai(r)&&r.config===void 0&&!w0(r)?null:Ai(r)&&r.config!==void 0&&ff(r.config)?Z.resolve(r.config):Ai(r)&&r.config!==void 0&&Ai(r.config)?null:ff(r)?Z.resolve(r):b0()}function b0(){for(let r of y0)try{let e=Z.resolve(r);return te.accessSync(e),e}catch(e){}return null}var y0,cf=C(()=>{l();ze();bt();y0=["./tailwind.config.js","./tailwind.config.cjs","./tailwind.config.mjs","./tailwind.config.ts"]});var pf={};Ae(pf,{default:()=>Ss});var Ss,Cs=C(()=>{l();Ss={parse:r=>({href:r})}});var As=v(()=>{l()});var _i=v((d3,mf)=>{l();"use strict";var df=(hi(),Ou),hf=As(),Tt=class extends Error{constructor(e,t,i,n,a,s){super(e);this.name="CssSyntaxError",this.reason=e,a&&(this.file=a),n&&(this.source=n),s&&(this.plugin=s),typeof t!="undefined"&&typeof i!="undefined"&&(typeof t=="number"?(this.line=t,this.column=i):(this.line=t.line,this.column=t.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Tt)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line!="undefined"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;e==null&&(e=df.isColorSupported),hf&&e&&(t=hf(t));let i=t.split(/\r?\n/),n=Math.max(this.line-3,0),a=Math.min(this.line+2,i.length),s=String(a).length,o,u;if(e){let{bold:c,red:f,gray:d}=df.createColors(!0);o=p=>c(f(p)),u=p=>d(p)}else o=u=c=>c;return i.slice(n,a).map((c,f)=>{let d=n+1+f,p=" "+(" "+d).slice(-s)+" | ";if(d===this.line){let m=u(p.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+u(p)+c+` + `+m+o("^")}return" "+u(p)+c}).join(` +`)}toString(){let e=this.showSourceCode();return e&&(e=` + +`+e+` +`),this.name+": "+this.message+e}};mf.exports=Tt;Tt.default=Tt});var Oi=v((h3,_s)=>{l();"use strict";_s.exports.isClean=Symbol("isClean");_s.exports.my=Symbol("my")});var Os=v((m3,yf)=>{l();"use strict";var gf={colon:": ",indent:" ",beforeDecl:` +`,beforeRule:` +`,beforeOpen:" ",beforeClose:` +`,beforeComment:` +`,after:` +`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function v0(r){return r[0].toUpperCase()+r.slice(1)}var Ei=class{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+i+"*/",e)}decl(e,t){let i=this.raw(e,"between","colon"),n=e.prop+i+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let i="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName!="undefined"?i+=e.raws.afterName:n&&(i+=" "),e.nodes)this.block(e,i+n);else{let a=(e.raws.between||"")+(t?";":"");this.builder(i+n+a,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type==="comment";)t-=1;let i=this.raw(e,"semicolon");for(let n=0;n{if(n=u.raws[t],typeof n!="undefined")return!1})}return typeof n=="undefined"&&(n=gf[i]),s.rawCache[i]=n,n}rawSemicolon(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(t=i.raws.semicolon,typeof t!="undefined"))return!1}),t}rawEmptyBody(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(t=i.raws.after,typeof t!="undefined"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(i=>{let n=i.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof i.raws.before!="undefined"){let a=i.raws.before.split(` +`);return t=a[a.length-1],t=t.replace(/\S/g,""),!1}}),t}rawBeforeComment(e,t){let i;return e.walkComments(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(` +`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(t,null,"beforeDecl"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeDecl(e,t){let i;return e.walkDecls(n=>{if(typeof n.raws.before!="undefined")return i=n.raws.before,i.includes(` +`)&&(i=i.replace(/[^\n]+$/,"")),!1}),typeof i=="undefined"?i=this.raw(t,null,"beforeRule"):i&&(i=i.replace(/\S/g,"")),i}rawBeforeRule(e){let t;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before!="undefined")return t=i.raws.before,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after!="undefined")return t=i.raws.after,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk(i=>{if(i.type!=="decl"&&(t=i.raws.between,typeof t!="undefined"))return!1}),t}rawColon(e){let t;return e.walkDecls(i=>{if(typeof i.raws.between!="undefined")return t=i.raws.between.replace(/[^\s:]/g,""),!1}),t}beforeAfter(e,t){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):t==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let n=e.parent,a=0;for(;n&&n.type!=="root";)a+=1,n=n.parent;if(i.includes(` +`)){let s=this.raw(e,null,"indent");if(s.length)for(let o=0;o{l();"use strict";var x0=Os();function Es(r,e){new x0(e).stringify(r)}wf.exports=Es;Es.default=Es});var wr=v((y3,bf)=>{l();"use strict";var{isClean:Ti,my:k0}=Oi(),S0=_i(),C0=Os(),A0=yr();function Ts(r,e){let t=new r.constructor;for(let i in r){if(!Object.prototype.hasOwnProperty.call(r,i)||i==="proxyCache")continue;let n=r[i],a=typeof n;i==="parent"&&a==="object"?e&&(t[i]=e):i==="source"?t[i]=n:Array.isArray(n)?t[i]=n.map(s=>Ts(s,t)):(a==="object"&&n!==null&&(n=Ts(n)),t[i]=n)}return t}var Pi=class{constructor(e={}){this.raws={},this[Ti]=!1,this[k0]=!0;for(let t in e)if(t==="nodes"){this.nodes=[];for(let i of e[t])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:i,end:n}=this.rangeBy(t);return this.source.input.error(e,{line:i.line,column:i.column},{line:n.line,column:n.column},t)}return new S0(e)}warn(e,t,i){let n={node:this};for(let a in i)n[a]=i[a];return e.warn(t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=A0){e.stringify&&(e=e.stringify);let t="";return e(this,i=>{t+=i}),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=Ts(this);for(let i in e)t[i]=e[i];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,i=!1;for(let n of e)n===this?i=!0:i?(this.parent.insertAfter(t,n),t=n):this.parent.insertBefore(t,n);i||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}raw(e,t){return new C0().raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let i={},n=t==null;t=t||new Map;let a=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let o=this[s];if(Array.isArray(o))i[s]=o.map(u=>typeof u=="object"&&u.toJSON?u.toJSON(null,t):u);else if(typeof o=="object"&&o.toJSON)i[s]=o.toJSON(null,t);else if(s==="source"){let u=t.get(o.input);u==null&&(u=a,t.set(o.input,a),a++),i[s]={inputId:u,start:o.start,end:o.end}}else i[s]=o}return n&&(i.inputs=[...t.keys()].map(s=>s.toJSON())),i}positionInside(e){let t=this.toString(),i=this.source.start.column,n=this.source.start.line;for(let a=0;ae.root().toProxy():e[t]}}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[Ti]){this[Ti]=!1;let e=this;for(;e=e.parent;)e[Ti]=!1}}get proxyOf(){return this}};bf.exports=Pi;Pi.default=Pi});var br=v((w3,vf)=>{l();"use strict";var _0=wr(),Di=class extends _0{constructor(e){e&&typeof e.value!="undefined"&&typeof e.value!="string"&&(e={...e,value:String(e.value)});super(e);this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};vf.exports=Di;Di.default=Di});var Ps=v((b3,xf)=>{l();xf.exports=function(r,e){return{generate:()=>{let t="";return r(e,i=>{t+=i}),[t]}}}});var vr=v((v3,kf)=>{l();"use strict";var O0=wr(),Ii=class extends O0{constructor(e){super(e);this.type="comment"}};kf.exports=Ii;Ii.default=Ii});var nt=v((x3,Df)=>{l();"use strict";var{isClean:Sf,my:Cf}=Oi(),Af=br(),_f=vr(),E0=wr(),Of,Ds,Is,Ef;function Tf(r){return r.map(e=>(e.nodes&&(e.nodes=Tf(e.nodes)),delete e.source,e))}function Pf(r){if(r[Sf]=!1,r.proxyOf.nodes)for(let e of r.proxyOf.nodes)Pf(e)}var we=class extends E0{push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),i,n;for(;this.indexes[t]{let n;try{n=e(t,i)}catch(a){throw t.addToError(a)}return n!==!1&&t.walk&&(n=t.walk(e)),n})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="decl"&&e.test(i.prop))return t(i,n)}):this.walk((i,n)=>{if(i.type==="decl"&&i.prop===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="decl")return t(i,n)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="rule"&&e.test(i.selector))return t(i,n)}):this.walk((i,n)=>{if(i.type==="rule"&&i.selector===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="rule")return t(i,n)}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((i,n)=>{if(i.type==="atrule"&&e.test(i.name))return t(i,n)}):this.walk((i,n)=>{if(i.type==="atrule"&&i.name===e)return t(i,n)}):(t=e,this.walk((i,n)=>{if(i.type==="atrule")return t(i,n)}))}walkComments(e){return this.walk((t,i)=>{if(t.type==="comment")return e(t,i)})}append(...e){for(let t of e){let i=this.normalize(t,this.last);for(let n of i)this.proxyOf.nodes.push(n)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let i=this.normalize(t,this.first,"prepend").reverse();for(let n of i)this.proxyOf.nodes.unshift(n);for(let n in this.indexes)this.indexes[n]=this.indexes[n]+i.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let i=this.index(e),n=i===0?"prepend":!1,a=this.normalize(t,this.proxyOf.nodes[i],n).reverse();i=this.index(e);for(let o of a)this.proxyOf.nodes.splice(i,0,o);let s;for(let o in this.indexes)s=this.indexes[o],i<=s&&(this.indexes[o]=s+a.length);return this.markDirty(),this}insertAfter(e,t){let i=this.index(e),n=this.normalize(t,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of n)this.proxyOf.nodes.splice(i+1,0,s);let a;for(let s in this.indexes)a=this.indexes[s],i=e&&(this.indexes[i]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,i){return i||(i=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,i))}),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if(typeof e=="string")e=Tf(Of(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value=="undefined")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new Af(e)]}else if(e.selector)e=[new Ds(e)];else if(e.name)e=[new Is(e)];else if(e.text)e=[new _f(e)];else throw new Error("Unknown node type in node creation");return e.map(n=>(n[Cf]||we.rebuild(n),n=n.proxyOf,n.parent&&n.parent.removeChild(n),n[Sf]&&Pf(n),typeof n.raws.before=="undefined"&&t&&typeof t.raws.before!="undefined"&&(n.raws.before=t.raws.before.replace(/\S/g,"")),n.parent=this.proxyOf,n))}getProxyProcessor(){return{set(e,t,i){return e[t]===i||(e[t]=i,(t==="name"||t==="params"||t==="selector")&&e.markDirty()),!0},get(e,t){return t==="proxyOf"?e:e[t]?t==="each"||typeof t=="string"&&t.startsWith("walk")?(...i)=>e[t](...i.map(n=>typeof n=="function"?(a,s)=>n(a.toProxy(),s):n)):t==="every"||t==="some"?i=>e[t]((n,...a)=>i(n.toProxy(),...a)):t==="root"?()=>e.root().toProxy():t==="nodes"?e.nodes.map(i=>i.toProxy()):t==="first"||t==="last"?e[t].toProxy():e[t]:e[t]}}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}};we.registerParse=r=>{Of=r};we.registerRule=r=>{Ds=r};we.registerAtRule=r=>{Is=r};we.registerRoot=r=>{Ef=r};Df.exports=we;we.default=we;we.rebuild=r=>{r.type==="atrule"?Object.setPrototypeOf(r,Is.prototype):r.type==="rule"?Object.setPrototypeOf(r,Ds.prototype):r.type==="decl"?Object.setPrototypeOf(r,Af.prototype):r.type==="comment"?Object.setPrototypeOf(r,_f.prototype):r.type==="root"&&Object.setPrototypeOf(r,Ef.prototype),r[Cf]=!0,r.nodes&&r.nodes.forEach(e=>{we.rebuild(e)})}});var qi=v((k3,Rf)=>{l();"use strict";var T0=nt(),If,qf,Pt=class extends T0{constructor(e){super({type:"document",...e});this.nodes||(this.nodes=[])}toResult(e={}){return new If(new qf,this,e).stringify()}};Pt.registerLazyResult=r=>{If=r};Pt.registerProcessor=r=>{qf=r};Rf.exports=Pt;Pt.default=Pt});var qs=v((S3,Bf)=>{l();"use strict";var Mf={};Bf.exports=function(e){Mf[e]||(Mf[e]=!0,typeof console!="undefined"&&console.warn&&console.warn(e))}});var Rs=v((C3,Ff)=>{l();"use strict";var Ri=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let i=t.node.rangeBy(t);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in t)this[i]=t[i]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Ff.exports=Ri;Ri.default=Ri});var Bi=v((A3,Lf)=>{l();"use strict";var P0=Rs(),Mi=class{constructor(e,t,i){this.processor=e,this.messages=[],this.root=t,this.opts=i,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let i=new P0(e,t);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};Lf.exports=Mi;Mi.default=Mi});var Vf=v((_3,jf)=>{l();"use strict";var Ms="'".charCodeAt(0),Nf='"'.charCodeAt(0),Fi="\\".charCodeAt(0),$f="/".charCodeAt(0),Li=` +`.charCodeAt(0),xr=" ".charCodeAt(0),Ni="\f".charCodeAt(0),$i=" ".charCodeAt(0),zi="\r".charCodeAt(0),D0="[".charCodeAt(0),I0="]".charCodeAt(0),q0="(".charCodeAt(0),R0=")".charCodeAt(0),M0="{".charCodeAt(0),B0="}".charCodeAt(0),F0=";".charCodeAt(0),L0="*".charCodeAt(0),N0=":".charCodeAt(0),$0="@".charCodeAt(0),ji=/[\t\n\f\r "#'()/;[\\\]{}]/g,Vi=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,z0=/.[\n"'(/\\]/,zf=/[\da-f]/i;jf.exports=function(e,t={}){let i=e.css.valueOf(),n=t.ignoreErrors,a,s,o,u,c,f,d,p,m,b,x=i.length,y=0,w=[],k=[];function S(){return y}function _(R){throw e.error("Unclosed "+R,y)}function E(){return k.length===0&&y>=x}function I(R){if(k.length)return k.pop();if(y>=x)return;let J=R?R.ignoreUnclosed:!1;switch(a=i.charCodeAt(y),a){case Li:case xr:case $i:case zi:case Ni:{s=y;do s+=1,a=i.charCodeAt(s);while(a===xr||a===Li||a===$i||a===zi||a===Ni);b=["space",i.slice(y,s)],y=s-1;break}case D0:case I0:case M0:case B0:case N0:case F0:case R0:{let ue=String.fromCharCode(a);b=[ue,ue,y];break}case q0:{if(p=w.length?w.pop()[1]:"",m=i.charCodeAt(y+1),p==="url"&&m!==Ms&&m!==Nf&&m!==xr&&m!==Li&&m!==$i&&m!==Ni&&m!==zi){s=y;do{if(f=!1,s=i.indexOf(")",s+1),s===-1)if(n||J){s=y;break}else _("bracket");for(d=s;i.charCodeAt(d-1)===Fi;)d-=1,f=!f}while(f);b=["brackets",i.slice(y,s+1),y,s],y=s}else s=i.indexOf(")",y+1),u=i.slice(y,s+1),s===-1||z0.test(u)?b=["(","(",y]:(b=["brackets",u,y,s],y=s);break}case Ms:case Nf:{o=a===Ms?"'":'"',s=y;do{if(f=!1,s=i.indexOf(o,s+1),s===-1)if(n||J){s=y+1;break}else _("string");for(d=s;i.charCodeAt(d-1)===Fi;)d-=1,f=!f}while(f);b=["string",i.slice(y,s+1),y,s],y=s;break}case $0:{ji.lastIndex=y+1,ji.test(i),ji.lastIndex===0?s=i.length-1:s=ji.lastIndex-2,b=["at-word",i.slice(y,s+1),y,s],y=s;break}case Fi:{for(s=y,c=!0;i.charCodeAt(s+1)===Fi;)s+=1,c=!c;if(a=i.charCodeAt(s+1),c&&a!==$f&&a!==xr&&a!==Li&&a!==$i&&a!==zi&&a!==Ni&&(s+=1,zf.test(i.charAt(s)))){for(;zf.test(i.charAt(s+1));)s+=1;i.charCodeAt(s+1)===xr&&(s+=1)}b=["word",i.slice(y,s+1),y,s],y=s;break}default:{a===$f&&i.charCodeAt(y+1)===L0?(s=i.indexOf("*/",y+2)+1,s===0&&(n||J?s=i.length:_("comment")),b=["comment",i.slice(y,s+1),y,s],y=s):(Vi.lastIndex=y+1,Vi.test(i),Vi.lastIndex===0?s=i.length-1:s=Vi.lastIndex-2,b=["word",i.slice(y,s+1),y,s],w.push(b),y=s);break}}return y++,b}function q(R){k.push(R)}return{back:q,nextToken:I,endOfFile:E,position:S}}});var Ui=v((O3,Wf)=>{l();"use strict";var Uf=nt(),kr=class extends Uf{constructor(e){super(e);this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};Wf.exports=kr;kr.default=kr;Uf.registerAtRule(kr)});var Dt=v((E3,Qf)=>{l();"use strict";var Gf=nt(),Hf,Yf,vt=class extends Gf{constructor(e){super(e);this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let i=this.index(e);return!t&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}normalize(e,t,i){let n=super.normalize(e);if(t){if(i==="prepend")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let a of n)a.raws.before=t.raws.before}return n}toResult(e={}){return new Hf(new Yf,this,e).stringify()}};vt.registerLazyResult=r=>{Hf=r};vt.registerProcessor=r=>{Yf=r};Qf.exports=vt;vt.default=vt;Gf.registerRoot(vt)});var Bs=v((T3,Jf)=>{l();"use strict";var Sr={split(r,e,t){let i=[],n="",a=!1,s=0,o=!1,u="",c=!1;for(let f of r)c?c=!1:f==="\\"?c=!0:o?f===u&&(o=!1):f==='"'||f==="'"?(o=!0,u=f):f==="("?s+=1:f===")"?s>0&&(s-=1):s===0&&e.includes(f)&&(a=!0),a?(n!==""&&i.push(n.trim()),n="",a=!1):n+=f;return(t||n!=="")&&i.push(n.trim()),i},space(r){let e=[" ",` +`," "];return Sr.split(r,e)},comma(r){return Sr.split(r,[","],!0)}};Jf.exports=Sr;Sr.default=Sr});var Wi=v((P3,Kf)=>{l();"use strict";var Xf=nt(),j0=Bs(),Cr=class extends Xf{constructor(e){super(e);this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return j0.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,i=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}};Kf.exports=Cr;Cr.default=Cr;Xf.registerRule(Cr)});var ic=v((D3,rc)=>{l();"use strict";var V0=br(),U0=Vf(),W0=vr(),G0=Ui(),H0=Dt(),Zf=Wi(),ec={empty:!0,space:!0};function Y0(r){for(let e=r.length-1;e>=0;e--){let t=r[e],i=t[3]||t[2];if(i)return i}}var tc=class{constructor(e){this.input=e,this.root=new H0,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=U0(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}comment(e){let t=new W0;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let i=e[1].slice(2,-2);if(/^\s*$/.test(i))t.text="",t.raws.left=i,t.raws.right="";else{let n=i.match(/^(\s*)([^]*\S)(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}}emptyRule(e){let t=new Zf;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,i=null,n=!1,a=null,s=[],o=e[1].startsWith("--"),u=[],c=e;for(;c;){if(i=c[0],u.push(c),i==="("||i==="[")a||(a=c),s.push(i==="("?")":"]");else if(o&&n&&i==="{")a||(a=c),s.push("}");else if(s.length===0)if(i===";")if(n){this.decl(u,o);return}else break;else if(i==="{"){this.rule(u);return}else if(i==="}"){this.tokenizer.back(u.pop()),t=!0;break}else i===":"&&(n=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(a=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(a),t&&n){if(!o)for(;u.length&&(c=u[u.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(u.pop());this.decl(u,o)}else this.unknownWord(u)}rule(e){e.pop();let t=new Zf;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let i=new V0;this.init(i,e[0][2]);let n=e[e.length-1];for(n[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(n[3]||n[2]||Y0(e));e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let a;for(;e.length;)if(a=e.shift(),a[0]===":"){i.raws.between+=a[1];break}else a[0]==="word"&&/\w/.test(a[1])&&this.unknownWord([a]),i.raws.between+=a[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],o;for(;e.length&&(o=e[0][0],!(o!=="space"&&o!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(a=e[c],a[1].toLowerCase()==="!important"){i.important=!0;let f=this.stringFrom(e,c);f=this.spacesFromEnd(e)+f,f!==" !important"&&(i.raws.important=f);break}else if(a[1].toLowerCase()==="important"){let f=e.slice(0),d="";for(let p=c;p>0;p--){let m=f[p][0];if(d.trim().indexOf("!")===0&&m!=="space")break;d=f.pop()[1]+d}d.trim().indexOf("!")===0&&(i.important=!0,i.raws.important=d,e=f)}if(a[0]!=="space"&&a[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),t),i.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t=new G0;t.name=e[1].slice(1),t.name===""&&this.unnamedAtrule(t,e),this.init(t,e[2]);let i,n,a,s=!1,o=!1,u=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){t.source.end=this.getPosition(e[2]),this.semicolon=!0;break}else if(i==="{"){o=!0;break}else if(i==="}"){if(u.length>0){for(a=u.length-1,n=u[a];n&&n[0]==="space";)n=u[--a];n&&(t.source.end=this.getPosition(n[3]||n[2]))}this.end(e);break}else u.push(e);else u.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(t.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(t,"params",u),s&&(e=u[u.length-1],t.source.end=this.getPosition(e[3]||e[2]),this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type==="rule"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}raw(e,t,i,n){let a,s,o=i.length,u="",c=!0,f,d;for(let p=0;pm+b[1],"");e.raws[t]={value:u,raw:p}}e[t]=u}spacesAndCommentsFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],!(t!=="space"&&t!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let t,i="";for(;e.length&&(t=e[0][0],!(t!=="space"&&t!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let t,i="";for(;e.length&&(t=e[e.length-1][0],t==="space");)i=e.pop()[1]+i;return i}stringFrom(e,t){let i="";for(let n=t;n=0&&(n=e[a],!(n[0]!=="space"&&(i+=1,i===2)));a--);throw this.input.error("Missed semicolon",n[0]==="word"?n[3]+1:n[2])}};rc.exports=tc});var nc=v(()=>{l()});var ac=v((R3,sc)=>{l();var Q0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",J0=(r,e=21)=>(t=e)=>{let i="",n=t;for(;n--;)i+=r[Math.random()*r.length|0];return i},X0=(r=21)=>{let e="",t=r;for(;t--;)e+=Q0[Math.random()*64|0];return e};sc.exports={nanoid:X0,customAlphabet:J0}});var Fs=v((M3,oc)=>{l();oc.exports={}});var Hi=v((B3,cc)=>{l();"use strict";var{SourceMapConsumer:K0,SourceMapGenerator:Z0}=nc(),{fileURLToPath:lc,pathToFileURL:Gi}=(Cs(),pf),{resolve:Ls,isAbsolute:Ns}=(bt(),uf),{nanoid:ev}=ac(),$s=As(),uc=_i(),tv=Fs(),zs=Symbol("fromOffsetCache"),rv=Boolean(K0&&Z0),fc=Boolean(Ls&&Ns),Ar=class{constructor(e,t={}){if(e===null||typeof e=="undefined"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!fc||/^\w+:\/\//.test(t.from)||Ns(t.from)?this.file=t.from:this.file=Ls(t.from)),fc&&rv){let i=new tv(this.css,t);if(i.text){this.map=i;let n=i.consumer().file;!this.file&&n&&(this.file=this.mapResolve(n))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,i;if(this[zs])i=this[zs];else{let a=this.css.split(` +`);i=new Array(a.length);let s=0;for(let o=0,u=a.length;o=t)n=i.length-1;else{let a=i.length-2,s;for(;n>1),e=i[s+1])n=s+1;else{n=s;break}}return{line:n+1,col:e-i[n]+1}}error(e,t,i,n={}){let a,s,o;if(t&&typeof t=="object"){let c=t,f=i;if(typeof c.offset=="number"){let d=this.fromOffset(c.offset);t=d.line,i=d.col}else t=c.line,i=c.column;if(typeof f.offset=="number"){let d=this.fromOffset(f.offset);s=d.line,o=d.col}else s=f.line,o=f.column}else if(!i){let c=this.fromOffset(t);t=c.line,i=c.col}let u=this.origin(t,i,s,o);return u?a=new uc(e,u.endLine===void 0?u.line:{line:u.line,column:u.column},u.endLine===void 0?u.column:{line:u.endLine,column:u.endColumn},u.source,u.file,n.plugin):a=new uc(e,s===void 0?t:{line:t,column:i},s===void 0?i:{line:s,column:o},this.css,this.file,n.plugin),a.input={line:t,column:i,endLine:s,endColumn:o,source:this.css},this.file&&(Gi&&(a.input.url=Gi(this.file).toString()),a.input.file=this.file),a}origin(e,t,i,n){if(!this.map)return!1;let a=this.map.consumer(),s=a.originalPositionFor({line:e,column:t});if(!s.source)return!1;let o;typeof i=="number"&&(o=a.originalPositionFor({line:i,column:n}));let u;Ns(s.source)?u=Gi(s.source):u=new URL(s.source,this.map.consumer().sourceRoot||Gi(this.map.mapFile));let c={url:u.toString(),line:s.line,column:s.column,endLine:o&&o.line,endColumn:o&&o.column};if(u.protocol==="file:")if(lc)c.file=lc(u);else throw new Error("file: protocol is not available in this PostCSS build");let f=a.sourceContentFor(s.source);return f&&(c.source=f),c}mapResolve(e){return/^\w+:\/\//.test(e)?e:Ls(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};cc.exports=Ar;Ar.default=Ar;$s&&$s.registerInput&&$s.registerInput(Ar)});var Qi=v((F3,pc)=>{l();"use strict";var iv=nt(),nv=ic(),sv=Hi();function Yi(r,e){let t=new sv(r,e),i=new nv(t);try{i.parse()}catch(n){throw n}return i.root}pc.exports=Yi;Yi.default=Yi;iv.registerParse(Yi)});var Us=v((N3,gc)=>{l();"use strict";var{isClean:qe,my:av}=Oi(),ov=Ps(),lv=yr(),uv=nt(),fv=qi(),L3=qs(),dc=Bi(),cv=Qi(),pv=Dt(),dv={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},hv={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},mv={postcssPlugin:!0,prepare:!0,Once:!0},It=0;function _r(r){return typeof r=="object"&&typeof r.then=="function"}function hc(r){let e=!1,t=dv[r.type];return r.type==="decl"?e=r.prop.toLowerCase():r.type==="atrule"&&(e=r.name.toLowerCase()),e&&r.append?[t,t+"-"+e,It,t+"Exit",t+"Exit-"+e]:e?[t,t+"-"+e,t+"Exit",t+"Exit-"+e]:r.append?[t,It,t+"Exit"]:[t,t+"Exit"]}function mc(r){let e;return r.type==="document"?e=["Document",It,"DocumentExit"]:r.type==="root"?e=["Root",It,"RootExit"]:e=hc(r),{node:r,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function js(r){return r[qe]=!1,r.nodes&&r.nodes.forEach(e=>js(e)),r}var Vs={},Ve=class{constructor(e,t,i){this.stringified=!1,this.processed=!1;let n;if(typeof t=="object"&&t!==null&&(t.type==="root"||t.type==="document"))n=js(t);else if(t instanceof Ve||t instanceof dc)n=js(t.root),t.map&&(typeof i.map=="undefined"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=t.map);else{let a=cv;i.syntax&&(a=i.syntax.parse),i.parser&&(a=i.parser),a.parse&&(a=a.parse);try{n=a(t,i)}catch(s){this.processed=!0,this.error=s}n&&!n[av]&&uv.rebuild(n)}this.result=new dc(e,n,i),this.helpers={...Vs,result:this.result,postcss:Vs},this.plugins=this.processor.plugins.map(a=>typeof a=="object"&&a.prepare?{...a,...a.prepare(this.result)}:a)}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(_r(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[qe];)e[qe]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=lv;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let n=new ov(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}walkSync(e){e[qe]=!0;let t=hc(e);for(let i of t)if(i===It)e.nodes&&e.each(n=>{n[qe]||this.walkSync(n)});else{let n=this.listeners[i];if(n&&this.visitSync(n,e.toProxy()))return}}visitSync(e,t){for(let[i,n]of e){this.result.lastPlugin=i;let a;try{a=n(t,this.helpers)}catch(s){throw this.handleError(s,t.proxyOf)}if(t.type!=="root"&&t.type!=="document"&&!t.parent)return!0;if(_r(a))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let t=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return _r(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let i=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(n){console&&console.error&&console.error(n)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let i=this.visitTick(t);if(_r(i))try{await i}catch(n){let a=t[t.length-1].node;throw this.handleError(n,a)}}}if(this.listeners.OnceExit)for(let[t,i]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type==="document"){let n=e.nodes.map(a=>i(a,this.helpers));await Promise.all(n)}else await i(e,this.helpers)}catch(n){throw this.handleError(n)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(t,i,n)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([t,n])};for(let t of this.plugins)if(typeof t=="object")for(let i in t){if(!hv[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!mv[i])if(typeof t[i]=="object")for(let n in t[i])n==="*"?e(t,i,t[i][n]):e(t,i+"-"+n.toLowerCase(),t[i][n]);else typeof t[i]=="function"&&e(t,i,t[i])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:i,visitors:n}=t;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(n.length>0&&t.visitorIndex{Vs=r};gc.exports=Ve;Ve.default=Ve;pv.registerLazyResult(Ve);fv.registerLazyResult(Ve)});var wc=v((z3,yc)=>{l();"use strict";var gv=Ps(),yv=yr(),$3=qs(),wv=Qi(),bv=Bi(),Ji=class{constructor(e,t,i){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=i,this._map=void 0;let n,a=yv;this.result=new bv(this._processor,n,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let o=new gv(a,n,this._opts,t);if(o.isMap()){let[u,c]=o.generate();u&&(this.result.css=u),c&&(this.result.map=c)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=wv;try{e=t(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}};yc.exports=Ji;Ji.default=Ji});var vc=v((j3,bc)=>{l();"use strict";var vv=wc(),xv=Us(),kv=qi(),Sv=Dt(),qt=class{constructor(e=[]){this.version="8.4.24",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return this.plugins.length===0&&typeof t.parser=="undefined"&&typeof t.stringifier=="undefined"&&typeof t.syntax=="undefined"?new vv(this,e,t):new xv(this,e,t)}normalize(e){let t=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))t=t.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)t.push(i);else if(typeof i=="function")t.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return t}};bc.exports=qt;qt.default=qt;Sv.registerProcessor(qt);kv.registerProcessor(qt)});var kc=v((V3,xc)=>{l();"use strict";var Cv=br(),Av=Fs(),_v=vr(),Ov=Ui(),Ev=Hi(),Tv=Dt(),Pv=Wi();function Or(r,e){if(Array.isArray(r))return r.map(n=>Or(n));let{inputs:t,...i}=r;if(t){e=[];for(let n of t){let a={...n,__proto__:Ev.prototype};a.map&&(a.map={...a.map,__proto__:Av.prototype}),e.push(a)}}if(i.nodes&&(i.nodes=r.nodes.map(n=>Or(n,e))),i.source){let{inputId:n,...a}=i.source;i.source=a,n!=null&&(i.source.input=e[n])}if(i.type==="root")return new Tv(i);if(i.type==="decl")return new Cv(i);if(i.type==="rule")return new Pv(i);if(i.type==="comment")return new _v(i);if(i.type==="atrule")return new Ov(i);throw new Error("Unknown node type: "+r.type)}xc.exports=Or;Or.default=Or});var ge=v((U3,Tc)=>{l();"use strict";var Dv=_i(),Sc=br(),Iv=Us(),qv=nt(),Ws=vc(),Rv=yr(),Mv=kc(),Cc=qi(),Bv=Rs(),Ac=vr(),_c=Ui(),Fv=Bi(),Lv=Hi(),Nv=Qi(),$v=Bs(),Oc=Wi(),Ec=Dt(),zv=wr();function z(...r){return r.length===1&&Array.isArray(r[0])&&(r=r[0]),new Ws(r)}z.plugin=function(e,t){let i=!1;function n(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`),h.env.LANG&&h.env.LANG.startsWith("cn")&&console.warn(e+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: +https://www.w3ctech.com/topic/2226`));let o=t(...s);return o.postcssPlugin=e,o.postcssVersion=new Ws().version,o}let a;return Object.defineProperty(n,"postcss",{get(){return a||(a=n()),a}}),n.process=function(s,o,u){return z([n(u)]).process(s,o)},n};z.stringify=Rv;z.parse=Nv;z.fromJSON=Mv;z.list=$v;z.comment=r=>new Ac(r);z.atRule=r=>new _c(r);z.decl=r=>new Sc(r);z.rule=r=>new Oc(r);z.root=r=>new Ec(r);z.document=r=>new Cc(r);z.CssSyntaxError=Dv;z.Declaration=Sc;z.Container=qv;z.Processor=Ws;z.Document=Cc;z.Comment=Ac;z.Warning=Bv;z.AtRule=_c;z.Result=Fv;z.Input=Lv;z.Rule=Oc;z.Root=Ec;z.Node=zv;Iv.registerPostcss(z);Tc.exports=z;z.default=z});var U,j,W3,G3,H3,Y3,Q3,J3,X3,K3,Z3,eT,tT,rT,iT,nT,sT,aT,oT,lT,uT,fT,cT,pT,dT,hT,st=C(()=>{l();U=X(ge()),j=U.default,W3=U.default.stringify,G3=U.default.fromJSON,H3=U.default.plugin,Y3=U.default.parse,Q3=U.default.list,J3=U.default.document,X3=U.default.comment,K3=U.default.atRule,Z3=U.default.rule,eT=U.default.decl,tT=U.default.root,rT=U.default.CssSyntaxError,iT=U.default.Declaration,nT=U.default.Container,sT=U.default.Processor,aT=U.default.Document,oT=U.default.Comment,lT=U.default.Warning,uT=U.default.AtRule,fT=U.default.Result,cT=U.default.Input,pT=U.default.Rule,dT=U.default.Root,hT=U.default.Node});var Gs=v((gT,Pc)=>{l();Pc.exports=function(r,e,t,i,n){for(e=e.split?e.split("."):e,i=0;i{l();"use strict";Xi.__esModule=!0;Xi.default=Uv;function jv(r){for(var e=r.toLowerCase(),t="",i=!1,n=0;n<6&&e[n]!==void 0;n++){var a=e.charCodeAt(n),s=a>=97&&a<=102||a>=48&&a<=57;if(i=a===32,!s)break;t+=e[n]}if(t.length!==0){var o=parseInt(t,16),u=o>=55296&&o<=57343;return u||o===0||o>1114111?["\uFFFD",t.length+(i?1:0)]:[String.fromCodePoint(o),t.length+(i?1:0)]}}var Vv=/\\/;function Uv(r){var e=Vv.test(r);if(!e)return r;for(var t="",i=0;i{l();"use strict";Zi.__esModule=!0;Zi.default=Wv;function Wv(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i0;){var n=t.shift();if(!r[n])return;r=r[n]}return r}Ic.exports=Zi.default});var Mc=v((en,Rc)=>{l();"use strict";en.__esModule=!0;en.default=Gv;function Gv(r){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i0;){var n=t.shift();r[n]||(r[n]={}),r=r[n]}}Rc.exports=en.default});var Fc=v((tn,Bc)=>{l();"use strict";tn.__esModule=!0;tn.default=Hv;function Hv(r){for(var e="",t=r.indexOf("/*"),i=0;t>=0;){e=e+r.slice(i,t);var n=r.indexOf("*/",t+2);if(n<0)return e;i=n+2,t=r.indexOf("/*",i)}return e=e+r.slice(i),e}Bc.exports=tn.default});var Er=v(Re=>{l();"use strict";Re.__esModule=!0;Re.unesc=Re.stripComments=Re.getProp=Re.ensureObject=void 0;var Yv=rn(Ki());Re.unesc=Yv.default;var Qv=rn(qc());Re.getProp=Qv.default;var Jv=rn(Mc());Re.ensureObject=Jv.default;var Xv=rn(Fc());Re.stripComments=Xv.default;function rn(r){return r&&r.__esModule?r:{default:r}}});var Ue=v((Tr,$c)=>{l();"use strict";Tr.__esModule=!0;Tr.default=void 0;var Lc=Er();function Nc(r,e){for(var t=0;ti||this.source.end.linen||this.source.end.line===i&&this.source.end.column{l();"use strict";W.__esModule=!0;W.UNIVERSAL=W.TAG=W.STRING=W.SELECTOR=W.ROOT=W.PSEUDO=W.NESTING=W.ID=W.COMMENT=W.COMBINATOR=W.CLASS=W.ATTRIBUTE=void 0;var tx="tag";W.TAG=tx;var rx="string";W.STRING=rx;var ix="selector";W.SELECTOR=ix;var nx="root";W.ROOT=nx;var sx="pseudo";W.PSEUDO=sx;var ax="nesting";W.NESTING=ax;var ox="id";W.ID=ox;var lx="comment";W.COMMENT=lx;var ux="combinator";W.COMBINATOR=ux;var fx="class";W.CLASS=fx;var cx="attribute";W.ATTRIBUTE=cx;var px="universal";W.UNIVERSAL=px});var nn=v((Pr,Uc)=>{l();"use strict";Pr.__esModule=!0;Pr.default=void 0;var dx=mx(Ue()),We=hx(ne());function zc(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(zc=function(n){return n?t:e})(r)}function hx(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=zc(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function mx(r){return r&&r.__esModule?r:{default:r}}function gx(r,e){var t=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=yx(r))||e&&r&&typeof r.length=="number"){t&&(r=t);var i=0;return function(){return i>=r.length?{done:!0}:{done:!1,value:r[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yx(r,e){if(!!r){if(typeof r=="string")return jc(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return jc(r,e)}}function jc(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t=n&&(this.indexes[s]=a-1);return this},t.removeAll=function(){for(var n=gx(this.nodes),a;!(a=n()).done;){var s=a.value;s.parent=void 0}return this.nodes=[],this},t.empty=function(){return this.removeAll()},t.insertAfter=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s+1,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],s<=o&&(this.indexes[u]=o+1);return this},t.insertBefore=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],o<=s&&(this.indexes[u]=o+1);return this},t._findChildAtPosition=function(n,a){var s=void 0;return this.each(function(o){if(o.atPosition){var u=o.atPosition(n,a);if(u)return s=u,!1}else if(o.isAtPosition(n,a))return s=o,!1}),s},t.atPosition=function(n,a){if(this.isAtPosition(n,a))return this._findChildAtPosition(n,a)||this},t._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},t.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var a=this.lastEach;if(this.indexes[a]=0,!!this.length){for(var s,o;this.indexes[a]{l();"use strict";Dr.__esModule=!0;Dr.default=void 0;var xx=Sx(nn()),kx=ne();function Sx(r){return r&&r.__esModule?r:{default:r}}function Wc(r,e){for(var t=0;t{l();"use strict";Ir.__esModule=!0;Ir.default=void 0;var Ox=Tx(nn()),Ex=ne();function Tx(r){return r&&r.__esModule?r:{default:r}}function Px(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,Js(r,e)}function Js(r,e){return Js=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},Js(r,e)}var Dx=function(r){Px(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=Ex.SELECTOR,i}return e}(Ox.default);Ir.default=Dx;Hc.exports=Ir.default});var sn=v((bT,Yc)=>{l();"use strict";var Ix={},qx=Ix.hasOwnProperty,Rx=function(e,t){if(!e)return t;var i={};for(var n in t)i[n]=qx.call(e,n)?e[n]:t[n];return i},Mx=/[ -,\.\/:-@\[-\^`\{-~]/,Bx=/[ -,\.\/:-@\[\]\^`\{-~]/,Fx=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Ks=function r(e,t){t=Rx(t,r.options),t.quotes!="single"&&t.quotes!="double"&&(t.quotes="single");for(var i=t.quotes=="double"?'"':"'",n=t.isIdentifier,a=e.charAt(0),s="",o=0,u=e.length;o126){if(f>=55296&&f<=56319&&o{l();"use strict";qr.__esModule=!0;qr.default=void 0;var Lx=Qc(sn()),Nx=Er(),$x=Qc(Ue()),zx=ne();function Qc(r){return r&&r.__esModule?r:{default:r}}function Jc(r,e){for(var t=0;t{l();"use strict";Rr.__esModule=!0;Rr.default=void 0;var Wx=Hx(Ue()),Gx=ne();function Hx(r){return r&&r.__esModule?r:{default:r}}function Yx(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ta(r,e)}function ta(r,e){return ta=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ta(r,e)}var Qx=function(r){Yx(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=Gx.COMMENT,i}return e}(Wx.default);Rr.default=Qx;Kc.exports=Rr.default});var na=v((Mr,Zc)=>{l();"use strict";Mr.__esModule=!0;Mr.default=void 0;var Jx=Kx(Ue()),Xx=ne();function Kx(r){return r&&r.__esModule?r:{default:r}}function Zx(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ia(r,e)}function ia(r,e){return ia=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ia(r,e)}var e1=function(r){Zx(e,r);function e(i){var n;return n=r.call(this,i)||this,n.type=Xx.ID,n}var t=e.prototype;return t.valueToString=function(){return"#"+r.prototype.valueToString.call(this)},e}(Jx.default);Mr.default=e1;Zc.exports=Mr.default});var an=v((Br,rp)=>{l();"use strict";Br.__esModule=!0;Br.default=void 0;var t1=ep(sn()),r1=Er(),i1=ep(Ue());function ep(r){return r&&r.__esModule?r:{default:r}}function tp(r,e){for(var t=0;t{l();"use strict";Fr.__esModule=!0;Fr.default=void 0;var o1=u1(an()),l1=ne();function u1(r){return r&&r.__esModule?r:{default:r}}function f1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,aa(r,e)}function aa(r,e){return aa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},aa(r,e)}var c1=function(r){f1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=l1.TAG,i}return e}(o1.default);Fr.default=c1;ip.exports=Fr.default});var ua=v((Lr,np)=>{l();"use strict";Lr.__esModule=!0;Lr.default=void 0;var p1=h1(Ue()),d1=ne();function h1(r){return r&&r.__esModule?r:{default:r}}function m1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,la(r,e)}function la(r,e){return la=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},la(r,e)}var g1=function(r){m1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=d1.STRING,i}return e}(p1.default);Lr.default=g1;np.exports=Lr.default});var ca=v((Nr,sp)=>{l();"use strict";Nr.__esModule=!0;Nr.default=void 0;var y1=b1(nn()),w1=ne();function b1(r){return r&&r.__esModule?r:{default:r}}function v1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,fa(r,e)}function fa(r,e){return fa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},fa(r,e)}var x1=function(r){v1(e,r);function e(i){var n;return n=r.call(this,i)||this,n.type=w1.PSEUDO,n}var t=e.prototype;return t.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(y1.default);Nr.default=x1;sp.exports=Nr.default});var ap={};Ae(ap,{deprecate:()=>k1});function k1(r){return r}var op=C(()=>{l()});var up=v((vT,lp)=>{l();lp.exports=(op(),ap).deprecate});var ya=v(jr=>{l();"use strict";jr.__esModule=!0;jr.default=void 0;jr.unescapeValue=ma;var $r=da(sn()),S1=da(Ki()),C1=da(an()),A1=ne(),pa;function da(r){return r&&r.__esModule?r:{default:r}}function fp(r,e){for(var t=0;t0&&!n.quoted&&o.before.length===0&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),cp(s,o)}))),a.push("]"),a.push(this.rawSpaceAfter),a.join("")},_1(e,[{key:"quoted",get:function(){var n=this.quoteMark;return n==="'"||n==='"'},set:function(n){P1()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){if(!this._constructed){this._quoteMark=n;return}this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue())}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var a=ma(n),s=a.deprecatedUsage,o=a.unescaped,u=a.quoteMark;if(s&&T1(),o===this._value&&u===this._quoteMark)return;this._value=o,this._quoteMark=u,this._syncRawValue()}else this._value=n}},{key:"insensitive",get:function(){return this._insensitive},set:function(n){n||(this._insensitive=!1,this.raws&&(this.raws.insensitiveFlag==="I"||this.raws.insensitiveFlag==="i")&&(this.raws.insensitiveFlag=void 0)),this._insensitive=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(C1.default);jr.default=on;on.NO_QUOTE=null;on.SINGLE_QUOTE="'";on.DOUBLE_QUOTE='"';var ga=(pa={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}},pa[null]={isIdentifier:!0},pa);function cp(r,e){return""+e.before+r+e.after}});var ba=v((Vr,pp)=>{l();"use strict";Vr.__esModule=!0;Vr.default=void 0;var q1=M1(an()),R1=ne();function M1(r){return r&&r.__esModule?r:{default:r}}function B1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,wa(r,e)}function wa(r,e){return wa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},wa(r,e)}var F1=function(r){B1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=R1.UNIVERSAL,i.value="*",i}return e}(q1.default);Vr.default=F1;pp.exports=Vr.default});var xa=v((Ur,dp)=>{l();"use strict";Ur.__esModule=!0;Ur.default=void 0;var L1=$1(Ue()),N1=ne();function $1(r){return r&&r.__esModule?r:{default:r}}function z1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,va(r,e)}function va(r,e){return va=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},va(r,e)}var j1=function(r){z1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=N1.COMBINATOR,i}return e}(L1.default);Ur.default=j1;dp.exports=Ur.default});var Sa=v((Wr,hp)=>{l();"use strict";Wr.__esModule=!0;Wr.default=void 0;var V1=W1(Ue()),U1=ne();function W1(r){return r&&r.__esModule?r:{default:r}}function G1(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,ka(r,e)}function ka(r,e){return ka=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i},ka(r,e)}var H1=function(r){G1(e,r);function e(t){var i;return i=r.call(this,t)||this,i.type=U1.NESTING,i.value="&",i}return e}(V1.default);Wr.default=H1;hp.exports=Wr.default});var gp=v((ln,mp)=>{l();"use strict";ln.__esModule=!0;ln.default=Y1;function Y1(r){return r.sort(function(e,t){return e-t})}mp.exports=ln.default});var Ca=v(D=>{l();"use strict";D.__esModule=!0;D.word=D.tilde=D.tab=D.str=D.space=D.slash=D.singleQuote=D.semicolon=D.plus=D.pipe=D.openSquare=D.openParenthesis=D.newline=D.greaterThan=D.feed=D.equals=D.doubleQuote=D.dollar=D.cr=D.comment=D.comma=D.combinator=D.colon=D.closeSquare=D.closeParenthesis=D.caret=D.bang=D.backslash=D.at=D.asterisk=D.ampersand=void 0;var Q1=38;D.ampersand=Q1;var J1=42;D.asterisk=J1;var X1=64;D.at=X1;var K1=44;D.comma=K1;var Z1=58;D.colon=Z1;var ek=59;D.semicolon=ek;var tk=40;D.openParenthesis=tk;var rk=41;D.closeParenthesis=rk;var ik=91;D.openSquare=ik;var nk=93;D.closeSquare=nk;var sk=36;D.dollar=sk;var ak=126;D.tilde=ak;var ok=94;D.caret=ok;var lk=43;D.plus=lk;var uk=61;D.equals=uk;var fk=124;D.pipe=fk;var ck=62;D.greaterThan=ck;var pk=32;D.space=pk;var yp=39;D.singleQuote=yp;var dk=34;D.doubleQuote=dk;var hk=47;D.slash=hk;var mk=33;D.bang=mk;var gk=92;D.backslash=gk;var yk=13;D.cr=yk;var wk=12;D.feed=wk;var bk=10;D.newline=bk;var vk=9;D.tab=vk;var xk=yp;D.str=xk;var kk=-1;D.comment=kk;var Sk=-2;D.word=Sk;var Ck=-3;D.combinator=Ck});var vp=v(Gr=>{l();"use strict";Gr.__esModule=!0;Gr.FIELDS=void 0;Gr.default=Dk;var O=Ak(Ca()),Rt,V;function wp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(wp=function(n){return n?t:e})(r)}function Ak(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=wp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}var _k=(Rt={},Rt[O.tab]=!0,Rt[O.newline]=!0,Rt[O.cr]=!0,Rt[O.feed]=!0,Rt),Ok=(V={},V[O.space]=!0,V[O.tab]=!0,V[O.newline]=!0,V[O.cr]=!0,V[O.feed]=!0,V[O.ampersand]=!0,V[O.asterisk]=!0,V[O.bang]=!0,V[O.comma]=!0,V[O.colon]=!0,V[O.semicolon]=!0,V[O.openParenthesis]=!0,V[O.closeParenthesis]=!0,V[O.openSquare]=!0,V[O.closeSquare]=!0,V[O.singleQuote]=!0,V[O.doubleQuote]=!0,V[O.plus]=!0,V[O.pipe]=!0,V[O.tilde]=!0,V[O.greaterThan]=!0,V[O.equals]=!0,V[O.dollar]=!0,V[O.caret]=!0,V[O.slash]=!0,V),Aa={},bp="0123456789abcdefABCDEF";for(un=0;un0?(k=s+x,S=w-y[x].length):(k=s,S=a),E=O.comment,s=k,p=k,d=w-S):c===O.slash?(w=o,E=c,p=s,d=o-a,u=w+1):(w=Ek(t,o),E=O.word,p=s,d=w-a),u=w+1;break}e.push([E,s,o-a,p,d,o,u]),S&&(a=S,S=null),o=u}return e}});var Ep=v((Hr,Op)=>{l();"use strict";Hr.__esModule=!0;Hr.default=void 0;var Ik=be(Qs()),_a=be(Xs()),qk=be(ea()),xp=be(ra()),Rk=be(na()),Mk=be(oa()),Oa=be(ua()),Bk=be(ca()),kp=fn(ya()),Fk=be(ba()),Ea=be(xa()),Lk=be(Sa()),Nk=be(gp()),A=fn(vp()),T=fn(Ca()),$k=fn(ne()),Y=Er(),xt,Ta;function Sp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Sp=function(n){return n?t:e})(r)}function fn(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=Sp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function be(r){return r&&r.__esModule?r:{default:r}}function Cp(r,e){for(var t=0;t0){var s=this.current.last;if(s){var o=this.convertWhitespaceNodesToSpace(a),u=o.space,c=o.rawSpace;c!==void 0&&(s.rawSpaceAfter+=c),s.spaces.after+=u}else a.forEach(function(E){return i.newNode(E)})}return}var f=this.currToken,d=void 0;n>this.position&&(d=this.parseWhitespaceEquivalentTokens(n));var p;if(this.isNamedCombinator()?p=this.namedCombinator():this.currToken[A.FIELDS.TYPE]===T.combinator?(p=new Ea.default({value:this.content(),source:Mt(this.currToken),sourceIndex:this.currToken[A.FIELDS.START_POS]}),this.position++):Pa[this.currToken[A.FIELDS.TYPE]]||d||this.unexpected(),p){if(d){var m=this.convertWhitespaceNodesToSpace(d),b=m.space,x=m.rawSpace;p.spaces.before=b,p.rawSpaceBefore=x}}else{var y=this.convertWhitespaceNodesToSpace(d,!0),w=y.space,k=y.rawSpace;k||(k=w);var S={},_={spaces:{}};w.endsWith(" ")&&k.endsWith(" ")?(S.before=w.slice(0,w.length-1),_.spaces.before=k.slice(0,k.length-1)):w.startsWith(" ")&&k.startsWith(" ")?(S.after=w.slice(1),_.spaces.after=k.slice(1)):_.value=k,p=new Ea.default({value:" ",source:Da(f,this.tokens[this.position-1]),sourceIndex:f[A.FIELDS.START_POS],spaces:S,raws:_})}return this.currToken&&this.currToken[A.FIELDS.TYPE]===T.space&&(p.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(p)},e.comma=function(){if(this.position===this.tokens.length-1){this.root.trailingComma=!0,this.position++;return}this.current._inferEndPosition();var i=new _a.default({source:{start:Ap(this.tokens[this.position+1])}});this.current.parent.append(i),this.current=i,this.position++},e.comment=function(){var i=this.currToken;this.newNode(new xp.default({value:this.content(),source:Mt(i),sourceIndex:i[A.FIELDS.START_POS]})),this.position++},e.error=function(i,n){throw this.root.error(i,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[A.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[A.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[A.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[A.FIELDS.START_POS])},e.unexpectedPipe=function(){return this.error("Unexpected '|'.",this.currToken[A.FIELDS.START_POS])},e.namespace=function(){var i=this.prevToken&&this.content(this.prevToken)||!0;if(this.nextToken[A.FIELDS.TYPE]===T.word)return this.position++,this.word(i);if(this.nextToken[A.FIELDS.TYPE]===T.asterisk)return this.position++,this.universal(i);this.unexpectedPipe()},e.nesting=function(){if(this.nextToken){var i=this.content(this.nextToken);if(i==="|"){this.position++;return}}var n=this.currToken;this.newNode(new Lk.default({value:this.content(),source:Mt(n),sourceIndex:n[A.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var i=this.current.last,n=1;if(this.position++,i&&i.type===$k.PSEUDO){var a=new _a.default({source:{start:Ap(this.tokens[this.position-1])}}),s=this.current;for(i.append(a),this.current=a;this.position1&&i.nextToken&&i.nextToken[A.FIELDS.TYPE]===T.openParenthesis&&i.error("Misplaced parenthesis.",{index:i.nextToken[A.FIELDS.START_POS]})});else return this.expected(["pseudo-class","pseudo-element"],this.currToken[A.FIELDS.START_POS])},e.space=function(){var i=this.content();this.position===0||this.prevToken[A.FIELDS.TYPE]===T.comma||this.prevToken[A.FIELDS.TYPE]===T.openParenthesis||this.current.nodes.every(function(n){return n.type==="comment"})?(this.spaces=this.optionalSpace(i),this.position++):this.position===this.tokens.length-1||this.nextToken[A.FIELDS.TYPE]===T.comma||this.nextToken[A.FIELDS.TYPE]===T.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(i),this.position++):this.combinator()},e.string=function(){var i=this.currToken;this.newNode(new Oa.default({value:this.content(),source:Mt(i),sourceIndex:i[A.FIELDS.START_POS]})),this.position++},e.universal=function(i){var n=this.nextToken;if(n&&this.content(n)==="|")return this.position++,this.namespace();var a=this.currToken;this.newNode(new Fk.default({value:this.content(),source:Mt(a),sourceIndex:a[A.FIELDS.START_POS]}),i),this.position++},e.splitWord=function(i,n){for(var a=this,s=this.nextToken,o=this.content();s&&~[T.dollar,T.caret,T.equals,T.word].indexOf(s[A.FIELDS.TYPE]);){this.position++;var u=this.content();if(o+=u,u.lastIndexOf("\\")===u.length-1){var c=this.nextToken;c&&c[A.FIELDS.TYPE]===T.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}s=this.nextToken}var f=Ia(o,".").filter(function(b){var x=o[b-1]==="\\",y=/^\d+\.\d+%$/.test(o);return!x&&!y}),d=Ia(o,"#").filter(function(b){return o[b-1]!=="\\"}),p=Ia(o,"#{");p.length&&(d=d.filter(function(b){return!~p.indexOf(b)}));var m=(0,Nk.default)(Vk([0].concat(f,d)));m.forEach(function(b,x){var y=m[x+1]||o.length,w=o.slice(b,y);if(x===0&&n)return n.call(a,w,m.length);var k,S=a.currToken,_=S[A.FIELDS.START_POS]+m[x],E=kt(S[1],S[2]+b,S[3],S[2]+(y-1));if(~f.indexOf(b)){var I={value:w.slice(1),source:E,sourceIndex:_};k=new qk.default(Bt(I,"value"))}else if(~d.indexOf(b)){var q={value:w.slice(1),source:E,sourceIndex:_};k=new Rk.default(Bt(q,"value"))}else{var R={value:w,source:E,sourceIndex:_};Bt(R,"value"),k=new Mk.default(R)}a.newNode(k,i),i=null}),this.position++},e.word=function(i){var n=this.nextToken;return n&&this.content(n)==="|"?(this.position++,this.namespace()):this.splitWord(i)},e.loop=function(){for(;this.position{l();"use strict";Yr.__esModule=!0;Yr.default=void 0;var Wk=Gk(Ep());function Gk(r){return r&&r.__esModule?r:{default:r}}var Hk=function(){function r(t,i){this.func=t||function(){},this.funcRes=null,this.options=i}var e=r.prototype;return e._shouldUpdateSelector=function(i,n){n===void 0&&(n={});var a=Object.assign({},this.options,n);return a.updateSelector===!1?!1:typeof i!="string"},e._isLossy=function(i){i===void 0&&(i={});var n=Object.assign({},this.options,i);return n.lossless===!1},e._root=function(i,n){n===void 0&&(n={});var a=new Wk.default(i,this._parseOptions(n));return a.root},e._parseOptions=function(i){return{lossy:this._isLossy(i)}},e._run=function(i,n){var a=this;return n===void 0&&(n={}),new Promise(function(s,o){try{var u=a._root(i,n);Promise.resolve(a.func(u)).then(function(c){var f=void 0;return a._shouldUpdateSelector(i,n)&&(f=u.toString(),i.selector=f),{transform:c,root:u,string:f}}).then(s,o)}catch(c){o(c);return}})},e._runSync=function(i,n){n===void 0&&(n={});var a=this._root(i,n),s=this.func(a);if(s&&typeof s.then=="function")throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&typeof i!="string"&&(o=a.toString(),i.selector=o),{transform:s,root:a,string:o}},e.ast=function(i,n){return this._run(i,n).then(function(a){return a.root})},e.astSync=function(i,n){return this._runSync(i,n).root},e.transform=function(i,n){return this._run(i,n).then(function(a){return a.transform})},e.transformSync=function(i,n){return this._runSync(i,n).transform},e.process=function(i,n){return this._run(i,n).then(function(a){return a.string||a.root.toString()})},e.processSync=function(i,n){var a=this._runSync(i,n);return a.string||a.root.toString()},r}();Yr.default=Hk;Tp.exports=Yr.default});var Dp=v(G=>{l();"use strict";G.__esModule=!0;G.universal=G.tag=G.string=G.selector=G.root=G.pseudo=G.nesting=G.id=G.comment=G.combinator=G.className=G.attribute=void 0;var Yk=ve(ya()),Qk=ve(ea()),Jk=ve(xa()),Xk=ve(ra()),Kk=ve(na()),Zk=ve(Sa()),eS=ve(ca()),tS=ve(Qs()),rS=ve(Xs()),iS=ve(ua()),nS=ve(oa()),sS=ve(ba());function ve(r){return r&&r.__esModule?r:{default:r}}var aS=function(e){return new Yk.default(e)};G.attribute=aS;var oS=function(e){return new Qk.default(e)};G.className=oS;var lS=function(e){return new Jk.default(e)};G.combinator=lS;var uS=function(e){return new Xk.default(e)};G.comment=uS;var fS=function(e){return new Kk.default(e)};G.id=fS;var cS=function(e){return new Zk.default(e)};G.nesting=cS;var pS=function(e){return new eS.default(e)};G.pseudo=pS;var dS=function(e){return new tS.default(e)};G.root=dS;var hS=function(e){return new rS.default(e)};G.selector=hS;var mS=function(e){return new iS.default(e)};G.string=mS;var gS=function(e){return new nS.default(e)};G.tag=gS;var yS=function(e){return new sS.default(e)};G.universal=yS});var Mp=v($=>{l();"use strict";$.__esModule=!0;$.isComment=$.isCombinator=$.isClassName=$.isAttribute=void 0;$.isContainer=TS;$.isIdentifier=void 0;$.isNamespace=PS;$.isNesting=void 0;$.isNode=qa;$.isPseudo=void 0;$.isPseudoClass=ES;$.isPseudoElement=Rp;$.isUniversal=$.isTag=$.isString=$.isSelector=$.isRoot=void 0;var Q=ne(),fe,wS=(fe={},fe[Q.ATTRIBUTE]=!0,fe[Q.CLASS]=!0,fe[Q.COMBINATOR]=!0,fe[Q.COMMENT]=!0,fe[Q.ID]=!0,fe[Q.NESTING]=!0,fe[Q.PSEUDO]=!0,fe[Q.ROOT]=!0,fe[Q.SELECTOR]=!0,fe[Q.STRING]=!0,fe[Q.TAG]=!0,fe[Q.UNIVERSAL]=!0,fe);function qa(r){return typeof r=="object"&&wS[r.type]}function xe(r,e){return qa(e)&&e.type===r}var Ip=xe.bind(null,Q.ATTRIBUTE);$.isAttribute=Ip;var bS=xe.bind(null,Q.CLASS);$.isClassName=bS;var vS=xe.bind(null,Q.COMBINATOR);$.isCombinator=vS;var xS=xe.bind(null,Q.COMMENT);$.isComment=xS;var kS=xe.bind(null,Q.ID);$.isIdentifier=kS;var SS=xe.bind(null,Q.NESTING);$.isNesting=SS;var Ra=xe.bind(null,Q.PSEUDO);$.isPseudo=Ra;var CS=xe.bind(null,Q.ROOT);$.isRoot=CS;var AS=xe.bind(null,Q.SELECTOR);$.isSelector=AS;var _S=xe.bind(null,Q.STRING);$.isString=_S;var qp=xe.bind(null,Q.TAG);$.isTag=qp;var OS=xe.bind(null,Q.UNIVERSAL);$.isUniversal=OS;function Rp(r){return Ra(r)&&r.value&&(r.value.startsWith("::")||r.value.toLowerCase()===":before"||r.value.toLowerCase()===":after"||r.value.toLowerCase()===":first-letter"||r.value.toLowerCase()===":first-line")}function ES(r){return Ra(r)&&!Rp(r)}function TS(r){return!!(qa(r)&&r.walk)}function PS(r){return Ip(r)||qp(r)}});var Bp=v(Ee=>{l();"use strict";Ee.__esModule=!0;var Ma=ne();Object.keys(Ma).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Ma[r]||(Ee[r]=Ma[r])});var Ba=Dp();Object.keys(Ba).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Ba[r]||(Ee[r]=Ba[r])});var Fa=Mp();Object.keys(Fa).forEach(function(r){r==="default"||r==="__esModule"||r in Ee&&Ee[r]===Fa[r]||(Ee[r]=Fa[r])})});var Me=v((Qr,Lp)=>{l();"use strict";Qr.__esModule=!0;Qr.default=void 0;var DS=RS(Pp()),IS=qS(Bp());function Fp(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Fp=function(n){return n?t:e})(r)}function qS(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=Fp(e);if(t&&t.has(r))return t.get(r);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=n?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(i,a,s):i[a]=r[a]}return i.default=r,t&&t.set(r,i),i}function RS(r){return r&&r.__esModule?r:{default:r}}var La=function(e){return new DS.default(e)};Object.assign(La,IS);delete La.__esModule;var MS=La;Qr.default=MS;Lp.exports=Qr.default});function Ge(r){return["fontSize","outline"].includes(r)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e[0]),e):r==="fontFamily"?e=>{typeof e=="function"&&(e=e({}));let t=Array.isArray(e)&&ie(e[1])?e[0]:e;return Array.isArray(t)?t.join(", "):t}:["boxShadow","transitionProperty","transitionDuration","transitionDelay","transitionTimingFunction","backgroundImage","backgroundSize","backgroundColor","cursor","animation"].includes(r)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e.join(", ")),e):["gridTemplateColumns","gridTemplateRows","objectPosition"].includes(r)?e=>(typeof e=="function"&&(e=e({})),typeof e=="string"&&(e=j.list.comma(e).join(" ")),e):(e,t={})=>(typeof e=="function"&&(e=e(t)),e)}var Jr=C(()=>{l();st();At()});var Wp=v((PT,Va)=>{l();var{Rule:Np,AtRule:BS}=ge(),$p=Me();function Na(r,e){let t;try{$p(i=>{t=i}).processSync(r)}catch(i){throw r.includes(":")?e?e.error("Missed semicolon"):i:e?e.error(i.message):i}return t.at(0)}function zp(r,e){let t=!1;return r.each(i=>{if(i.type==="nesting"){let n=e.clone({});i.value!=="&"?i.replaceWith(Na(i.value.replace("&",n.toString()))):i.replaceWith(n),t=!0}else"nodes"in i&&i.nodes&&zp(i,e)&&(t=!0)}),t}function jp(r,e){let t=[];return r.selectors.forEach(i=>{let n=Na(i,r);e.selectors.forEach(a=>{if(!a)return;let s=Na(a,e);zp(s,n)||(s.prepend($p.combinator({value:" "})),s.prepend(n.clone({}))),t.push(s.toString())})}),t}function cn(r,e){let t=r.prev();for(e.after(r);t&&t.type==="comment";){let i=t.prev();e.after(t),t=i}return r}function FS(r){return function e(t,i,n,a=n){let s=[];if(i.each(o=>{o.type==="rule"&&n?a&&(o.selectors=jp(t,o)):o.type==="atrule"&&o.nodes?r[o.name]?e(t,o,a):i[za]!==!1&&s.push(o):s.push(o)}),n&&s.length){let o=t.clone({nodes:[]});for(let u of s)o.append(u);i.prepend(o)}}}function $a(r,e,t){let i=new Np({selector:r,nodes:[]});return i.append(e),t.after(i),i}function Vp(r,e){let t={};for(let i of r)t[i]=!0;if(e)for(let i of e)t[i.replace(/^@/,"")]=!0;return t}function LS(r){r=r.trim();let e=r.match(/^\((.*)\)$/);if(!e)return{type:"basic",selector:r};let t=e[1].match(/^(with(?:out)?):(.+)$/);if(t){let i=t[1]==="with",n=Object.fromEntries(t[2].trim().split(/\s+/).map(s=>[s,!0]));if(i&&n.all)return{type:"noop"};let a=s=>!!n[s];return n.all?a=()=>!0:i&&(a=s=>s==="all"?!1:!n[s]),{type:"withrules",escapes:a}}return{type:"unknown"}}function NS(r){let e=[],t=r.parent;for(;t&&t instanceof BS;)e.push(t),t=t.parent;return e}function $S(r){let e=r[Up];if(!e)r.after(r.nodes);else{let t=r.nodes,i,n=-1,a,s,o,u=NS(r);if(u.forEach((c,f)=>{if(e(c.name))i=c,n=f,s=o;else{let d=o;o=c.clone({nodes:[]}),d&&o.append(d),a=a||o}}),i?s?(a.append(t),i.after(s)):i.after(t):r.after(t),r.next()&&i){let c;u.slice(0,n+1).forEach((f,d,p)=>{let m=c;c=f.clone({nodes:[]}),m&&c.append(m);let b=[],y=(p[d-1]||r).next();for(;y;)b.push(y),y=y.next();c.append(b)}),c&&(s||t[t.length-1]).after(c)}}r.remove()}var za=Symbol("rootRuleMergeSel"),Up=Symbol("rootRuleEscapes");function zS(r){let{params:e}=r,{type:t,selector:i,escapes:n}=LS(e);if(t==="unknown")throw r.error(`Unknown @${r.name} parameter ${JSON.stringify(e)}`);if(t==="basic"&&i){let a=new Np({selector:i,nodes:r.nodes});r.removeAll(),r.append(a)}r[Up]=n,r[za]=n?!n("all"):t==="noop"}var ja=Symbol("hasRootRule");Va.exports=(r={})=>{let e=Vp(["media","supports","layer","container"],r.bubble),t=FS(e),i=Vp(["document","font-face","keyframes","-webkit-keyframes","-moz-keyframes"],r.unwrap),n=(r.rootRuleName||"at-root").replace(/^@/,""),a=r.preserveEmpty;return{postcssPlugin:"postcss-nested",Once(s){s.walkAtRules(n,o=>{zS(o),s[ja]=!0})},Rule(s){let o=!1,u=s,c=!1,f=[];s.each(d=>{d.type==="rule"?(f.length&&(u=$a(s.selector,f,u),f=[]),c=!0,o=!0,d.selectors=jp(s,d),u=cn(d,u)):d.type==="atrule"?(f.length&&(u=$a(s.selector,f,u),f=[]),d.name===n?(o=!0,t(s,d,!0,d[za]),u=cn(d,u)):e[d.name]?(c=!0,o=!0,t(s,d,!0),u=cn(d,u)):i[d.name]?(c=!0,o=!0,t(s,d,!1),u=cn(d,u)):c&&f.push(d)):d.type==="decl"&&c&&f.push(d)}),f.length&&(u=$a(s.selector,f,u)),o&&a!==!0&&(s.raws.semicolon=!0,s.nodes.length===0&&s.remove())},RootExit(s){s[ja]&&(s.walkAtRules(n,$S),s[ja]=!1)}}};Va.exports.postcss=!0});var Qp=v((DT,Yp)=>{l();"use strict";var Gp=/-(\w|$)/g,Hp=(r,e)=>e.toUpperCase(),jS=r=>(r=r.toLowerCase(),r==="float"?"cssFloat":r.startsWith("-ms-")?r.substr(1).replace(Gp,Hp):r.replace(Gp,Hp));Yp.exports=jS});var Ga=v((IT,Jp)=>{l();var VS=Qp(),US={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function Ua(r){return typeof r.nodes=="undefined"?!0:Wa(r)}function Wa(r){let e,t={};return r.each(i=>{if(i.type==="atrule")e="@"+i.name,i.params&&(e+=" "+i.params),typeof t[e]=="undefined"?t[e]=Ua(i):Array.isArray(t[e])?t[e].push(Ua(i)):t[e]=[t[e],Ua(i)];else if(i.type==="rule"){let n=Wa(i);if(t[i.selector])for(let a in n)t[i.selector][a]=n[a];else t[i.selector]=n}else if(i.type==="decl"){i.prop[0]==="-"&&i.prop[1]==="-"||i.parent&&i.parent.selector===":export"?e=i.prop:e=VS(i.prop);let n=i.value;!isNaN(i.value)&&US[e]&&(n=parseFloat(i.value)),i.important&&(n+=" !important"),typeof t[e]=="undefined"?t[e]=n:Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]}}),t}Jp.exports=Wa});var pn=v((qT,ed)=>{l();var Xr=ge(),Xp=/\s*!important\s*$/i,WS={"box-flex":!0,"box-flex-group":!0,"column-count":!0,flex:!0,"flex-grow":!0,"flex-positive":!0,"flex-shrink":!0,"flex-negative":!0,"font-weight":!0,"line-clamp":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"tab-size":!0,widows:!0,"z-index":!0,zoom:!0,"fill-opacity":!0,"stroke-dashoffset":!0,"stroke-opacity":!0,"stroke-width":!0};function GS(r){return r.replace(/([A-Z])/g,"-$1").replace(/^ms-/,"-ms-").toLowerCase()}function Kp(r,e,t){t===!1||t===null||(e.startsWith("--")||(e=GS(e)),typeof t=="number"&&(t===0||WS[e]?t=t.toString():t+="px"),e==="css-float"&&(e="float"),Xp.test(t)?(t=t.replace(Xp,""),r.push(Xr.decl({prop:e,value:t,important:!0}))):r.push(Xr.decl({prop:e,value:t})))}function Zp(r,e,t){let i=Xr.atRule({name:e[1],params:e[3]||""});typeof t=="object"&&(i.nodes=[],Ha(t,i)),r.push(i)}function Ha(r,e){let t,i,n;for(t in r)if(i=r[t],!(i===null||typeof i=="undefined"))if(t[0]==="@"){let a=t.match(/@(\S+)(\s+([\W\w]*)\s*)?/);if(Array.isArray(i))for(let s of i)Zp(e,a,s);else Zp(e,a,i)}else if(Array.isArray(i))for(let a of i)Kp(e,t,a);else typeof i=="object"?(n=Xr.rule({selector:t}),Ha(i,n),e.push(n)):Kp(e,t,i)}ed.exports=function(r){let e=Xr.root();return Ha(r,e),e}});var Ya=v((RT,td)=>{l();var HS=Ga();td.exports=function(e){return console&&console.warn&&e.warnings().forEach(t=>{let i=t.plugin||"PostCSS";console.warn(i+": "+t.text)}),HS(e.root)}});var id=v((MT,rd)=>{l();var YS=ge(),QS=Ya(),JS=pn();rd.exports=function(e){let t=YS(e);return async i=>{let n=await t.process(i,{parser:JS,from:void 0});return QS(n)}}});var sd=v((BT,nd)=>{l();var XS=ge(),KS=Ya(),ZS=pn();nd.exports=function(r){let e=XS(r);return t=>{let i=e.process(t,{parser:ZS,from:void 0});return KS(i)}}});var od=v((FT,ad)=>{l();var e2=Ga(),t2=pn(),r2=id(),i2=sd();ad.exports={objectify:e2,parse:t2,async:r2,sync:i2}});var Ft,ld,LT,NT,$T,zT,ud=C(()=>{l();Ft=X(od()),ld=Ft.default,LT=Ft.default.objectify,NT=Ft.default.parse,$T=Ft.default.async,zT=Ft.default.sync});function Lt(r){return Array.isArray(r)?r.flatMap(e=>j([(0,fd.default)({bubble:["screen"]})]).process(e,{parser:ld}).root.nodes):Lt([r])}var fd,Qa=C(()=>{l();st();fd=X(Wp());ud()});function Nt(r,e,t=!1){if(r==="")return e;let i=typeof e=="string"?(0,cd.default)().astSync(e):e;return i.walkClasses(n=>{let a=n.value,s=t&&a.startsWith("-");n.value=s?`-${r}${a.slice(1)}`:`${r}${a}`}),typeof e=="string"?i.toString():i}var cd,dn=C(()=>{l();cd=X(Me())});function ce(r){let e=pd.default.className();return e.value=r,wt(e?.raws?.value??e.value)}var pd,$t=C(()=>{l();pd=X(Me());bi()});function Ja(r){return wt(`.${ce(r)}`)}function hn(r,e){return Ja(Kr(r,e))}function Kr(r,e){return e==="DEFAULT"?r:e==="-"||e==="-DEFAULT"?`-${r}`:e.startsWith("-")?`-${r}${e}`:e.startsWith("/")?`${r}${e}`:`${r}-${e}`}var Xa=C(()=>{l();$t();bi()});function P(r,e=[[r,[r]]],{filterDefault:t=!1,...i}={}){let n=Ge(r);return function({matchUtilities:a,theme:s}){for(let o of e){let u=Array.isArray(o[0])?o:[o];a(u.reduce((c,[f,d])=>Object.assign(c,{[f]:p=>d.reduce((m,b)=>Array.isArray(b)?Object.assign(m,{[b[0]]:b[1]}):Object.assign(m,{[b]:n(p)}),{})}),{}),{...i,values:t?Object.fromEntries(Object.entries(s(r)??{}).filter(([c])=>c!=="DEFAULT")):s(r)})}}}var dd=C(()=>{l();Jr()});function at(r){return r=Array.isArray(r)?r:[r],r.map(e=>{let t=e.values.map(i=>i.raw!==void 0?i.raw:[i.min&&`(min-width: ${i.min})`,i.max&&`(max-width: ${i.max})`].filter(Boolean).join(" and "));return e.not?`not all and ${t}`:t}).join(", ")}var mn=C(()=>{l()});function Ka(r){return r.split(f2).map(t=>{let i=t.trim(),n={value:i},a=i.split(c2),s=new Set;for(let o of a)!s.has("DIRECTIONS")&&n2.has(o)?(n.direction=o,s.add("DIRECTIONS")):!s.has("PLAY_STATES")&&s2.has(o)?(n.playState=o,s.add("PLAY_STATES")):!s.has("FILL_MODES")&&a2.has(o)?(n.fillMode=o,s.add("FILL_MODES")):!s.has("ITERATION_COUNTS")&&(o2.has(o)||p2.test(o))?(n.iterationCount=o,s.add("ITERATION_COUNTS")):!s.has("TIMING_FUNCTION")&&l2.has(o)||!s.has("TIMING_FUNCTION")&&u2.some(u=>o.startsWith(`${u}(`))?(n.timingFunction=o,s.add("TIMING_FUNCTION")):!s.has("DURATION")&&hd.test(o)?(n.duration=o,s.add("DURATION")):!s.has("DELAY")&&hd.test(o)?(n.delay=o,s.add("DELAY")):s.has("NAME")?(n.unknown||(n.unknown=[]),n.unknown.push(o)):(n.name=o,s.add("NAME"));return n})}var n2,s2,a2,o2,l2,u2,f2,c2,hd,p2,md=C(()=>{l();n2=new Set(["normal","reverse","alternate","alternate-reverse"]),s2=new Set(["running","paused"]),a2=new Set(["none","forwards","backwards","both"]),o2=new Set(["infinite"]),l2=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),u2=["cubic-bezier","steps"],f2=/\,(?![^(]*\))/g,c2=/\ +(?![^(]*\))/g,hd=/^(-?[\d.]+m?s)$/,p2=/^(\d+)$/});var gd,re,yd=C(()=>{l();gd=r=>Object.assign({},...Object.entries(r??{}).flatMap(([e,t])=>typeof t=="object"?Object.entries(gd(t)).map(([i,n])=>({[e+(i==="DEFAULT"?"":`-${i}`)]:n})):[{[`${e}`]:t}])),re=gd});var bd,wd=C(()=>{bd="3.4.3"});function ot(r,e=!0){return Array.isArray(r)?r.map(t=>{if(e&&Array.isArray(t))throw new Error("The tuple syntax is not supported for `screens`.");if(typeof t=="string")return{name:t.toString(),not:!1,values:[{min:t,max:void 0}]};let[i,n]=t;return i=i.toString(),typeof n=="string"?{name:i,not:!1,values:[{min:n,max:void 0}]}:Array.isArray(n)?{name:i,not:!1,values:n.map(a=>xd(a))}:{name:i,not:!1,values:[xd(n)]}}):ot(Object.entries(r??{}),!1)}function gn(r){return r.values.length!==1?{result:!1,reason:"multiple-values"}:r.values[0].raw!==void 0?{result:!1,reason:"raw-values"}:r.values[0].min!==void 0&&r.values[0].max!==void 0?{result:!1,reason:"min-and-max"}:{result:!0,reason:null}}function vd(r,e,t){let i=yn(e,r),n=yn(t,r),a=gn(i),s=gn(n);if(a.reason==="multiple-values"||s.reason==="multiple-values")throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");if(a.reason==="raw-values"||s.reason==="raw-values")throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");if(a.reason==="min-and-max"||s.reason==="min-and-max")throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");let{min:o,max:u}=i.values[0],{min:c,max:f}=n.values[0];e.not&&([o,u]=[u,o]),t.not&&([c,f]=[f,c]),o=o===void 0?o:parseFloat(o),u=u===void 0?u:parseFloat(u),c=c===void 0?c:parseFloat(c),f=f===void 0?f:parseFloat(f);let[d,p]=r==="min"?[o,c]:[f,u];return d-p}function yn(r,e){return typeof r=="object"?r:{name:"arbitrary-screen",values:[{[e]:r}]}}function xd({"min-width":r,min:e=r,max:t,raw:i}={}){return{min:e,max:t,raw:i}}var wn=C(()=>{l()});function bn(r,e){r.walkDecls(t=>{if(e.includes(t.prop)){t.remove();return}for(let i of e)t.value.includes(`/ var(${i})`)&&(t.value=t.value.replace(`/ var(${i})`,""))})}var kd=C(()=>{l()});var H,Te,Be,Fe,Sd,Cd=C(()=>{l();ze();bt();st();dd();mn();$t();md();yd();fr();ws();At();Jr();wd();Oe();wn();cs();kd();je();dr();ei();H={childVariant:({addVariant:r})=>{r("*","& > *")},pseudoElementVariants:({addVariant:r})=>{r("first-letter","&::first-letter"),r("first-line","&::first-line"),r("marker",[({container:e})=>(bn(e,["--tw-text-opacity"]),"& *::marker"),({container:e})=>(bn(e,["--tw-text-opacity"]),"&::marker")]),r("selection",["& *::selection","&::selection"]),r("file","&::file-selector-button"),r("placeholder","&::placeholder"),r("backdrop","&::backdrop"),r("before",({container:e})=>(e.walkRules(t=>{let i=!1;t.walkDecls("content",()=>{i=!0}),i||t.prepend(j.decl({prop:"content",value:"var(--tw-content)"}))}),"&::before")),r("after",({container:e})=>(e.walkRules(t=>{let i=!1;t.walkDecls("content",()=>{i=!0}),i||t.prepend(j.decl({prop:"content",value:"var(--tw-content)"}))}),"&::after"))},pseudoClassVariants:({addVariant:r,matchVariant:e,config:t,prefix:i})=>{let n=[["first","&:first-child"],["last","&:last-child"],["only","&:only-child"],["odd","&:nth-child(odd)"],["even","&:nth-child(even)"],"first-of-type","last-of-type","only-of-type",["visited",({container:s})=>(bn(s,["--tw-text-opacity","--tw-border-opacity","--tw-bg-opacity"]),"&:visited")],"target",["open","&[open]"],"default","checked","indeterminate","placeholder-shown","autofill","optional","required","valid","invalid","in-range","out-of-range","read-only","empty","focus-within",["hover",K(t(),"hoverOnlyWhenSupported")?"@media (hover: hover) and (pointer: fine) { &:hover }":"&:hover"],"focus","focus-visible","active","enabled","disabled"].map(s=>Array.isArray(s)?s:[s,`&:${s}`]);for(let[s,o]of n)r(s,u=>typeof o=="function"?o(u):o);let a={group:(s,{modifier:o})=>o?[`:merge(${i(".group")}\\/${ce(o)})`," &"]:[`:merge(${i(".group")})`," &"],peer:(s,{modifier:o})=>o?[`:merge(${i(".peer")}\\/${ce(o)})`," ~ &"]:[`:merge(${i(".peer")})`," ~ &"]};for(let[s,o]of Object.entries(a))e(s,(u="",c)=>{let f=L(typeof u=="function"?u(c):u);f.includes("&")||(f="&"+f);let[d,p]=o("",c),m=null,b=null,x=0;for(let y=0;y{r("ltr",'&:where([dir="ltr"], [dir="ltr"] *)'),r("rtl",'&:where([dir="rtl"], [dir="rtl"] *)')},reducedMotionVariants:({addVariant:r})=>{r("motion-safe","@media (prefers-reduced-motion: no-preference)"),r("motion-reduce","@media (prefers-reduced-motion: reduce)")},darkVariants:({config:r,addVariant:e})=>{let[t,i=".dark"]=[].concat(r("darkMode","media"));if(t===!1&&(t="media",F.warn("darkmode-false",["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.","Change `darkMode` to `media` or remove it entirely.","https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])),t==="variant"){let n;if(Array.isArray(i)||typeof i=="function"?n=i:typeof i=="string"&&(n=[i]),Array.isArray(n))for(let a of n)a===".dark"?(t=!1,F.warn("darkmode-variant-without-selector",["When using `variant` for `darkMode`, you must provide a selector.",'Example: `darkMode: ["variant", ".your-selector &"]`'])):a.includes("&")||(t=!1,F.warn("darkmode-variant-without-ampersand",["When using `variant` for `darkMode`, your selector must contain `&`.",'Example `darkMode: ["variant", ".your-selector &"]`']));i=n}t==="selector"?e("dark",`&:where(${i}, ${i} *)`):t==="media"?e("dark","@media (prefers-color-scheme: dark)"):t==="variant"?e("dark",i):t==="class"&&e("dark",`&:is(${i} *)`)},printVariant:({addVariant:r})=>{r("print","@media print")},screenVariants:({theme:r,addVariant:e,matchVariant:t})=>{let i=r("screens")??{},n=Object.values(i).every(w=>typeof w=="string"),a=ot(r("screens")),s=new Set([]);function o(w){return w.match(/(\D+)$/)?.[1]??"(none)"}function u(w){w!==void 0&&s.add(o(w))}function c(w){return u(w),s.size===1}for(let w of a)for(let k of w.values)u(k.min),u(k.max);let f=s.size<=1;function d(w){return Object.fromEntries(a.filter(k=>gn(k).result).map(k=>{let{min:S,max:_}=k.values[0];if(w==="min"&&S!==void 0)return k;if(w==="min"&&_!==void 0)return{...k,not:!k.not};if(w==="max"&&_!==void 0)return k;if(w==="max"&&S!==void 0)return{...k,not:!k.not}}).map(k=>[k.name,k]))}function p(w){return(k,S)=>vd(w,k.value,S.value)}let m=p("max"),b=p("min");function x(w){return k=>{if(n)if(f){if(typeof k=="string"&&!c(k))return F.warn("minmax-have-mixed-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]}else return F.warn("mixed-screen-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[];else return F.warn("complex-screen-config",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."]),[];return[`@media ${at(yn(k,w))}`]}}t("max",x("max"),{sort:m,values:n?d("max"):{}});let y="min-screens";for(let w of a)e(w.name,`@media ${at(w)}`,{id:y,sort:n&&f?b:void 0,value:w});t("min",x("min"),{id:y,sort:b})},supportsVariants:({matchVariant:r,theme:e})=>{r("supports",(t="")=>{let i=L(t),n=/^\w*\s*\(/.test(i);return i=n?i.replace(/\b(and|or|not)\b/g," $1 "):i,n?`@supports ${i}`:(i.includes(":")||(i=`${i}: var(--tw)`),i.startsWith("(")&&i.endsWith(")")||(i=`(${i})`),`@supports ${i}`)},{values:e("supports")??{}})},hasVariants:({matchVariant:r})=>{r("has",e=>`&:has(${L(e)})`,{values:{}}),r("group-has",(e,{modifier:t})=>t?`:merge(.group\\/${t}):has(${L(e)}) &`:`:merge(.group):has(${L(e)}) &`,{values:{}}),r("peer-has",(e,{modifier:t})=>t?`:merge(.peer\\/${t}):has(${L(e)}) ~ &`:`:merge(.peer):has(${L(e)}) ~ &`,{values:{}})},ariaVariants:({matchVariant:r,theme:e})=>{r("aria",t=>`&[aria-${L(t)}]`,{values:e("aria")??{}}),r("group-aria",(t,{modifier:i})=>i?`:merge(.group\\/${i})[aria-${L(t)}] &`:`:merge(.group)[aria-${L(t)}] &`,{values:e("aria")??{}}),r("peer-aria",(t,{modifier:i})=>i?`:merge(.peer\\/${i})[aria-${L(t)}] ~ &`:`:merge(.peer)[aria-${L(t)}] ~ &`,{values:e("aria")??{}})},dataVariants:({matchVariant:r,theme:e})=>{r("data",t=>`&[data-${L(t)}]`,{values:e("data")??{}}),r("group-data",(t,{modifier:i})=>i?`:merge(.group\\/${i})[data-${L(t)}] &`:`:merge(.group)[data-${L(t)}] &`,{values:e("data")??{}}),r("peer-data",(t,{modifier:i})=>i?`:merge(.peer\\/${i})[data-${L(t)}] ~ &`:`:merge(.peer)[data-${L(t)}] ~ &`,{values:e("data")??{}})},orientationVariants:({addVariant:r})=>{r("portrait","@media (orientation: portrait)"),r("landscape","@media (orientation: landscape)")},prefersContrastVariants:({addVariant:r})=>{r("contrast-more","@media (prefers-contrast: more)"),r("contrast-less","@media (prefers-contrast: less)")},forcedColorsVariants:({addVariant:r})=>{r("forced-colors","@media (forced-colors: active)")}},Te=["translate(var(--tw-translate-x), var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" "),Be=["var(--tw-blur)","var(--tw-brightness)","var(--tw-contrast)","var(--tw-grayscale)","var(--tw-hue-rotate)","var(--tw-invert)","var(--tw-saturate)","var(--tw-sepia)","var(--tw-drop-shadow)"].join(" "),Fe=["var(--tw-backdrop-blur)","var(--tw-backdrop-brightness)","var(--tw-backdrop-contrast)","var(--tw-backdrop-grayscale)","var(--tw-backdrop-hue-rotate)","var(--tw-backdrop-invert)","var(--tw-backdrop-opacity)","var(--tw-backdrop-saturate)","var(--tw-backdrop-sepia)"].join(" "),Sd={preflight:({addBase:r})=>{let e=j.parse(`*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}`);r([j.comment({text:`! tailwindcss v${bd} | MIT License | https://tailwindcss.com`}),...e.nodes])},container:(()=>{function r(t=[]){return t.flatMap(i=>i.values.map(n=>n.min)).filter(i=>i!==void 0)}function e(t,i,n){if(typeof n=="undefined")return[];if(!(typeof n=="object"&&n!==null))return[{screen:"DEFAULT",minWidth:0,padding:n}];let a=[];n.DEFAULT&&a.push({screen:"DEFAULT",minWidth:0,padding:n.DEFAULT});for(let s of t)for(let o of i)for(let{min:u}of o.values)u===s&&a.push({minWidth:s,padding:n[o.name]});return a}return function({addComponents:t,theme:i}){let n=ot(i("container.screens",i("screens"))),a=r(n),s=e(a,n,i("container.padding")),o=c=>{let f=s.find(d=>d.minWidth===c);return f?{paddingRight:f.padding,paddingLeft:f.padding}:{}},u=Array.from(new Set(a.slice().sort((c,f)=>parseInt(c)-parseInt(f)))).map(c=>({[`@media (min-width: ${c})`]:{".container":{"max-width":c,...o(c)}}}));t([{".container":Object.assign({width:"100%"},i("container.center",!1)?{marginRight:"auto",marginLeft:"auto"}:{},o(0))},...u])}})(),accessibility:({addUtilities:r})=>{r({".sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},".not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto",whiteSpace:"normal"}})},pointerEvents:({addUtilities:r})=>{r({".pointer-events-none":{"pointer-events":"none"},".pointer-events-auto":{"pointer-events":"auto"}})},visibility:({addUtilities:r})=>{r({".visible":{visibility:"visible"},".invisible":{visibility:"hidden"},".collapse":{visibility:"collapse"}})},position:({addUtilities:r})=>{r({".static":{position:"static"},".fixed":{position:"fixed"},".absolute":{position:"absolute"},".relative":{position:"relative"},".sticky":{position:"sticky"}})},inset:P("inset",[["inset",["inset"]],[["inset-x",["left","right"]],["inset-y",["top","bottom"]]],[["start",["inset-inline-start"]],["end",["inset-inline-end"]],["top",["top"]],["right",["right"]],["bottom",["bottom"]],["left",["left"]]]],{supportsNegativeValues:!0}),isolation:({addUtilities:r})=>{r({".isolate":{isolation:"isolate"},".isolation-auto":{isolation:"auto"}})},zIndex:P("zIndex",[["z",["zIndex"]]],{supportsNegativeValues:!0}),order:P("order",void 0,{supportsNegativeValues:!0}),gridColumn:P("gridColumn",[["col",["gridColumn"]]]),gridColumnStart:P("gridColumnStart",[["col-start",["gridColumnStart"]]]),gridColumnEnd:P("gridColumnEnd",[["col-end",["gridColumnEnd"]]]),gridRow:P("gridRow",[["row",["gridRow"]]]),gridRowStart:P("gridRowStart",[["row-start",["gridRowStart"]]]),gridRowEnd:P("gridRowEnd",[["row-end",["gridRowEnd"]]]),float:({addUtilities:r})=>{r({".float-start":{float:"inline-start"},".float-end":{float:"inline-end"},".float-right":{float:"right"},".float-left":{float:"left"},".float-none":{float:"none"}})},clear:({addUtilities:r})=>{r({".clear-start":{clear:"inline-start"},".clear-end":{clear:"inline-end"},".clear-left":{clear:"left"},".clear-right":{clear:"right"},".clear-both":{clear:"both"},".clear-none":{clear:"none"}})},margin:P("margin",[["m",["margin"]],[["mx",["margin-left","margin-right"]],["my",["margin-top","margin-bottom"]]],[["ms",["margin-inline-start"]],["me",["margin-inline-end"]],["mt",["margin-top"]],["mr",["margin-right"]],["mb",["margin-bottom"]],["ml",["margin-left"]]]],{supportsNegativeValues:!0}),boxSizing:({addUtilities:r})=>{r({".box-border":{"box-sizing":"border-box"},".box-content":{"box-sizing":"content-box"}})},lineClamp:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"line-clamp":i=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":`${i}`})},{values:t("lineClamp")}),e({".line-clamp-none":{overflow:"visible",display:"block","-webkit-box-orient":"horizontal","-webkit-line-clamp":"none"}})},display:({addUtilities:r})=>{r({".block":{display:"block"},".inline-block":{display:"inline-block"},".inline":{display:"inline"},".flex":{display:"flex"},".inline-flex":{display:"inline-flex"},".table":{display:"table"},".inline-table":{display:"inline-table"},".table-caption":{display:"table-caption"},".table-cell":{display:"table-cell"},".table-column":{display:"table-column"},".table-column-group":{display:"table-column-group"},".table-footer-group":{display:"table-footer-group"},".table-header-group":{display:"table-header-group"},".table-row-group":{display:"table-row-group"},".table-row":{display:"table-row"},".flow-root":{display:"flow-root"},".grid":{display:"grid"},".inline-grid":{display:"inline-grid"},".contents":{display:"contents"},".list-item":{display:"list-item"},".hidden":{display:"none"}})},aspectRatio:P("aspectRatio",[["aspect",["aspect-ratio"]]]),size:P("size",[["size",["width","height"]]]),height:P("height",[["h",["height"]]]),maxHeight:P("maxHeight",[["max-h",["maxHeight"]]]),minHeight:P("minHeight",[["min-h",["minHeight"]]]),width:P("width",[["w",["width"]]]),minWidth:P("minWidth",[["min-w",["minWidth"]]]),maxWidth:P("maxWidth",[["max-w",["maxWidth"]]]),flex:P("flex"),flexShrink:P("flexShrink",[["flex-shrink",["flex-shrink"]],["shrink",["flex-shrink"]]]),flexGrow:P("flexGrow",[["flex-grow",["flex-grow"]],["grow",["flex-grow"]]]),flexBasis:P("flexBasis",[["basis",["flex-basis"]]]),tableLayout:({addUtilities:r})=>{r({".table-auto":{"table-layout":"auto"},".table-fixed":{"table-layout":"fixed"}})},captionSide:({addUtilities:r})=>{r({".caption-top":{"caption-side":"top"},".caption-bottom":{"caption-side":"bottom"}})},borderCollapse:({addUtilities:r})=>{r({".border-collapse":{"border-collapse":"collapse"},".border-separate":{"border-collapse":"separate"}})},borderSpacing:({addDefaults:r,matchUtilities:e,theme:t})=>{r("border-spacing",{"--tw-border-spacing-x":0,"--tw-border-spacing-y":0}),e({"border-spacing":i=>({"--tw-border-spacing-x":i,"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-x":i=>({"--tw-border-spacing-x":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-y":i=>({"--tw-border-spacing-y":i,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})},{values:t("borderSpacing")})},transformOrigin:P("transformOrigin",[["origin",["transformOrigin"]]]),translate:P("translate",[[["translate-x",[["@defaults transform",{}],"--tw-translate-x",["transform",Te]]],["translate-y",[["@defaults transform",{}],"--tw-translate-y",["transform",Te]]]]],{supportsNegativeValues:!0}),rotate:P("rotate",[["rotate",[["@defaults transform",{}],"--tw-rotate",["transform",Te]]]],{supportsNegativeValues:!0}),skew:P("skew",[[["skew-x",[["@defaults transform",{}],"--tw-skew-x",["transform",Te]]],["skew-y",[["@defaults transform",{}],"--tw-skew-y",["transform",Te]]]]],{supportsNegativeValues:!0}),scale:P("scale",[["scale",[["@defaults transform",{}],"--tw-scale-x","--tw-scale-y",["transform",Te]]],[["scale-x",[["@defaults transform",{}],"--tw-scale-x",["transform",Te]]],["scale-y",[["@defaults transform",{}],"--tw-scale-y",["transform",Te]]]]],{supportsNegativeValues:!0}),transform:({addDefaults:r,addUtilities:e})=>{r("transform",{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1"}),e({".transform":{"@defaults transform":{},transform:Te},".transform-cpu":{transform:Te},".transform-gpu":{transform:Te.replace("translate(var(--tw-translate-x), var(--tw-translate-y))","translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)")},".transform-none":{transform:"none"}})},animation:({matchUtilities:r,theme:e,config:t})=>{let i=a=>ce(t("prefix")+a),n=Object.fromEntries(Object.entries(e("keyframes")??{}).map(([a,s])=>[a,{[`@keyframes ${i(a)}`]:s}]));r({animate:a=>{let s=Ka(a);return[...s.flatMap(o=>n[o.name]),{animation:s.map(({name:o,value:u})=>o===void 0||n[o]===void 0?u:u.replace(o,i(o))).join(", ")}]}},{values:e("animation")})},cursor:P("cursor"),touchAction:({addDefaults:r,addUtilities:e})=>{r("touch-action",{"--tw-pan-x":" ","--tw-pan-y":" ","--tw-pinch-zoom":" "});let t="var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)";e({".touch-auto":{"touch-action":"auto"},".touch-none":{"touch-action":"none"},".touch-pan-x":{"@defaults touch-action":{},"--tw-pan-x":"pan-x","touch-action":t},".touch-pan-left":{"@defaults touch-action":{},"--tw-pan-x":"pan-left","touch-action":t},".touch-pan-right":{"@defaults touch-action":{},"--tw-pan-x":"pan-right","touch-action":t},".touch-pan-y":{"@defaults touch-action":{},"--tw-pan-y":"pan-y","touch-action":t},".touch-pan-up":{"@defaults touch-action":{},"--tw-pan-y":"pan-up","touch-action":t},".touch-pan-down":{"@defaults touch-action":{},"--tw-pan-y":"pan-down","touch-action":t},".touch-pinch-zoom":{"@defaults touch-action":{},"--tw-pinch-zoom":"pinch-zoom","touch-action":t},".touch-manipulation":{"touch-action":"manipulation"}})},userSelect:({addUtilities:r})=>{r({".select-none":{"user-select":"none"},".select-text":{"user-select":"text"},".select-all":{"user-select":"all"},".select-auto":{"user-select":"auto"}})},resize:({addUtilities:r})=>{r({".resize-none":{resize:"none"},".resize-y":{resize:"vertical"},".resize-x":{resize:"horizontal"},".resize":{resize:"both"}})},scrollSnapType:({addDefaults:r,addUtilities:e})=>{r("scroll-snap-type",{"--tw-scroll-snap-strictness":"proximity"}),e({".snap-none":{"scroll-snap-type":"none"},".snap-x":{"@defaults scroll-snap-type":{},"scroll-snap-type":"x var(--tw-scroll-snap-strictness)"},".snap-y":{"@defaults scroll-snap-type":{},"scroll-snap-type":"y var(--tw-scroll-snap-strictness)"},".snap-both":{"@defaults scroll-snap-type":{},"scroll-snap-type":"both var(--tw-scroll-snap-strictness)"},".snap-mandatory":{"--tw-scroll-snap-strictness":"mandatory"},".snap-proximity":{"--tw-scroll-snap-strictness":"proximity"}})},scrollSnapAlign:({addUtilities:r})=>{r({".snap-start":{"scroll-snap-align":"start"},".snap-end":{"scroll-snap-align":"end"},".snap-center":{"scroll-snap-align":"center"},".snap-align-none":{"scroll-snap-align":"none"}})},scrollSnapStop:({addUtilities:r})=>{r({".snap-normal":{"scroll-snap-stop":"normal"},".snap-always":{"scroll-snap-stop":"always"}})},scrollMargin:P("scrollMargin",[["scroll-m",["scroll-margin"]],[["scroll-mx",["scroll-margin-left","scroll-margin-right"]],["scroll-my",["scroll-margin-top","scroll-margin-bottom"]]],[["scroll-ms",["scroll-margin-inline-start"]],["scroll-me",["scroll-margin-inline-end"]],["scroll-mt",["scroll-margin-top"]],["scroll-mr",["scroll-margin-right"]],["scroll-mb",["scroll-margin-bottom"]],["scroll-ml",["scroll-margin-left"]]]],{supportsNegativeValues:!0}),scrollPadding:P("scrollPadding",[["scroll-p",["scroll-padding"]],[["scroll-px",["scroll-padding-left","scroll-padding-right"]],["scroll-py",["scroll-padding-top","scroll-padding-bottom"]]],[["scroll-ps",["scroll-padding-inline-start"]],["scroll-pe",["scroll-padding-inline-end"]],["scroll-pt",["scroll-padding-top"]],["scroll-pr",["scroll-padding-right"]],["scroll-pb",["scroll-padding-bottom"]],["scroll-pl",["scroll-padding-left"]]]]),listStylePosition:({addUtilities:r})=>{r({".list-inside":{"list-style-position":"inside"},".list-outside":{"list-style-position":"outside"}})},listStyleType:P("listStyleType",[["list",["listStyleType"]]]),listStyleImage:P("listStyleImage",[["list-image",["listStyleImage"]]]),appearance:({addUtilities:r})=>{r({".appearance-none":{appearance:"none"},".appearance-auto":{appearance:"auto"}})},columns:P("columns",[["columns",["columns"]]]),breakBefore:({addUtilities:r})=>{r({".break-before-auto":{"break-before":"auto"},".break-before-avoid":{"break-before":"avoid"},".break-before-all":{"break-before":"all"},".break-before-avoid-page":{"break-before":"avoid-page"},".break-before-page":{"break-before":"page"},".break-before-left":{"break-before":"left"},".break-before-right":{"break-before":"right"},".break-before-column":{"break-before":"column"}})},breakInside:({addUtilities:r})=>{r({".break-inside-auto":{"break-inside":"auto"},".break-inside-avoid":{"break-inside":"avoid"},".break-inside-avoid-page":{"break-inside":"avoid-page"},".break-inside-avoid-column":{"break-inside":"avoid-column"}})},breakAfter:({addUtilities:r})=>{r({".break-after-auto":{"break-after":"auto"},".break-after-avoid":{"break-after":"avoid"},".break-after-all":{"break-after":"all"},".break-after-avoid-page":{"break-after":"avoid-page"},".break-after-page":{"break-after":"page"},".break-after-left":{"break-after":"left"},".break-after-right":{"break-after":"right"},".break-after-column":{"break-after":"column"}})},gridAutoColumns:P("gridAutoColumns",[["auto-cols",["gridAutoColumns"]]]),gridAutoFlow:({addUtilities:r})=>{r({".grid-flow-row":{gridAutoFlow:"row"},".grid-flow-col":{gridAutoFlow:"column"},".grid-flow-dense":{gridAutoFlow:"dense"},".grid-flow-row-dense":{gridAutoFlow:"row dense"},".grid-flow-col-dense":{gridAutoFlow:"column dense"}})},gridAutoRows:P("gridAutoRows",[["auto-rows",["gridAutoRows"]]]),gridTemplateColumns:P("gridTemplateColumns",[["grid-cols",["gridTemplateColumns"]]]),gridTemplateRows:P("gridTemplateRows",[["grid-rows",["gridTemplateRows"]]]),flexDirection:({addUtilities:r})=>{r({".flex-row":{"flex-direction":"row"},".flex-row-reverse":{"flex-direction":"row-reverse"},".flex-col":{"flex-direction":"column"},".flex-col-reverse":{"flex-direction":"column-reverse"}})},flexWrap:({addUtilities:r})=>{r({".flex-wrap":{"flex-wrap":"wrap"},".flex-wrap-reverse":{"flex-wrap":"wrap-reverse"},".flex-nowrap":{"flex-wrap":"nowrap"}})},placeContent:({addUtilities:r})=>{r({".place-content-center":{"place-content":"center"},".place-content-start":{"place-content":"start"},".place-content-end":{"place-content":"end"},".place-content-between":{"place-content":"space-between"},".place-content-around":{"place-content":"space-around"},".place-content-evenly":{"place-content":"space-evenly"},".place-content-baseline":{"place-content":"baseline"},".place-content-stretch":{"place-content":"stretch"}})},placeItems:({addUtilities:r})=>{r({".place-items-start":{"place-items":"start"},".place-items-end":{"place-items":"end"},".place-items-center":{"place-items":"center"},".place-items-baseline":{"place-items":"baseline"},".place-items-stretch":{"place-items":"stretch"}})},alignContent:({addUtilities:r})=>{r({".content-normal":{"align-content":"normal"},".content-center":{"align-content":"center"},".content-start":{"align-content":"flex-start"},".content-end":{"align-content":"flex-end"},".content-between":{"align-content":"space-between"},".content-around":{"align-content":"space-around"},".content-evenly":{"align-content":"space-evenly"},".content-baseline":{"align-content":"baseline"},".content-stretch":{"align-content":"stretch"}})},alignItems:({addUtilities:r})=>{r({".items-start":{"align-items":"flex-start"},".items-end":{"align-items":"flex-end"},".items-center":{"align-items":"center"},".items-baseline":{"align-items":"baseline"},".items-stretch":{"align-items":"stretch"}})},justifyContent:({addUtilities:r})=>{r({".justify-normal":{"justify-content":"normal"},".justify-start":{"justify-content":"flex-start"},".justify-end":{"justify-content":"flex-end"},".justify-center":{"justify-content":"center"},".justify-between":{"justify-content":"space-between"},".justify-around":{"justify-content":"space-around"},".justify-evenly":{"justify-content":"space-evenly"},".justify-stretch":{"justify-content":"stretch"}})},justifyItems:({addUtilities:r})=>{r({".justify-items-start":{"justify-items":"start"},".justify-items-end":{"justify-items":"end"},".justify-items-center":{"justify-items":"center"},".justify-items-stretch":{"justify-items":"stretch"}})},gap:P("gap",[["gap",["gap"]],[["gap-x",["columnGap"]],["gap-y",["rowGap"]]]]),space:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"space-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"0","margin-right":`calc(${i} * var(--tw-space-x-reverse))`,"margin-left":`calc(${i} * calc(1 - var(--tw-space-x-reverse)))`}}),"space-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"0","margin-top":`calc(${i} * calc(1 - var(--tw-space-y-reverse)))`,"margin-bottom":`calc(${i} * var(--tw-space-y-reverse))`}})},{values:t("space"),supportsNegativeValues:!0}),e({".space-y-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"1"},".space-x-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"1"}})},divideWidth:({matchUtilities:r,addUtilities:e,theme:t})=>{r({"divide-x":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"0","border-right-width":`calc(${i} * var(--tw-divide-x-reverse))`,"border-left-width":`calc(${i} * calc(1 - var(--tw-divide-x-reverse)))`}}),"divide-y":i=>(i=i==="0"?"0px":i,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"0","border-top-width":`calc(${i} * calc(1 - var(--tw-divide-y-reverse)))`,"border-bottom-width":`calc(${i} * var(--tw-divide-y-reverse))`}})},{values:t("divideWidth"),type:["line-width","length","any"]}),e({".divide-y-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"1"},".divide-x-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"1"}})},divideStyle:({addUtilities:r})=>{r({".divide-solid > :not([hidden]) ~ :not([hidden])":{"border-style":"solid"},".divide-dashed > :not([hidden]) ~ :not([hidden])":{"border-style":"dashed"},".divide-dotted > :not([hidden]) ~ :not([hidden])":{"border-style":"dotted"},".divide-double > :not([hidden]) ~ :not([hidden])":{"border-style":"double"},".divide-none > :not([hidden]) ~ :not([hidden])":{"border-style":"none"}})},divideColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({divide:i=>t("divideOpacity")?{["& > :not([hidden]) ~ :not([hidden])"]:se({color:i,property:"border-color",variable:"--tw-divide-opacity"})}:{["& > :not([hidden]) ~ :not([hidden])"]:{"border-color":N(i)}}},{values:(({DEFAULT:i,...n})=>n)(re(e("divideColor"))),type:["color","any"]})},divideOpacity:({matchUtilities:r,theme:e})=>{r({"divide-opacity":t=>({["& > :not([hidden]) ~ :not([hidden])"]:{"--tw-divide-opacity":t}})},{values:e("divideOpacity")})},placeSelf:({addUtilities:r})=>{r({".place-self-auto":{"place-self":"auto"},".place-self-start":{"place-self":"start"},".place-self-end":{"place-self":"end"},".place-self-center":{"place-self":"center"},".place-self-stretch":{"place-self":"stretch"}})},alignSelf:({addUtilities:r})=>{r({".self-auto":{"align-self":"auto"},".self-start":{"align-self":"flex-start"},".self-end":{"align-self":"flex-end"},".self-center":{"align-self":"center"},".self-stretch":{"align-self":"stretch"},".self-baseline":{"align-self":"baseline"}})},justifySelf:({addUtilities:r})=>{r({".justify-self-auto":{"justify-self":"auto"},".justify-self-start":{"justify-self":"start"},".justify-self-end":{"justify-self":"end"},".justify-self-center":{"justify-self":"center"},".justify-self-stretch":{"justify-self":"stretch"}})},overflow:({addUtilities:r})=>{r({".overflow-auto":{overflow:"auto"},".overflow-hidden":{overflow:"hidden"},".overflow-clip":{overflow:"clip"},".overflow-visible":{overflow:"visible"},".overflow-scroll":{overflow:"scroll"},".overflow-x-auto":{"overflow-x":"auto"},".overflow-y-auto":{"overflow-y":"auto"},".overflow-x-hidden":{"overflow-x":"hidden"},".overflow-y-hidden":{"overflow-y":"hidden"},".overflow-x-clip":{"overflow-x":"clip"},".overflow-y-clip":{"overflow-y":"clip"},".overflow-x-visible":{"overflow-x":"visible"},".overflow-y-visible":{"overflow-y":"visible"},".overflow-x-scroll":{"overflow-x":"scroll"},".overflow-y-scroll":{"overflow-y":"scroll"}})},overscrollBehavior:({addUtilities:r})=>{r({".overscroll-auto":{"overscroll-behavior":"auto"},".overscroll-contain":{"overscroll-behavior":"contain"},".overscroll-none":{"overscroll-behavior":"none"},".overscroll-y-auto":{"overscroll-behavior-y":"auto"},".overscroll-y-contain":{"overscroll-behavior-y":"contain"},".overscroll-y-none":{"overscroll-behavior-y":"none"},".overscroll-x-auto":{"overscroll-behavior-x":"auto"},".overscroll-x-contain":{"overscroll-behavior-x":"contain"},".overscroll-x-none":{"overscroll-behavior-x":"none"}})},scrollBehavior:({addUtilities:r})=>{r({".scroll-auto":{"scroll-behavior":"auto"},".scroll-smooth":{"scroll-behavior":"smooth"}})},textOverflow:({addUtilities:r})=>{r({".truncate":{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},".overflow-ellipsis":{"text-overflow":"ellipsis"},".text-ellipsis":{"text-overflow":"ellipsis"},".text-clip":{"text-overflow":"clip"}})},hyphens:({addUtilities:r})=>{r({".hyphens-none":{hyphens:"none"},".hyphens-manual":{hyphens:"manual"},".hyphens-auto":{hyphens:"auto"}})},whitespace:({addUtilities:r})=>{r({".whitespace-normal":{"white-space":"normal"},".whitespace-nowrap":{"white-space":"nowrap"},".whitespace-pre":{"white-space":"pre"},".whitespace-pre-line":{"white-space":"pre-line"},".whitespace-pre-wrap":{"white-space":"pre-wrap"},".whitespace-break-spaces":{"white-space":"break-spaces"}})},textWrap:({addUtilities:r})=>{r({".text-wrap":{"text-wrap":"wrap"},".text-nowrap":{"text-wrap":"nowrap"},".text-balance":{"text-wrap":"balance"},".text-pretty":{"text-wrap":"pretty"}})},wordBreak:({addUtilities:r})=>{r({".break-normal":{"overflow-wrap":"normal","word-break":"normal"},".break-words":{"overflow-wrap":"break-word"},".break-all":{"word-break":"break-all"},".break-keep":{"word-break":"keep-all"}})},borderRadius:P("borderRadius",[["rounded",["border-radius"]],[["rounded-s",["border-start-start-radius","border-end-start-radius"]],["rounded-e",["border-start-end-radius","border-end-end-radius"]],["rounded-t",["border-top-left-radius","border-top-right-radius"]],["rounded-r",["border-top-right-radius","border-bottom-right-radius"]],["rounded-b",["border-bottom-right-radius","border-bottom-left-radius"]],["rounded-l",["border-top-left-radius","border-bottom-left-radius"]]],[["rounded-ss",["border-start-start-radius"]],["rounded-se",["border-start-end-radius"]],["rounded-ee",["border-end-end-radius"]],["rounded-es",["border-end-start-radius"]],["rounded-tl",["border-top-left-radius"]],["rounded-tr",["border-top-right-radius"]],["rounded-br",["border-bottom-right-radius"]],["rounded-bl",["border-bottom-left-radius"]]]]),borderWidth:P("borderWidth",[["border",[["@defaults border-width",{}],"border-width"]],[["border-x",[["@defaults border-width",{}],"border-left-width","border-right-width"]],["border-y",[["@defaults border-width",{}],"border-top-width","border-bottom-width"]]],[["border-s",[["@defaults border-width",{}],"border-inline-start-width"]],["border-e",[["@defaults border-width",{}],"border-inline-end-width"]],["border-t",[["@defaults border-width",{}],"border-top-width"]],["border-r",[["@defaults border-width",{}],"border-right-width"]],["border-b",[["@defaults border-width",{}],"border-bottom-width"]],["border-l",[["@defaults border-width",{}],"border-left-width"]]]],{type:["line-width","length"]}),borderStyle:({addUtilities:r})=>{r({".border-solid":{"border-style":"solid"},".border-dashed":{"border-style":"dashed"},".border-dotted":{"border-style":"dotted"},".border-double":{"border-style":"double"},".border-hidden":{"border-style":"hidden"},".border-none":{"border-style":"none"}})},borderColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({border:i=>t("borderOpacity")?se({color:i,property:"border-color",variable:"--tw-border-opacity"}):{"border-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),r({"border-x":i=>t("borderOpacity")?se({color:i,property:["border-left-color","border-right-color"],variable:"--tw-border-opacity"}):{"border-left-color":N(i),"border-right-color":N(i)},"border-y":i=>t("borderOpacity")?se({color:i,property:["border-top-color","border-bottom-color"],variable:"--tw-border-opacity"}):{"border-top-color":N(i),"border-bottom-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),r({"border-s":i=>t("borderOpacity")?se({color:i,property:"border-inline-start-color",variable:"--tw-border-opacity"}):{"border-inline-start-color":N(i)},"border-e":i=>t("borderOpacity")?se({color:i,property:"border-inline-end-color",variable:"--tw-border-opacity"}):{"border-inline-end-color":N(i)},"border-t":i=>t("borderOpacity")?se({color:i,property:"border-top-color",variable:"--tw-border-opacity"}):{"border-top-color":N(i)},"border-r":i=>t("borderOpacity")?se({color:i,property:"border-right-color",variable:"--tw-border-opacity"}):{"border-right-color":N(i)},"border-b":i=>t("borderOpacity")?se({color:i,property:"border-bottom-color",variable:"--tw-border-opacity"}):{"border-bottom-color":N(i)},"border-l":i=>t("borderOpacity")?se({color:i,property:"border-left-color",variable:"--tw-border-opacity"}):{"border-left-color":N(i)}},{values:(({DEFAULT:i,...n})=>n)(re(e("borderColor"))),type:["color","any"]})},borderOpacity:P("borderOpacity",[["border-opacity",["--tw-border-opacity"]]]),backgroundColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({bg:i=>t("backgroundOpacity")?se({color:i,property:"background-color",variable:"--tw-bg-opacity"}):{"background-color":N(i)}},{values:re(e("backgroundColor")),type:["color","any"]})},backgroundOpacity:P("backgroundOpacity",[["bg-opacity",["--tw-bg-opacity"]]]),backgroundImage:P("backgroundImage",[["bg",["background-image"]]],{type:["lookup","image","url"]}),gradientColorStops:(()=>{function r(e){return Ie(e,0,"rgb(255 255 255 / 0)")}return function({matchUtilities:e,theme:t,addDefaults:i}){i("gradient-color-stops",{"--tw-gradient-from-position":" ","--tw-gradient-via-position":" ","--tw-gradient-to-position":" "});let n={values:re(t("gradientColorStops")),type:["color","any"]},a={values:t("gradientColorStopPositions"),type:["length","percentage"]};e({from:s=>{let o=r(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-from":`${N(s)} var(--tw-gradient-from-position)`,"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":"var(--tw-gradient-from), var(--tw-gradient-to)"}}},n),e({from:s=>({"--tw-gradient-from-position":s})},a),e({via:s=>{let o=r(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":`var(--tw-gradient-from), ${N(s)} var(--tw-gradient-via-position), var(--tw-gradient-to)`}}},n),e({via:s=>({"--tw-gradient-via-position":s})},a),e({to:s=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${N(s)} var(--tw-gradient-to-position)`})},n),e({to:s=>({"--tw-gradient-to-position":s})},a)}})(),boxDecorationBreak:({addUtilities:r})=>{r({".decoration-slice":{"box-decoration-break":"slice"},".decoration-clone":{"box-decoration-break":"clone"},".box-decoration-slice":{"box-decoration-break":"slice"},".box-decoration-clone":{"box-decoration-break":"clone"}})},backgroundSize:P("backgroundSize",[["bg",["background-size"]]],{type:["lookup","length","percentage","size"]}),backgroundAttachment:({addUtilities:r})=>{r({".bg-fixed":{"background-attachment":"fixed"},".bg-local":{"background-attachment":"local"},".bg-scroll":{"background-attachment":"scroll"}})},backgroundClip:({addUtilities:r})=>{r({".bg-clip-border":{"background-clip":"border-box"},".bg-clip-padding":{"background-clip":"padding-box"},".bg-clip-content":{"background-clip":"content-box"},".bg-clip-text":{"background-clip":"text"}})},backgroundPosition:P("backgroundPosition",[["bg",["background-position"]]],{type:["lookup",["position",{preferOnConflict:!0}]]}),backgroundRepeat:({addUtilities:r})=>{r({".bg-repeat":{"background-repeat":"repeat"},".bg-no-repeat":{"background-repeat":"no-repeat"},".bg-repeat-x":{"background-repeat":"repeat-x"},".bg-repeat-y":{"background-repeat":"repeat-y"},".bg-repeat-round":{"background-repeat":"round"},".bg-repeat-space":{"background-repeat":"space"}})},backgroundOrigin:({addUtilities:r})=>{r({".bg-origin-border":{"background-origin":"border-box"},".bg-origin-padding":{"background-origin":"padding-box"},".bg-origin-content":{"background-origin":"content-box"}})},fill:({matchUtilities:r,theme:e})=>{r({fill:t=>({fill:N(t)})},{values:re(e("fill")),type:["color","any"]})},stroke:({matchUtilities:r,theme:e})=>{r({stroke:t=>({stroke:N(t)})},{values:re(e("stroke")),type:["color","url","any"]})},strokeWidth:P("strokeWidth",[["stroke",["stroke-width"]]],{type:["length","number","percentage"]}),objectFit:({addUtilities:r})=>{r({".object-contain":{"object-fit":"contain"},".object-cover":{"object-fit":"cover"},".object-fill":{"object-fit":"fill"},".object-none":{"object-fit":"none"},".object-scale-down":{"object-fit":"scale-down"}})},objectPosition:P("objectPosition",[["object",["object-position"]]]),padding:P("padding",[["p",["padding"]],[["px",["padding-left","padding-right"]],["py",["padding-top","padding-bottom"]]],[["ps",["padding-inline-start"]],["pe",["padding-inline-end"]],["pt",["padding-top"]],["pr",["padding-right"]],["pb",["padding-bottom"]],["pl",["padding-left"]]]]),textAlign:({addUtilities:r})=>{r({".text-left":{"text-align":"left"},".text-center":{"text-align":"center"},".text-right":{"text-align":"right"},".text-justify":{"text-align":"justify"},".text-start":{"text-align":"start"},".text-end":{"text-align":"end"}})},textIndent:P("textIndent",[["indent",["text-indent"]]],{supportsNegativeValues:!0}),verticalAlign:({addUtilities:r,matchUtilities:e})=>{r({".align-baseline":{"vertical-align":"baseline"},".align-top":{"vertical-align":"top"},".align-middle":{"vertical-align":"middle"},".align-bottom":{"vertical-align":"bottom"},".align-text-top":{"vertical-align":"text-top"},".align-text-bottom":{"vertical-align":"text-bottom"},".align-sub":{"vertical-align":"sub"},".align-super":{"vertical-align":"super"}}),e({align:t=>({"vertical-align":t})})},fontFamily:({matchUtilities:r,theme:e})=>{r({font:t=>{let[i,n={}]=Array.isArray(t)&&ie(t[1])?t:[t],{fontFeatureSettings:a,fontVariationSettings:s}=n;return{"font-family":Array.isArray(i)?i.join(", "):i,...a===void 0?{}:{"font-feature-settings":a},...s===void 0?{}:{"font-variation-settings":s}}}},{values:e("fontFamily"),type:["lookup","generic-name","family-name"]})},fontSize:({matchUtilities:r,theme:e})=>{r({text:(t,{modifier:i})=>{let[n,a]=Array.isArray(t)?t:[t];if(i)return{"font-size":n,"line-height":i};let{lineHeight:s,letterSpacing:o,fontWeight:u}=ie(a)?a:{lineHeight:a};return{"font-size":n,...s===void 0?{}:{"line-height":s},...o===void 0?{}:{"letter-spacing":o},...u===void 0?{}:{"font-weight":u}}}},{values:e("fontSize"),modifiers:e("lineHeight"),type:["absolute-size","relative-size","length","percentage"]})},fontWeight:P("fontWeight",[["font",["fontWeight"]]],{type:["lookup","number","any"]}),textTransform:({addUtilities:r})=>{r({".uppercase":{"text-transform":"uppercase"},".lowercase":{"text-transform":"lowercase"},".capitalize":{"text-transform":"capitalize"},".normal-case":{"text-transform":"none"}})},fontStyle:({addUtilities:r})=>{r({".italic":{"font-style":"italic"},".not-italic":{"font-style":"normal"}})},fontVariantNumeric:({addDefaults:r,addUtilities:e})=>{let t="var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)";r("font-variant-numeric",{"--tw-ordinal":" ","--tw-slashed-zero":" ","--tw-numeric-figure":" ","--tw-numeric-spacing":" ","--tw-numeric-fraction":" "}),e({".normal-nums":{"font-variant-numeric":"normal"},".ordinal":{"@defaults font-variant-numeric":{},"--tw-ordinal":"ordinal","font-variant-numeric":t},".slashed-zero":{"@defaults font-variant-numeric":{},"--tw-slashed-zero":"slashed-zero","font-variant-numeric":t},".lining-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"lining-nums","font-variant-numeric":t},".oldstyle-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"oldstyle-nums","font-variant-numeric":t},".proportional-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"proportional-nums","font-variant-numeric":t},".tabular-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"tabular-nums","font-variant-numeric":t},".diagonal-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"diagonal-fractions","font-variant-numeric":t},".stacked-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"stacked-fractions","font-variant-numeric":t}})},lineHeight:P("lineHeight",[["leading",["lineHeight"]]]),letterSpacing:P("letterSpacing",[["tracking",["letterSpacing"]]],{supportsNegativeValues:!0}),textColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({text:i=>t("textOpacity")?se({color:i,property:"color",variable:"--tw-text-opacity"}):{color:N(i)}},{values:re(e("textColor")),type:["color","any"]})},textOpacity:P("textOpacity",[["text-opacity",["--tw-text-opacity"]]]),textDecoration:({addUtilities:r})=>{r({".underline":{"text-decoration-line":"underline"},".overline":{"text-decoration-line":"overline"},".line-through":{"text-decoration-line":"line-through"},".no-underline":{"text-decoration-line":"none"}})},textDecorationColor:({matchUtilities:r,theme:e})=>{r({decoration:t=>({"text-decoration-color":N(t)})},{values:re(e("textDecorationColor")),type:["color","any"]})},textDecorationStyle:({addUtilities:r})=>{r({".decoration-solid":{"text-decoration-style":"solid"},".decoration-double":{"text-decoration-style":"double"},".decoration-dotted":{"text-decoration-style":"dotted"},".decoration-dashed":{"text-decoration-style":"dashed"},".decoration-wavy":{"text-decoration-style":"wavy"}})},textDecorationThickness:P("textDecorationThickness",[["decoration",["text-decoration-thickness"]]],{type:["length","percentage"]}),textUnderlineOffset:P("textUnderlineOffset",[["underline-offset",["text-underline-offset"]]],{type:["length","percentage","any"]}),fontSmoothing:({addUtilities:r})=>{r({".antialiased":{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},".subpixel-antialiased":{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"}})},placeholderColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({placeholder:i=>t("placeholderOpacity")?{"&::placeholder":se({color:i,property:"color",variable:"--tw-placeholder-opacity"})}:{"&::placeholder":{color:N(i)}}},{values:re(e("placeholderColor")),type:["color","any"]})},placeholderOpacity:({matchUtilities:r,theme:e})=>{r({"placeholder-opacity":t=>({["&::placeholder"]:{"--tw-placeholder-opacity":t}})},{values:e("placeholderOpacity")})},caretColor:({matchUtilities:r,theme:e})=>{r({caret:t=>({"caret-color":N(t)})},{values:re(e("caretColor")),type:["color","any"]})},accentColor:({matchUtilities:r,theme:e})=>{r({accent:t=>({"accent-color":N(t)})},{values:re(e("accentColor")),type:["color","any"]})},opacity:P("opacity",[["opacity",["opacity"]]]),backgroundBlendMode:({addUtilities:r})=>{r({".bg-blend-normal":{"background-blend-mode":"normal"},".bg-blend-multiply":{"background-blend-mode":"multiply"},".bg-blend-screen":{"background-blend-mode":"screen"},".bg-blend-overlay":{"background-blend-mode":"overlay"},".bg-blend-darken":{"background-blend-mode":"darken"},".bg-blend-lighten":{"background-blend-mode":"lighten"},".bg-blend-color-dodge":{"background-blend-mode":"color-dodge"},".bg-blend-color-burn":{"background-blend-mode":"color-burn"},".bg-blend-hard-light":{"background-blend-mode":"hard-light"},".bg-blend-soft-light":{"background-blend-mode":"soft-light"},".bg-blend-difference":{"background-blend-mode":"difference"},".bg-blend-exclusion":{"background-blend-mode":"exclusion"},".bg-blend-hue":{"background-blend-mode":"hue"},".bg-blend-saturation":{"background-blend-mode":"saturation"},".bg-blend-color":{"background-blend-mode":"color"},".bg-blend-luminosity":{"background-blend-mode":"luminosity"}})},mixBlendMode:({addUtilities:r})=>{r({".mix-blend-normal":{"mix-blend-mode":"normal"},".mix-blend-multiply":{"mix-blend-mode":"multiply"},".mix-blend-screen":{"mix-blend-mode":"screen"},".mix-blend-overlay":{"mix-blend-mode":"overlay"},".mix-blend-darken":{"mix-blend-mode":"darken"},".mix-blend-lighten":{"mix-blend-mode":"lighten"},".mix-blend-color-dodge":{"mix-blend-mode":"color-dodge"},".mix-blend-color-burn":{"mix-blend-mode":"color-burn"},".mix-blend-hard-light":{"mix-blend-mode":"hard-light"},".mix-blend-soft-light":{"mix-blend-mode":"soft-light"},".mix-blend-difference":{"mix-blend-mode":"difference"},".mix-blend-exclusion":{"mix-blend-mode":"exclusion"},".mix-blend-hue":{"mix-blend-mode":"hue"},".mix-blend-saturation":{"mix-blend-mode":"saturation"},".mix-blend-color":{"mix-blend-mode":"color"},".mix-blend-luminosity":{"mix-blend-mode":"luminosity"},".mix-blend-plus-darker":{"mix-blend-mode":"plus-darker"},".mix-blend-plus-lighter":{"mix-blend-mode":"plus-lighter"}})},boxShadow:(()=>{let r=Ge("boxShadow"),e=["var(--tw-ring-offset-shadow, 0 0 #0000)","var(--tw-ring-shadow, 0 0 #0000)","var(--tw-shadow)"].join(", ");return function({matchUtilities:t,addDefaults:i,theme:n}){i("box-shadow",{"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),t({shadow:a=>{a=r(a);let s=xi(a);for(let o of s)!o.valid||(o.color="var(--tw-shadow-color)");return{"@defaults box-shadow":{},"--tw-shadow":a==="none"?"0 0 #0000":a,"--tw-shadow-colored":a==="none"?"0 0 #0000":Lu(s),"box-shadow":e}}},{values:n("boxShadow"),type:["shadow"]})}})(),boxShadowColor:({matchUtilities:r,theme:e})=>{r({shadow:t=>({"--tw-shadow-color":N(t),"--tw-shadow":"var(--tw-shadow-colored)"})},{values:re(e("boxShadowColor")),type:["color","any"]})},outlineStyle:({addUtilities:r})=>{r({".outline-none":{outline:"2px solid transparent","outline-offset":"2px"},".outline":{"outline-style":"solid"},".outline-dashed":{"outline-style":"dashed"},".outline-dotted":{"outline-style":"dotted"},".outline-double":{"outline-style":"double"}})},outlineWidth:P("outlineWidth",[["outline",["outline-width"]]],{type:["length","number","percentage"]}),outlineOffset:P("outlineOffset",[["outline-offset",["outline-offset"]]],{type:["length","number","percentage","any"],supportsNegativeValues:!0}),outlineColor:({matchUtilities:r,theme:e})=>{r({outline:t=>({"outline-color":N(t)})},{values:re(e("outlineColor")),type:["color","any"]})},ringWidth:({matchUtilities:r,addDefaults:e,addUtilities:t,theme:i,config:n})=>{let a=(()=>{if(K(n(),"respectDefaultRingColorOpacity"))return i("ringColor.DEFAULT");let s=i("ringOpacity.DEFAULT","0.5");return i("ringColor")?.DEFAULT?Ie(i("ringColor")?.DEFAULT,s,`rgb(147 197 253 / ${s})`):`rgb(147 197 253 / ${s})`})();e("ring-width",{"--tw-ring-inset":" ","--tw-ring-offset-width":i("ringOffsetWidth.DEFAULT","0px"),"--tw-ring-offset-color":i("ringOffsetColor.DEFAULT","#fff"),"--tw-ring-color":a,"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),r({ring:s=>({"@defaults ring-width":{},"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":["var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow, 0 0 #0000)"].join(", ")})},{values:i("ringWidth"),type:"length"}),t({".ring-inset":{"@defaults ring-width":{},"--tw-ring-inset":"inset"}})},ringColor:({matchUtilities:r,theme:e,corePlugins:t})=>{r({ring:i=>t("ringOpacity")?se({color:i,property:"--tw-ring-color",variable:"--tw-ring-opacity"}):{"--tw-ring-color":N(i)}},{values:Object.fromEntries(Object.entries(re(e("ringColor"))).filter(([i])=>i!=="DEFAULT")),type:["color","any"]})},ringOpacity:r=>{let{config:e}=r;return P("ringOpacity",[["ring-opacity",["--tw-ring-opacity"]]],{filterDefault:!K(e(),"respectDefaultRingColorOpacity")})(r)},ringOffsetWidth:P("ringOffsetWidth",[["ring-offset",["--tw-ring-offset-width"]]],{type:"length"}),ringOffsetColor:({matchUtilities:r,theme:e})=>{r({"ring-offset":t=>({"--tw-ring-offset-color":N(t)})},{values:re(e("ringOffsetColor")),type:["color","any"]})},blur:({matchUtilities:r,theme:e})=>{r({blur:t=>({"--tw-blur":`blur(${t})`,"@defaults filter":{},filter:Be})},{values:e("blur")})},brightness:({matchUtilities:r,theme:e})=>{r({brightness:t=>({"--tw-brightness":`brightness(${t})`,"@defaults filter":{},filter:Be})},{values:e("brightness")})},contrast:({matchUtilities:r,theme:e})=>{r({contrast:t=>({"--tw-contrast":`contrast(${t})`,"@defaults filter":{},filter:Be})},{values:e("contrast")})},dropShadow:({matchUtilities:r,theme:e})=>{r({"drop-shadow":t=>({"--tw-drop-shadow":Array.isArray(t)?t.map(i=>`drop-shadow(${i})`).join(" "):`drop-shadow(${t})`,"@defaults filter":{},filter:Be})},{values:e("dropShadow")})},grayscale:({matchUtilities:r,theme:e})=>{r({grayscale:t=>({"--tw-grayscale":`grayscale(${t})`,"@defaults filter":{},filter:Be})},{values:e("grayscale")})},hueRotate:({matchUtilities:r,theme:e})=>{r({"hue-rotate":t=>({"--tw-hue-rotate":`hue-rotate(${t})`,"@defaults filter":{},filter:Be})},{values:e("hueRotate"),supportsNegativeValues:!0})},invert:({matchUtilities:r,theme:e})=>{r({invert:t=>({"--tw-invert":`invert(${t})`,"@defaults filter":{},filter:Be})},{values:e("invert")})},saturate:({matchUtilities:r,theme:e})=>{r({saturate:t=>({"--tw-saturate":`saturate(${t})`,"@defaults filter":{},filter:Be})},{values:e("saturate")})},sepia:({matchUtilities:r,theme:e})=>{r({sepia:t=>({"--tw-sepia":`sepia(${t})`,"@defaults filter":{},filter:Be})},{values:e("sepia")})},filter:({addDefaults:r,addUtilities:e})=>{r("filter",{"--tw-blur":" ","--tw-brightness":" ","--tw-contrast":" ","--tw-grayscale":" ","--tw-hue-rotate":" ","--tw-invert":" ","--tw-saturate":" ","--tw-sepia":" ","--tw-drop-shadow":" "}),e({".filter":{"@defaults filter":{},filter:Be},".filter-none":{filter:"none"}})},backdropBlur:({matchUtilities:r,theme:e})=>{r({"backdrop-blur":t=>({"--tw-backdrop-blur":`blur(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBlur")})},backdropBrightness:({matchUtilities:r,theme:e})=>{r({"backdrop-brightness":t=>({"--tw-backdrop-brightness":`brightness(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBrightness")})},backdropContrast:({matchUtilities:r,theme:e})=>{r({"backdrop-contrast":t=>({"--tw-backdrop-contrast":`contrast(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropContrast")})},backdropGrayscale:({matchUtilities:r,theme:e})=>{r({"backdrop-grayscale":t=>({"--tw-backdrop-grayscale":`grayscale(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropGrayscale")})},backdropHueRotate:({matchUtilities:r,theme:e})=>{r({"backdrop-hue-rotate":t=>({"--tw-backdrop-hue-rotate":`hue-rotate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropHueRotate"),supportsNegativeValues:!0})},backdropInvert:({matchUtilities:r,theme:e})=>{r({"backdrop-invert":t=>({"--tw-backdrop-invert":`invert(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropInvert")})},backdropOpacity:({matchUtilities:r,theme:e})=>{r({"backdrop-opacity":t=>({"--tw-backdrop-opacity":`opacity(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropOpacity")})},backdropSaturate:({matchUtilities:r,theme:e})=>{r({"backdrop-saturate":t=>({"--tw-backdrop-saturate":`saturate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSaturate")})},backdropSepia:({matchUtilities:r,theme:e})=>{r({"backdrop-sepia":t=>({"--tw-backdrop-sepia":`sepia(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSepia")})},backdropFilter:({addDefaults:r,addUtilities:e})=>{r("backdrop-filter",{"--tw-backdrop-blur":" ","--tw-backdrop-brightness":" ","--tw-backdrop-contrast":" ","--tw-backdrop-grayscale":" ","--tw-backdrop-hue-rotate":" ","--tw-backdrop-invert":" ","--tw-backdrop-opacity":" ","--tw-backdrop-saturate":" ","--tw-backdrop-sepia":" "}),e({".backdrop-filter":{"@defaults backdrop-filter":{},"backdrop-filter":Fe},".backdrop-filter-none":{"backdrop-filter":"none"}})},transitionProperty:({matchUtilities:r,theme:e})=>{let t=e("transitionTimingFunction.DEFAULT"),i=e("transitionDuration.DEFAULT");r({transition:n=>({"transition-property":n,...n==="none"?{}:{"transition-timing-function":t,"transition-duration":i}})},{values:e("transitionProperty")})},transitionDelay:P("transitionDelay",[["delay",["transitionDelay"]]]),transitionDuration:P("transitionDuration",[["duration",["transitionDuration"]]],{filterDefault:!0}),transitionTimingFunction:P("transitionTimingFunction",[["ease",["transitionTimingFunction"]]],{filterDefault:!0}),willChange:P("willChange",[["will-change",["will-change"]]]),contain:({addDefaults:r,addUtilities:e})=>{let t="var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style)";r("contain",{"--tw-contain-size":" ","--tw-contain-layout":" ","--tw-contain-paint":" ","--tw-contain-style":" "}),e({".contain-none":{contain:"none"},".contain-content":{contain:"content"},".contain-strict":{contain:"strict"},".contain-size":{"@defaults contain":{},"--tw-contain-size":"size",contain:t},".contain-inline-size":{"@defaults contain":{},"--tw-contain-size":"inline-size",contain:t},".contain-layout":{"@defaults contain":{},"--tw-contain-layout":"layout",contain:t},".contain-paint":{"@defaults contain":{},"--tw-contain-paint":"paint",contain:t},".contain-style":{"@defaults contain":{},"--tw-contain-style":"style",contain:t}})},content:P("content",[["content",["--tw-content",["content","var(--tw-content)"]]]]),forcedColorAdjust:({addUtilities:r})=>{r({".forced-color-adjust-auto":{"forced-color-adjust":"auto"},".forced-color-adjust-none":{"forced-color-adjust":"none"}})}}});function h2(r){if(r===void 0)return!1;if(r==="true"||r==="1")return!0;if(r==="false"||r==="0")return!1;if(r==="*")return!0;let e=r.split(",").map(t=>t.split(":")[0]);return e.includes("-tailwindcss")?!1:!!e.includes("tailwindcss")}var Pe,Ad,_d,vn,Za,He,ti,lt=C(()=>{l();Pe=typeof h!="undefined"?{NODE_ENV:"production",DEBUG:h2(h.env.DEBUG)}:{NODE_ENV:"production",DEBUG:!1},Ad=new Map,_d=new Map,vn=new Map,Za=new Map,He=new String("*"),ti=Symbol("__NONE__")});function zt(r){let e=[],t=!1;for(let i=0;i0)}var Od,Ed,m2,eo=C(()=>{l();Od=new Map([["{","}"],["[","]"],["(",")"]]),Ed=new Map(Array.from(Od.entries()).map(([r,e])=>[e,r])),m2=new Set(['"',"'","`"])});function jt(r){let[e]=Td(r);return e.forEach(([t,i])=>t.removeChild(i)),r.nodes.push(...e.map(([,t])=>t)),r}function Td(r){let e=[],t=null;for(let i of r.nodes)if(i.type==="combinator")e=e.filter(([,n])=>ro(n).includes("jumpable")),t=null;else if(i.type==="pseudo"){g2(i)?(t=i,e.push([r,i,null])):t&&y2(i,t)?e.push([r,i,t]):t=null;for(let n of i.nodes??[]){let[a,s]=Td(n);t=s||t,e.push(...a)}}return[e,t]}function Pd(r){return r.value.startsWith("::")||to[r.value]!==void 0}function g2(r){return Pd(r)&&ro(r).includes("terminal")}function y2(r,e){return r.type!=="pseudo"||Pd(r)?!1:ro(e).includes("actionable")}function ro(r){return to[r.value]??to.__default__}var to,xn=C(()=>{l();to={"::after":["terminal","jumpable"],"::backdrop":["terminal","jumpable"],"::before":["terminal","jumpable"],"::cue":["terminal"],"::cue-region":["terminal"],"::first-letter":["terminal","jumpable"],"::first-line":["terminal","jumpable"],"::grammar-error":["terminal"],"::marker":["terminal","jumpable"],"::part":["terminal","actionable"],"::placeholder":["terminal","jumpable"],"::selection":["terminal","jumpable"],"::slotted":["terminal"],"::spelling-error":["terminal"],"::target-text":["terminal"],"::file-selector-button":["terminal","actionable"],"::deep":["actionable"],"::v-deep":["actionable"],"::ng-deep":["actionable"],":after":["terminal","jumpable"],":before":["terminal","jumpable"],":first-letter":["terminal","jumpable"],":first-line":["terminal","jumpable"],":where":[],":is":[],":has":[],__default__:["terminal","actionable"]}});function Vt(r,{context:e,candidate:t}){let i=e?.tailwindConfig.prefix??"",n=r.map(s=>{let o=(0,Le.default)().astSync(s.format);return{...s,ast:s.respectPrefix?Nt(i,o):o}}),a=Le.default.root({nodes:[Le.default.selector({nodes:[Le.default.className({value:ce(t)})]})]});for(let{ast:s}of n)[a,s]=b2(a,s),s.walkNesting(o=>o.replaceWith(...a.nodes[0].nodes)),a=s;return a}function Id(r){let e=[];for(;r.prev()&&r.prev().type!=="combinator";)r=r.prev();for(;r&&r.type!=="combinator";)e.push(r),r=r.next();return e}function w2(r){return r.sort((e,t)=>e.type==="tag"&&t.type==="class"?-1:e.type==="class"&&t.type==="tag"?1:e.type==="class"&&t.type==="pseudo"&&t.value.startsWith("::")?-1:e.type==="pseudo"&&e.value.startsWith("::")&&t.type==="class"?1:r.index(e)-r.index(t)),r}function no(r,e){let t=!1;r.walk(i=>{if(i.type==="class"&&i.value===e)return t=!0,!1}),t||r.remove()}function kn(r,e,{context:t,candidate:i,base:n}){let a=t?.tailwindConfig?.separator??":";n=n??ae(i,a).pop();let s=(0,Le.default)().astSync(r);if(s.walkClasses(f=>{f.raws&&f.value.includes(n)&&(f.raws.value=ce((0,Dd.default)(f.raws.value)))}),s.each(f=>no(f,n)),s.length===0)return null;let o=Array.isArray(e)?Vt(e,{context:t,candidate:i}):e;if(o===null)return s.toString();let u=Le.default.comment({value:"/*__simple__*/"}),c=Le.default.comment({value:"/*__simple__*/"});return s.walkClasses(f=>{if(f.value!==n)return;let d=f.parent,p=o.nodes[0].nodes;if(d.nodes.length===1){f.replaceWith(...p);return}let m=Id(f);d.insertBefore(m[0],u),d.insertAfter(m[m.length-1],c);for(let x of p)d.insertBefore(m[0],x.clone());f.remove(),m=Id(u);let b=d.index(u);d.nodes.splice(b,m.length,...w2(Le.default.selector({nodes:m})).nodes),u.remove(),c.remove()}),s.walkPseudos(f=>{f.value===io&&f.replaceWith(f.nodes)}),s.each(f=>jt(f)),s.toString()}function b2(r,e){let t=[];return r.walkPseudos(i=>{i.value===io&&t.push({pseudo:i,value:i.nodes[0].toString()})}),e.walkPseudos(i=>{if(i.value!==io)return;let n=i.nodes[0].toString(),a=t.find(c=>c.value===n);if(!a)return;let s=[],o=i.next();for(;o&&o.type!=="combinator";)s.push(o),o=o.next();let u=o;a.pseudo.parent.insertAfter(a.pseudo,Le.default.selector({nodes:s.map(c=>c.clone())})),i.remove(),s.forEach(c=>c.remove()),u&&u.type==="combinator"&&u.remove()}),[r,e]}var Le,Dd,io,so=C(()=>{l();Le=X(Me()),Dd=X(Ki());$t();dn();xn();_t();io=":merge"});function Sn(r,e){let t=(0,ao.default)().astSync(r);return t.each(i=>{i.nodes[0].type==="pseudo"&&i.nodes[0].value===":is"&&i.nodes.every(a=>a.type!=="combinator")||(i.nodes=[ao.default.pseudo({value:":is",nodes:[i.clone()]})]),jt(i)}),`${e} ${t.toString()}`}var ao,oo=C(()=>{l();ao=X(Me());xn()});function lo(r){return v2.transformSync(r)}function*x2(r){let e=1/0;for(;e>=0;){let t,i=!1;if(e===1/0&&r.endsWith("]")){let s=r.indexOf("[");r[s-1]==="-"?t=s-1:r[s-1]==="/"?(t=s-1,i=!0):t=-1}else e===1/0&&r.includes("/")?(t=r.lastIndexOf("/"),i=!0):t=r.lastIndexOf("-",e);if(t<0)break;let n=r.slice(0,t),a=r.slice(i?t:t+1);e=t-1,!(n===""||a==="/")&&(yield[n,a])}}function k2(r,e){if(r.length===0||e.tailwindConfig.prefix==="")return r;for(let t of r){let[i]=t;if(i.options.respectPrefix){let n=j.root({nodes:[t[1].clone()]}),a=t[1].raws.tailwind.classCandidate;n.walkRules(s=>{let o=a.startsWith("-");s.selector=Nt(e.tailwindConfig.prefix,s.selector,o)}),t[1]=n.nodes[0]}}return r}function S2(r,e){if(r.length===0)return r;let t=[];function i(n){return n.parent&&n.parent.type==="atrule"&&n.parent.name==="keyframes"}for(let[n,a]of r){let s=j.root({nodes:[a.clone()]});s.walkRules(o=>{if(i(o))return;let u=(0,Cn.default)().astSync(o.selector);u.each(c=>no(c,e)),Ju(u,c=>c===e?`!${c}`:c),o.selector=u.toString(),o.walkDecls(c=>c.important=!0)}),t.push([{...n,important:!0},s.nodes[0]])}return t}function C2(r,e,t){if(e.length===0)return e;let i={modifier:null,value:ti};{let[n,...a]=ae(r,"/");if(a.length>1&&(n=n+"/"+a.slice(0,-1).join("/"),a=a.slice(-1)),a.length&&!t.variantMap.has(r)&&(r=n,i.modifier=a[0],!K(t.tailwindConfig,"generalizedModifiers")))return[]}if(r.endsWith("]")&&!r.startsWith("[")){let n=/(.)(-?)\[(.*)\]/g.exec(r);if(n){let[,a,s,o]=n;if(a==="@"&&s==="-")return[];if(a!=="@"&&s==="")return[];r=r.replace(`${s}[${o}]`,""),i.value=o}}if(co(r)&&!t.variantMap.has(r)){let n=t.offsets.recordVariant(r),a=L(r.slice(1,-1)),s=ae(a,",");if(s.length>1)return[];if(!s.every(En))return[];let o=s.map((u,c)=>[t.offsets.applyParallelOffset(n,c),ri(u.trim())]);t.variantMap.set(r,o)}if(t.variantMap.has(r)){let n=co(r),a=t.variantOptions.get(r)?.[Zr]??{},s=t.variantMap.get(r).slice(),o=[],u=(()=>!(n||a.respectPrefix===!1))();for(let[c,f]of e){if(c.layer==="user")continue;let d=j.root({nodes:[f.clone()]});for(let[p,m,b]of s){let w=function(){x.raws.neededBackup||(x.raws.neededBackup=!0,x.walkRules(E=>E.raws.originalSelector=E.selector))},k=function(E){return w(),x.each(I=>{I.type==="rule"&&(I.selectors=I.selectors.map(q=>E({get className(){return lo(q)},selector:q})))}),x},x=(b??d).clone(),y=[],S=m({get container(){return w(),x},separator:t.tailwindConfig.separator,modifySelectors:k,wrap(E){let I=x.nodes;x.removeAll(),E.append(I),x.append(E)},format(E){y.push({format:E,respectPrefix:u})},args:i});if(Array.isArray(S)){for(let[E,I]of S.entries())s.push([t.offsets.applyParallelOffset(p,E),I,x.clone()]);continue}if(typeof S=="string"&&y.push({format:S,respectPrefix:u}),S===null)continue;x.raws.neededBackup&&(delete x.raws.neededBackup,x.walkRules(E=>{let I=E.raws.originalSelector;if(!I||(delete E.raws.originalSelector,I===E.selector))return;let q=E.selector,R=(0,Cn.default)(J=>{J.walkClasses(ue=>{ue.value=`${r}${t.tailwindConfig.separator}${ue.value}`})}).processSync(I);y.push({format:q.replace(R,"&"),respectPrefix:u}),E.selector=I})),x.nodes[0].raws.tailwind={...x.nodes[0].raws.tailwind,parentLayer:c.layer};let _=[{...c,sort:t.offsets.applyVariantOffset(c.sort,p,Object.assign(i,t.variantOptions.get(r))),collectedFormats:(c.collectedFormats??[]).concat(y)},x.nodes[0]];o.push(_)}}return o}return[]}function uo(r,e,t={}){return!ie(r)&&!Array.isArray(r)?[[r],t]:Array.isArray(r)?uo(r[0],e,r[1]):(e.has(r)||e.set(r,Lt(r)),[e.get(r),t])}function _2(r){return A2.test(r)}function O2(r){if(!r.includes("://"))return!1;try{let e=new URL(r);return e.scheme!==""&&e.host!==""}catch(e){return!1}}function qd(r){let e=!0;return r.walkDecls(t=>{if(!Rd(t.prop,t.value))return e=!1,!1}),e}function Rd(r,e){if(O2(`${r}:${e}`))return!1;try{return j.parse(`a{${r}:${e}}`).toResult(),!0}catch(t){return!1}}function E2(r,e){let[,t,i]=r.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/)??[];if(i===void 0||!_2(t)||!zt(i))return null;let n=L(i,{property:t});return Rd(t,n)?[[{sort:e.offsets.arbitraryProperty(r),layer:"utilities",options:{respectImportant:!0}},()=>({[Ja(r)]:{[t]:n}})]]:null}function*T2(r,e){e.candidateRuleMap.has(r)&&(yield[e.candidateRuleMap.get(r),"DEFAULT"]),yield*function*(o){o!==null&&(yield[o,"DEFAULT"])}(E2(r,e));let t=r,i=!1,n=e.tailwindConfig.prefix,a=n.length,s=t.startsWith(n)||t.startsWith(`-${n}`);t[a]==="-"&&s&&(i=!0,t=n+t.slice(a+1)),i&&e.candidateRuleMap.has(t)&&(yield[e.candidateRuleMap.get(t),"-DEFAULT"]);for(let[o,u]of x2(t))e.candidateRuleMap.has(o)&&(yield[e.candidateRuleMap.get(o),i?`-${u}`:u])}function P2(r,e){return r===He?[He]:ae(r,e)}function*D2(r,e){for(let t of r)t[1].raws.tailwind={...t[1].raws.tailwind,classCandidate:e,preserveSource:t[0].options?.preserveSource??!1},yield t}function*fo(r,e){let t=e.tailwindConfig.separator,[i,...n]=P2(r,t).reverse(),a=!1;i.startsWith("!")&&(a=!0,i=i.slice(1));for(let s of T2(i,e)){let o=[],u=new Map,[c,f]=s,d=c.length===1;for(let[p,m]of c){let b=[];if(typeof m=="function")for(let x of[].concat(m(f,{isOnlyPlugin:d}))){let[y,w]=uo(x,e.postCssNodeCache);for(let k of y)b.push([{...p,options:{...p.options,...w}},k])}else if(f==="DEFAULT"||f==="-DEFAULT"){let x=m,[y,w]=uo(x,e.postCssNodeCache);for(let k of y)b.push([{...p,options:{...p.options,...w}},k])}if(b.length>0){let x=Array.from(ys(p.options?.types??[],f,p.options??{},e.tailwindConfig)).map(([y,w])=>w);x.length>0&&u.set(b,x),o.push(b)}}if(co(f)){if(o.length>1){let b=function(y){return y.length===1?y[0]:y.find(w=>{let k=u.get(w);return w.some(([{options:S},_])=>qd(_)?S.types.some(({type:E,preferOnConflict:I})=>k.includes(E)&&I):!1)})},[p,m]=o.reduce((y,w)=>(w.some(([{options:S}])=>S.types.some(({type:_})=>_==="any"))?y[0].push(w):y[1].push(w),y),[[],[]]),x=b(m)??b(p);if(x)o=[x];else{let y=o.map(k=>new Set([...u.get(k)??[]]));for(let k of y)for(let S of k){let _=!1;for(let E of y)k!==E&&E.has(S)&&(E.delete(S),_=!0);_&&k.delete(S)}let w=[];for(let[k,S]of y.entries())for(let _ of S){let E=o[k].map(([,I])=>I).flat().map(I=>I.toString().split(` +`).slice(1,-1).map(q=>q.trim()).map(q=>` ${q}`).join(` +`)).join(` + +`);w.push(` Use \`${r.replace("[",`[${_}:`)}\` for \`${E.trim()}\``);break}F.warn([`The class \`${r}\` is ambiguous and matches multiple utilities.`,...w,`If this is content and not a class, replace it with \`${r.replace("[","[").replace("]","]")}\` to silence this warning.`]);continue}}o=o.map(p=>p.filter(m=>qd(m[1])))}o=o.flat(),o=Array.from(D2(o,i)),o=k2(o,e),a&&(o=S2(o,i));for(let p of n)o=C2(p,o,e);for(let p of o)p[1].raws.tailwind={...p[1].raws.tailwind,candidate:r},p=I2(p,{context:e,candidate:r}),p!==null&&(yield p)}}function I2(r,{context:e,candidate:t}){if(!r[0].collectedFormats)return r;let i=!0,n;try{n=Vt(r[0].collectedFormats,{context:e,candidate:t})}catch{return null}let a=j.root({nodes:[r[1].clone()]});return a.walkRules(s=>{if(!An(s))try{let o=kn(s.selector,n,{candidate:t,context:e});if(o===null){s.remove();return}s.selector=o}catch{return i=!1,!1}}),!i||a.nodes.length===0?null:(r[1]=a.nodes[0],r)}function An(r){return r.parent&&r.parent.type==="atrule"&&r.parent.name==="keyframes"}function q2(r){if(r===!0)return e=>{An(e)||e.walkDecls(t=>{t.parent.type==="rule"&&!An(t.parent)&&(t.important=!0)})};if(typeof r=="string")return e=>{An(e)||(e.selectors=e.selectors.map(t=>Sn(t,r)))}}function _n(r,e,t=!1){let i=[],n=q2(e.tailwindConfig.important);for(let a of r){if(e.notClassCache.has(a))continue;if(e.candidateRuleCache.has(a)){i=i.concat(Array.from(e.candidateRuleCache.get(a)));continue}let s=Array.from(fo(a,e));if(s.length===0){e.notClassCache.add(a);continue}e.classCache.set(a,s);let o=e.candidateRuleCache.get(a)??new Set;e.candidateRuleCache.set(a,o);for(let u of s){let[{sort:c,options:f},d]=u;if(f.respectImportant&&n){let m=j.root({nodes:[d.clone()]});m.walkRules(n),d=m.nodes[0]}let p=[c,t?d.clone():d];o.add(p),e.ruleCache.add(p),i.push(p)}}return i}function co(r){return r.startsWith("[")&&r.endsWith("]")}var Cn,v2,A2,On=C(()=>{l();st();Cn=X(Me());Qa();At();dn();hr();Oe();lt();so();Xa();dr();ei();eo();_t();je();oo();v2=(0,Cn.default)(r=>r.first.filter(({type:e})=>e==="class").pop().value);A2=/^[a-z_-]/});var Md,Bd=C(()=>{l();Md={}});function R2(r){try{return Md.createHash("md5").update(r,"utf-8").digest("binary")}catch(e){return""}}function Fd(r,e){let t=e.toString();if(!t.includes("@tailwind"))return!1;let i=Za.get(r),n=R2(t),a=i!==n;return Za.set(r,n),a}var Ld=C(()=>{l();Bd();lt()});function Tn(r){return(r>0n)-(r<0n)}var Nd=C(()=>{l()});function $d(r,e){let t=0n,i=0n;for(let[n,a]of e)r&n&&(t=t|n,i=i|a);return r&~t|i}var zd=C(()=>{l()});function jd(r){let e=null;for(let t of r)e=e??t,e=e>t?e:t;return e}function M2(r,e){let t=r.length,i=e.length,n=t{l();Nd();zd();po=class{constructor(){this.offsets={defaults:0n,base:0n,components:0n,utilities:0n,variants:0n,user:0n},this.layerPositions={defaults:0n,base:1n,components:2n,utilities:3n,user:4n,variants:5n},this.reservedVariantBits=0n,this.variantOffsets=new Map}create(e){return{layer:e,parentLayer:e,arbitrary:0n,variants:0n,parallelIndex:0n,index:this.offsets[e]++,propertyOffset:0n,property:"",options:[]}}arbitraryProperty(e){return{...this.create("utilities"),arbitrary:1n,property:e}}forVariant(e,t=0){let i=this.variantOffsets.get(e);if(i===void 0)throw new Error(`Cannot find offset for unknown variant ${e}`);return{...this.create("variants"),variants:i<n.startsWith("[")).sort(([n],[a])=>M2(n,a)),t=e.map(([,n])=>n).sort((n,a)=>Tn(n-a));return e.map(([,n],a)=>[n,t[a]]).filter(([n,a])=>n!==a)}remapArbitraryVariantOffsets(e){let t=this.recalculateVariantOffsets();return t.length===0?e:e.map(i=>{let[n,a]=i;return n={...n,variants:$d(n.variants,t)},[n,a]})}sortArbitraryProperties(e){let t=new Set;for(let[s]of e)s.arbitrary===1n&&t.add(s.property);if(t.size===0)return e;let i=Array.from(t).sort(),n=new Map,a=1n;for(let s of i)n.set(s,a++);return e.map(s=>{let[o,u]=s;return o={...o,propertyOffset:n.get(o.property)??0n},[o,u]})}sort(e){return e=this.remapArbitraryVariantOffsets(e),e=this.sortArbitraryProperties(e),e.sort(([t],[i])=>Tn(this.compare(t,i)))}}});function yo(r,e){let t=r.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function Wd({type:r="any",...e}){let t=[].concat(r);return{...e,types:t.map(i=>Array.isArray(i)?{type:i[0],...i[1]}:{type:i,preferOnConflict:!1})}}function B2(r){let e=[],t="",i=0;for(let n=0;n0&&e.push(t.trim()),e=e.filter(n=>n!==""),e}function F2(r,e,{before:t=[]}={}){if(t=[].concat(t),t.length<=0){r.push(e);return}let i=r.length-1;for(let n of t){let a=r.indexOf(n);a!==-1&&(i=Math.min(i,a))}r.splice(i,0,e)}function Gd(r){return Array.isArray(r)?r.flatMap(e=>!Array.isArray(e)&&!ie(e)?e:Lt(e)):Gd([r])}function L2(r,e){return(0,ho.default)(i=>{let n=[];return e&&e(i),i.walkClasses(a=>{n.push(a.value)}),n}).transformSync(r)}function N2(r){r.walkPseudos(e=>{e.value===":not"&&e.remove()})}function $2(r,e={containsNonOnDemandable:!1},t=0){let i=[],n=[];r.type==="rule"?n.push(...r.selectors):r.type==="atrule"&&r.walkRules(a=>n.push(...a.selectors));for(let a of n){let s=L2(a,N2);s.length===0&&(e.containsNonOnDemandable=!0);for(let o of s)i.push(o)}return t===0?[e.containsNonOnDemandable||i.length===0,i]:i}function Pn(r){return Gd(r).flatMap(e=>{let t=new Map,[i,n]=$2(e);return i&&n.unshift(He),n.map(a=>(t.has(e)||t.set(e,e),[a,t.get(e)]))})}function En(r){return r.startsWith("@")||r.includes("&")}function ri(r){r=r.replace(/\n+/g,"").replace(/\s{1,}/g," ").trim();let e=B2(r).map(t=>{if(!t.startsWith("@"))return({format:a})=>a(t);let[,i,n]=/@(\S*)( .+|[({].*)?/g.exec(t);return({wrap:a})=>a(j.atRule({name:i,params:n?.trim()??""}))}).reverse();return t=>{for(let i of e)i(t)}}function z2(r,e,{variantList:t,variantMap:i,offsets:n,classList:a}){function s(p,m){return p?(0,Ud.default)(r,p,m):r}function o(p){return Nt(r.prefix,p)}function u(p,m){return p===He?He:m.respectPrefix?e.tailwindConfig.prefix+p:p}function c(p,m,b={}){let x=Ze(p),y=s(["theme",...x],m);return Ge(x[0])(y,b)}let f=0,d={postcss:j,prefix:o,e:ce,config:s,theme:c,corePlugins:p=>Array.isArray(r.corePlugins)?r.corePlugins.includes(p):s(["corePlugins",p],!0),variants:()=>[],addBase(p){for(let[m,b]of Pn(p)){let x=u(m,{}),y=n.create("base");e.candidateRuleMap.has(x)||e.candidateRuleMap.set(x,[]),e.candidateRuleMap.get(x).push([{sort:y,layer:"base"},b])}},addDefaults(p,m){let b={[`@defaults ${p}`]:m};for(let[x,y]of Pn(b)){let w=u(x,{});e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("defaults"),layer:"defaults"},y])}},addComponents(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!1},Array.isArray(m)?{}:m);for(let[x,y]of Pn(p)){let w=u(x,m);a.add(w),e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("components"),layer:"components",options:m},y])}},addUtilities(p,m){m=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!0},Array.isArray(m)?{}:m);for(let[x,y]of Pn(p)){let w=u(x,m);a.add(w),e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push([{sort:n.create("utilities"),layer:"utilities",options:m},y])}},matchUtilities:function(p,m){m=Wd({...{respectPrefix:!0,respectImportant:!0,modifiers:!1},...m});let x=n.create("utilities");for(let y in p){let S=function(E,{isOnlyPlugin:I}){let[q,R,J]=gs(m.types,E,m,r);if(q===void 0)return[];if(!m.types.some(({type:ee})=>ee===R))if(I)F.warn([`Unnecessary typehint \`${R}\` in \`${y}-${E}\`.`,`You can safely update it to \`${y}-${E.replace(R+":","")}\`.`]);else return[];if(!zt(q))return[];let ue={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),J}},de=K(r,"generalizedModifiers");return[].concat(de?k(q,ue):k(q)).filter(Boolean).map(ee=>({[hn(y,E)]:ee}))},w=u(y,m),k=p[y];a.add([w,m]);let _=[{sort:x,layer:"utilities",options:m},S];e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push(_)}},matchComponents:function(p,m){m=Wd({...{respectPrefix:!0,respectImportant:!1,modifiers:!1},...m});let x=n.create("components");for(let y in p){let S=function(E,{isOnlyPlugin:I}){let[q,R,J]=gs(m.types,E,m,r);if(q===void 0)return[];if(!m.types.some(({type:ee})=>ee===R))if(I)F.warn([`Unnecessary typehint \`${R}\` in \`${y}-${E}\`.`,`You can safely update it to \`${y}-${E.replace(R+":","")}\`.`]);else return[];if(!zt(q))return[];let ue={get modifier(){return m.modifiers||F.warn(`modifier-used-without-options-for-${y}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),J}},de=K(r,"generalizedModifiers");return[].concat(de?k(q,ue):k(q)).filter(Boolean).map(ee=>({[hn(y,E)]:ee}))},w=u(y,m),k=p[y];a.add([w,m]);let _=[{sort:x,layer:"components",options:m},S];e.candidateRuleMap.has(w)||e.candidateRuleMap.set(w,[]),e.candidateRuleMap.get(w).push(_)}},addVariant(p,m,b={}){m=[].concat(m).map(x=>{if(typeof x!="string")return(y={})=>{let{args:w,modifySelectors:k,container:S,separator:_,wrap:E,format:I}=y,q=x(Object.assign({modifySelectors:k,container:S,separator:_},b.type===mo.MatchVariant&&{args:w,wrap:E,format:I}));if(typeof q=="string"&&!En(q))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Array.isArray(q)?q.filter(R=>typeof R=="string").map(R=>ri(R)):q&&typeof q=="string"&&ri(q)(y)};if(!En(x))throw new Error(`Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return ri(x)}),F2(t,p,b),i.set(p,m),e.variantOptions.set(p,b)},matchVariant(p,m,b){let x=b?.id??++f,y=p==="@",w=K(r,"generalizedModifiers");for(let[S,_]of Object.entries(b?.values??{}))S!=="DEFAULT"&&d.addVariant(y?`${p}${S}`:`${p}-${S}`,({args:E,container:I})=>m(_,w?{modifier:E?.modifier,container:I}:{container:I}),{...b,value:_,id:x,type:mo.MatchVariant,variantInfo:go.Base});let k="DEFAULT"in(b?.values??{});d.addVariant(p,({args:S,container:_})=>S?.value===ti&&!k?null:m(S?.value===ti?b.values.DEFAULT:S?.value??(typeof S=="string"?S:""),w?{modifier:S?.modifier,container:_}:{container:_}),{...b,id:x,type:mo.MatchVariant,variantInfo:go.Dynamic})}};return d}function Dn(r){return wo.has(r)||wo.set(r,new Map),wo.get(r)}function Hd(r,e){let t=!1,i=new Map;for(let n of r){if(!n)continue;let a=Ss.parse(n),s=a.hash?a.href.replace(a.hash,""):a.href;s=a.search?s.replace(a.search,""):s;let o=te.statSync(decodeURIComponent(s),{throwIfNoEntry:!1})?.mtimeMs;!o||((!e.has(n)||o>e.get(n))&&(t=!0),i.set(n,o))}return[t,i]}function Yd(r){r.walkAtRules(e=>{["responsive","variants"].includes(e.name)&&(Yd(e),e.before(e.nodes),e.remove())})}function j2(r){let e=[];return r.each(t=>{t.type==="atrule"&&["responsive","variants"].includes(t.name)&&(t.name="layer",t.params="utilities")}),r.walkAtRules("layer",t=>{if(Yd(t),t.params==="base"){for(let i of t.nodes)e.push(function({addBase:n}){n(i,{respectPrefix:!1})});t.remove()}else if(t.params==="components"){for(let i of t.nodes)e.push(function({addComponents:n}){n(i,{respectPrefix:!1,preserveSource:!0})});t.remove()}else if(t.params==="utilities"){for(let i of t.nodes)e.push(function({addUtilities:n}){n(i,{respectPrefix:!1,preserveSource:!0})});t.remove()}}),e}function V2(r,e){let t=Object.entries({...H,...Sd}).map(([u,c])=>r.tailwindConfig.corePlugins.includes(u)?c:null).filter(Boolean),i=r.tailwindConfig.plugins.map(u=>(u.__isOptionsFunction&&(u=u()),typeof u=="function"?u:u.handler)),n=j2(e),a=[H.childVariant,H.pseudoElementVariants,H.pseudoClassVariants,H.hasVariants,H.ariaVariants,H.dataVariants],s=[H.supportsVariants,H.reducedMotionVariants,H.prefersContrastVariants,H.screenVariants,H.orientationVariants,H.directionVariants,H.darkVariants,H.forcedColorsVariants,H.printVariant];return(r.tailwindConfig.darkMode==="class"||Array.isArray(r.tailwindConfig.darkMode)&&r.tailwindConfig.darkMode[0]==="class")&&(s=[H.supportsVariants,H.reducedMotionVariants,H.prefersContrastVariants,H.darkVariants,H.screenVariants,H.orientationVariants,H.directionVariants,H.forcedColorsVariants,H.printVariant]),[...t,...a,...i,...s,...n]}function U2(r,e){let t=[],i=new Map;e.variantMap=i;let n=new po;e.offsets=n;let a=new Set,s=z2(e.tailwindConfig,e,{variantList:t,variantMap:i,offsets:n,classList:a});for(let f of r)if(Array.isArray(f))for(let d of f)d(s);else f?.(s);n.recordVariants(t,f=>i.get(f).length);for(let[f,d]of i.entries())e.variantMap.set(f,d.map((p,m)=>[n.forVariant(f,m),p]));let o=(e.tailwindConfig.safelist??[]).filter(Boolean);if(o.length>0){let f=[];for(let d of o){if(typeof d=="string"){e.changedContent.push({content:d,extension:"html"});continue}if(d instanceof RegExp){F.warn("root-regex",["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.","Update your `safelist` configuration to eliminate this warning.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"]);continue}f.push(d)}if(f.length>0){let d=new Map,p=e.tailwindConfig.prefix.length,m=f.some(b=>b.pattern.source.includes("!"));for(let b of a){let x=Array.isArray(b)?(()=>{let[y,w]=b,S=Object.keys(w?.values??{}).map(_=>Kr(y,_));return w?.supportsNegativeValues&&(S=[...S,...S.map(_=>"-"+_)],S=[...S,...S.map(_=>_.slice(0,p)+"-"+_.slice(p))]),w.types.some(({type:_})=>_==="color")&&(S=[...S,...S.flatMap(_=>Object.keys(e.tailwindConfig.theme.opacity).map(E=>`${_}/${E}`))]),m&&w?.respectImportant&&(S=[...S,...S.map(_=>"!"+_)]),S})():[b];for(let y of x)for(let{pattern:w,variants:k=[]}of f)if(w.lastIndex=0,d.has(w)||d.set(w,0),!!w.test(y)){d.set(w,d.get(w)+1),e.changedContent.push({content:y,extension:"html"});for(let S of k)e.changedContent.push({content:S+e.tailwindConfig.separator+y,extension:"html"})}}for(let[b,x]of d.entries())x===0&&F.warn([`The safelist pattern \`${b}\` doesn't match any Tailwind CSS classes.`,"Fix this pattern or remove it from your `safelist` configuration.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"])}}let u=[].concat(e.tailwindConfig.darkMode??"media")[1]??"dark",c=[yo(e,u),yo(e,"group"),yo(e,"peer")];e.getClassOrder=function(d){let p=[...d].sort((y,w)=>y===w?0:y[y,null])),b=_n(new Set(p),e,!0);b=e.offsets.sort(b);let x=BigInt(c.length);for(let[,y]of b){let w=y.raws.tailwind.candidate;m.set(w,m.get(w)??x++)}return d.map(y=>{let w=m.get(y)??null,k=c.indexOf(y);return w===null&&k!==-1&&(w=BigInt(k)),[y,w]})},e.getClassList=function(d={}){let p=[];for(let m of a)if(Array.isArray(m)){let[b,x]=m,y=[],w=Object.keys(x?.modifiers??{});x?.types?.some(({type:_})=>_==="color")&&w.push(...Object.keys(e.tailwindConfig.theme.opacity??{}));let k={modifiers:w},S=d.includeMetadata&&w.length>0;for(let[_,E]of Object.entries(x?.values??{})){if(E==null)continue;let I=Kr(b,_);if(p.push(S?[I,k]:I),x?.supportsNegativeValues&&Ke(E)){let q=Kr(b,`-${_}`);y.push(S?[q,k]:q)}}p.push(...y)}else p.push(m);return p},e.getVariants=function(){let d=Math.random().toString(36).substring(7).toUpperCase(),p=[];for(let[m,b]of e.variantOptions.entries())b.variantInfo!==go.Base&&p.push({name:m,isArbitrary:b.type===Symbol.for("MATCH_VARIANT"),values:Object.keys(b.values??{}),hasDash:m!=="@",selectors({modifier:x,value:y}={}){let w=`TAILWINDPLACEHOLDER${d}`,k=j.rule({selector:`.${w}`}),S=j.root({nodes:[k.clone()]}),_=S.toString(),E=(e.variantMap.get(m)??[]).flatMap(([oe,he])=>he),I=[];for(let oe of E){let he=[],ui={args:{modifier:x,value:b.values?.[y]??y},separator:e.tailwindConfig.separator,modifySelectors(Ce){return S.each(ts=>{ts.type==="rule"&&(ts.selectors=ts.selectors.map(mu=>Ce({get className(){return lo(mu)},selector:mu})))}),S},format(Ce){he.push(Ce)},wrap(Ce){he.push(`@${Ce.name} ${Ce.params} { & }`)},container:S},fi=oe(ui);if(he.length>0&&I.push(he),Array.isArray(fi))for(let Ce of fi)he=[],Ce(ui),I.push(he)}let q=[],R=S.toString();_!==R&&(S.walkRules(oe=>{let he=oe.selector,ui=(0,ho.default)(fi=>{fi.walkClasses(Ce=>{Ce.value=`${m}${e.tailwindConfig.separator}${Ce.value}`})}).processSync(he);q.push(he.replace(ui,"&").replace(w,"&"))}),S.walkAtRules(oe=>{q.push(`@${oe.name} (${oe.params}) { & }`)}));let J=!(y in(b.values??{})),ue=b[Zr]??{},de=(()=>!(J||ue.respectPrefix===!1))();I=I.map(oe=>oe.map(he=>({format:he,respectPrefix:de}))),q=q.map(oe=>({format:oe,respectPrefix:de}));let De={candidate:w,context:e},ee=I.map(oe=>kn(`.${w}`,Vt(oe,De),De).replace(`.${w}`,"&").replace("{ & }","").trim());return q.length>0&&ee.push(Vt(q,De).toString().replace(`.${w}`,"&")),ee}});return p}}function Qd(r,e){!r.classCache.has(e)||(r.notClassCache.add(e),r.classCache.delete(e),r.applyClassCache.delete(e),r.candidateRuleMap.delete(e),r.candidateRuleCache.delete(e),r.stylesheetCache=null)}function W2(r,e){let t=e.raws.tailwind.candidate;if(!!t){for(let i of r.ruleCache)i[1].raws.tailwind.candidate===t&&r.ruleCache.delete(i);Qd(r,t)}}function bo(r,e=[],t=j.root()){let i={disposables:[],ruleCache:new Set,candidateRuleCache:new Map,classCache:new Map,applyClassCache:new Map,notClassCache:new Set(r.blocklist??[]),postCssNodeCache:new Map,candidateRuleMap:new Map,tailwindConfig:r,changedContent:e,variantMap:new Map,stylesheetCache:null,variantOptions:new Map,markInvalidUtilityCandidate:a=>Qd(i,a),markInvalidUtilityNode:a=>W2(i,a)},n=V2(i,t);return U2(n,i),i}function Jd(r,e,t,i,n,a){let s=e.opts.from,o=i!==null;Pe.DEBUG&&console.log("Source path:",s);let u;if(o&&Ut.has(s))u=Ut.get(s);else if(ii.has(n)){let p=ii.get(n);ut.get(p).add(s),Ut.set(s,p),u=p}let c=Fd(s,r);if(u){let[p,m]=Hd([...a],Dn(u));if(!p&&!c)return[u,!1,m]}if(Ut.has(s)){let p=Ut.get(s);if(ut.has(p)&&(ut.get(p).delete(s),ut.get(p).size===0)){ut.delete(p);for(let[m,b]of ii)b===p&&ii.delete(m);for(let m of p.disposables.splice(0))m(p)}}Pe.DEBUG&&console.log("Setting up new context...");let f=bo(t,[],r);Object.assign(f,{userConfigPath:i});let[,d]=Hd([...a],Dn(f));return ii.set(n,f),Ut.set(s,f),ut.has(f)||ut.set(f,new Set),ut.get(f).add(s),[f,!0,d]}var Ud,ho,Zr,mo,go,wo,Ut,ii,ut,ei=C(()=>{l();ze();Cs();st();Ud=X(Gs()),ho=X(Me());Jr();Qa();dn();At();$t();Xa();hr();Cd();lt();lt();gi();Oe();di();eo();On();Ld();Vd();je();so();Zr=Symbol(),mo={AddVariant:Symbol.for("ADD_VARIANT"),MatchVariant:Symbol.for("MATCH_VARIANT")},go={Base:1<<0,Dynamic:1<<1};wo=new WeakMap;Ut=Ad,ii=_d,ut=vn});function vo(r){return r.ignore?[]:r.glob?h.env.ROLLUP_WATCH==="true"?[{type:"dependency",file:r.base}]:[{type:"dir-dependency",dir:r.base,glob:r.glob}]:[{type:"dependency",file:r.base}]}var Xd=C(()=>{l()});function Kd(r,e){return{handler:r,config:e}}var Zd,eh=C(()=>{l();Kd.withOptions=function(r,e=()=>({})){let t=function(i){return{__options:i,handler:r(i),config:e(i)}};return t.__isOptionsFunction=!0,t.__pluginFunction=r,t.__configFunction=e,t};Zd=Kd});var In={};Ae(In,{default:()=>G2});var G2,qn=C(()=>{l();eh();G2=Zd});var rh=v((M6,th)=>{l();var H2=(qn(),In).default,Y2={overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical"},Q2=H2(function({matchUtilities:r,addUtilities:e,theme:t,variants:i}){let n=t("lineClamp");r({"line-clamp":a=>({...Y2,"-webkit-line-clamp":`${a}`})},{values:n}),e([{".line-clamp-none":{"-webkit-line-clamp":"unset"}}],i("lineClamp"))},{theme:{lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"}},variants:{lineClamp:["responsive"]}});th.exports=Q2});function xo(r){r.content.files.length===0&&F.warn("content-problems",["The `content` option in your Tailwind CSS configuration is missing or empty.","Configure your content sources or your generated CSS will be missing styles.","https://tailwindcss.com/docs/content-configuration"]);try{let e=rh();r.plugins.includes(e)&&(F.warn("line-clamp-in-core",["As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.","Remove it from the `plugins` array in your configuration to eliminate this warning."]),r.plugins=r.plugins.filter(t=>t!==e))}catch{}return r}var ih=C(()=>{l();Oe()});var nh,sh=C(()=>{l();nh=()=>!1});var Rn,ah=C(()=>{l();Rn={sync:r=>[].concat(r),generateTasks:r=>[{dynamic:!1,base:".",negative:[],positive:[].concat(r),patterns:[].concat(r)}],escapePath:r=>r}});var ko,oh=C(()=>{l();ko=r=>r});var lh,uh=C(()=>{l();lh=()=>""});function fh(r){let e=r,t=lh(r);return t!=="."&&(e=r.substr(t.length),e.charAt(0)==="/"&&(e=e.substr(1))),e.substr(0,2)==="./"&&(e=e.substr(2)),e.charAt(0)==="/"&&(e=e.substr(1)),{base:t,glob:e}}var ch=C(()=>{l();uh()});function ph(r,e){let t=e.content.files;t=t.filter(o=>typeof o=="string"),t=t.map(ko);let i=Rn.generateTasks(t),n=[],a=[];for(let o of i)n.push(...o.positive.map(u=>dh(u,!1))),a.push(...o.negative.map(u=>dh(u,!0)));let s=[...n,...a];return s=X2(r,s),s=s.flatMap(K2),s=s.map(J2),s}function dh(r,e){let t={original:r,base:r,ignore:e,pattern:r,glob:null};return nh(r)&&Object.assign(t,fh(r)),t}function J2(r){let e=ko(r.base);return e=Rn.escapePath(e),r.pattern=r.glob?`${e}/${r.glob}`:e,r.pattern=r.ignore?`!${r.pattern}`:r.pattern,r}function X2(r,e){let t=[];return r.userConfigPath&&r.tailwindConfig.content.relative&&(t=[Z.dirname(r.userConfigPath)]),e.map(i=>(i.base=Z.resolve(...t,i.base),i))}function K2(r){let e=[r];try{let t=te.realpathSync(r.base);t!==r.base&&e.push({...r,base:t})}catch{}return e}function hh(r,e,t){let i=r.tailwindConfig.content.files.filter(s=>typeof s.raw=="string").map(({raw:s,extension:o="html"})=>({content:s,extension:o})),[n,a]=Z2(e,t);for(let s of n){let o=Z.extname(s).slice(1);i.push({file:s,extension:o})}return[i,a]}function Z2(r,e){let t=r.map(s=>s.pattern),i=new Map,n=new Set;Pe.DEBUG&&console.time("Finding changed files");let a=Rn.sync(t,{absolute:!0});for(let s of a){let o=e.get(s)||-1/0,u=te.statSync(s).mtimeMs;u>o&&(n.add(s),i.set(s,u))}return Pe.DEBUG&&console.timeEnd("Finding changed files"),[n,i]}var mh=C(()=>{l();ze();bt();sh();ah();oh();ch();lt()});function gh(){}var yh=C(()=>{l()});function iC(r,e){for(let t of e){let i=`${r}${t}`;if(te.existsSync(i)&&te.statSync(i).isFile())return i}for(let t of e){let i=`${r}/index${t}`;if(te.existsSync(i))return i}return null}function*wh(r,e,t,i=Z.extname(r)){let n=iC(Z.resolve(e,r),eC.includes(i)?tC:rC);if(n===null||t.has(n))return;t.add(n),yield n,e=Z.dirname(n),i=Z.extname(n);let a=te.readFileSync(n,"utf-8");for(let s of[...a.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/require\(['"`](.+)['"`]\)/gi)])!s[1].startsWith(".")||(yield*wh(s[1],e,t,i))}function So(r){return r===null?new Set:new Set(wh(r,Z.dirname(r),new Set))}var eC,tC,rC,bh=C(()=>{l();ze();bt();eC=[".js",".cjs",".mjs"],tC=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],rC=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"]});function nC(r,e){if(Co.has(r))return Co.get(r);let t=ph(r,e);return Co.set(r,t).get(r)}function sC(r){let e=ks(r);if(e!==null){let[i,n,a,s]=xh.get(e)||[],o=So(e),u=!1,c=new Map;for(let p of o){let m=te.statSync(p).mtimeMs;c.set(p,m),(!s||!s.has(p)||m>s.get(p))&&(u=!0)}if(!u)return[i,e,n,a];for(let p of o)delete yu.cache[p];let f=xo(gr(gh(e))),d=pi(f);return xh.set(e,[f,d,o,c]),[f,e,d,o]}let t=gr(r?.config??r??{});return t=xo(t),[t,null,pi(t),[]]}function Ao(r){return({tailwindDirectives:e,registerDependency:t})=>(i,n)=>{let[a,s,o,u]=sC(r),c=new Set(u);if(e.size>0){c.add(n.opts.from);for(let b of n.messages)b.type==="dependency"&&c.add(b.file)}let[f,,d]=Jd(i,n,a,s,o,c),p=Dn(f),m=nC(f,a);if(e.size>0){for(let y of m)for(let w of vo(y))t(w);let[b,x]=hh(f,m,p);for(let y of b)f.changedContent.push(y);for(let[y,w]of x.entries())d.set(y,w)}for(let b of u)t({type:"dependency",file:b});for(let[b,x]of d.entries())p.set(b,x);return f}}var vh,xh,Co,kh=C(()=>{l();ze();vh=X(rs());ku();xs();cf();ei();Xd();ih();mh();yh();bh();xh=new vh.default({maxSize:100}),Co=new WeakMap});function _o(r){let e=new Set,t=new Set,i=new Set;if(r.walkAtRules(n=>{n.name==="apply"&&i.add(n),n.name==="import"&&(n.params==='"tailwindcss/base"'||n.params==="'tailwindcss/base'"?(n.name="tailwind",n.params="base"):n.params==='"tailwindcss/components"'||n.params==="'tailwindcss/components'"?(n.name="tailwind",n.params="components"):n.params==='"tailwindcss/utilities"'||n.params==="'tailwindcss/utilities'"?(n.name="tailwind",n.params="utilities"):(n.params==='"tailwindcss/screens"'||n.params==="'tailwindcss/screens'"||n.params==='"tailwindcss/variants"'||n.params==="'tailwindcss/variants'")&&(n.name="tailwind",n.params="variants")),n.name==="tailwind"&&(n.params==="screens"&&(n.params="variants"),e.add(n.params)),["layer","responsive","variants"].includes(n.name)&&(["responsive","variants"].includes(n.name)&&F.warn(`${n.name}-at-rule-deprecated`,[`The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`,"Use `@layer utilities` or `@layer components` instead.","https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]),t.add(n))}),!e.has("base")||!e.has("components")||!e.has("utilities")){for(let n of t)if(n.name==="layer"&&["base","components","utilities"].includes(n.params)){if(!e.has(n.params))throw n.error(`\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`)}else if(n.name==="responsive"){if(!e.has("utilities"))throw n.error("`@responsive` is used but `@tailwind utilities` is missing.")}else if(n.name==="variants"&&!e.has("utilities"))throw n.error("`@variants` is used but `@tailwind utilities` is missing.")}return{tailwindDirectives:e,applyDirectives:i}}var Sh=C(()=>{l();Oe()});function St(r,e=void 0,t=void 0){return r.map(i=>{let n=i.clone();return t!==void 0&&(n.raws.tailwind={...n.raws.tailwind,...t}),e!==void 0&&Ch(n,a=>{if(a.raws.tailwind?.preserveSource===!0&&a.source)return!1;a.source=e}),n})}function Ch(r,e){e(r)!==!1&&r.each?.(t=>Ch(t,e))}var Ah=C(()=>{l()});function Oo(r){return r=Array.isArray(r)?r:[r],r=r.map(e=>e instanceof RegExp?e.source:e),r.join("")}function ye(r){return new RegExp(Oo(r),"g")}function ft(r){return`(?:${r.map(Oo).join("|")})`}function Eo(r){return`(?:${Oo(r)})?`}function Oh(r){return r&&aC.test(r)?r.replace(_h,"\\$&"):r||""}var _h,aC,Eh=C(()=>{l();_h=/[\\^$.*+?()[\]{}|]/g,aC=RegExp(_h.source)});function Th(r){let e=Array.from(oC(r));return t=>{let i=[];for(let n of e)for(let a of t.match(n)??[])i.push(fC(a));return i}}function*oC(r){let e=r.tailwindConfig.separator,t=r.tailwindConfig.prefix!==""?Eo(ye([/-?/,Oh(r.tailwindConfig.prefix)])):"",i=ft([/\[[^\s:'"`]+:[^\s\[\]]+\]/,/\[[^\s:'"`\]]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,ye([ft([/-?(?:\w+)/,/@(?:\w+)/]),Eo(ft([ye([ft([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s:\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\><$]*)?/]),ye([ft([/-(?:\w+-)*\['[^\s]+'\]/,/-(?:\w+-)*\["[^\s]+"\]/,/-(?:\w+-)*\[`[^\s]+`\]/,/-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s\[\]]+\]/]),/(?![{([]])/,/(?:\/[^\s'"`\\$]*)?/]),/[-\/][^\s'"`\\$={><]*/]))])]),n=[ft([ye([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]\/[\w_-]+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/,e]),ye([/[^\s"'`\[\\]+/,e])]),ft([ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]\/[\w_-]+/,e]),ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/,e]),ye([/[^\s`\[\\]+/,e])])];for(let a of n)yield ye(["((?=((",a,")+))\\2)?",/!?/,t,i]);yield/[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g}function fC(r){if(!r.includes("-["))return r;let e=0,t=[],i=r.matchAll(lC);i=Array.from(i).flatMap(n=>{let[,...a]=n;return a.map((s,o)=>Object.assign([],n,{index:n.index+o,0:s}))});for(let n of i){let a=n[0],s=t[t.length-1];if(a===s?t.pop():(a==="'"||a==='"'||a==="`")&&t.push(a),!s){if(a==="["){e++;continue}else if(a==="]"){e--;continue}if(e<0)return r.substring(0,n.index-1);if(e===0&&!uC.test(a))return r.substring(0,n.index)}}return r}var lC,uC,Ph=C(()=>{l();Eh();lC=/([\[\]'"`])([^\[\]'"`])?/g,uC=/[^"'`\s<>\]]+/});function cC(r,e){let t=r.tailwindConfig.content.extract;return t[e]||t.DEFAULT||Ih[e]||Ih.DEFAULT(r)}function pC(r,e){let t=r.content.transform;return t[e]||t.DEFAULT||qh[e]||qh.DEFAULT}function dC(r,e,t,i){ni.has(e)||ni.set(e,new Dh.default({maxSize:25e3}));for(let n of r.split(` +`))if(n=n.trim(),!i.has(n))if(i.add(n),ni.get(e).has(n))for(let a of ni.get(e).get(n))t.add(a);else{let a=e(n).filter(o=>o!=="!*"),s=new Set(a);for(let o of s)t.add(o);ni.get(e).set(n,s)}}function hC(r,e){let t=e.offsets.sort(r),i={base:new Set,defaults:new Set,components:new Set,utilities:new Set,variants:new Set};for(let[n,a]of t)i[n.layer].add(a);return i}function To(r){return async e=>{let t={base:null,components:null,utilities:null,variants:null};if(e.walkAtRules(y=>{y.name==="tailwind"&&Object.keys(t).includes(y.params)&&(t[y.params]=y)}),Object.values(t).every(y=>y===null))return e;let i=new Set([...r.candidates??[],He]),n=new Set;Ye.DEBUG&&console.time("Reading changed files");let a=[];for(let y of r.changedContent){let w=pC(r.tailwindConfig,y.extension),k=cC(r,y.extension);a.push([y,{transformer:w,extractor:k}])}let s=500;for(let y=0;y{S=k?await te.promises.readFile(k,"utf8"):S,dC(_(S),E,i,n)}))}Ye.DEBUG&&console.timeEnd("Reading changed files");let o=r.classCache.size;Ye.DEBUG&&console.time("Generate rules"),Ye.DEBUG&&console.time("Sorting candidates");let u=new Set([...i].sort((y,w)=>y===w?0:y{let w=y.raws.tailwind?.parentLayer;return w==="components"?t.components!==null:w==="utilities"?t.utilities!==null:!0});t.variants?(t.variants.before(St(b,t.variants.source,{layer:"variants"})),t.variants.remove()):b.length>0&&e.append(St(b,e.source,{layer:"variants"})),e.source.end=e.source.end??e.source.start;let x=b.some(y=>y.raws.tailwind?.parentLayer==="utilities");t.utilities&&p.size===0&&!x&&F.warn("content-problems",["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.","https://tailwindcss.com/docs/content-configuration"]),Ye.DEBUG&&(console.log("Potential classes: ",i.size),console.log("Active contexts: ",vn.size)),r.changedContent=[],e.walkAtRules("layer",y=>{Object.keys(t).includes(y.params)&&y.remove()})}}var Dh,Ye,Ih,qh,ni,Rh=C(()=>{l();ze();Dh=X(rs());lt();On();Oe();Ah();Ph();Ye=Pe,Ih={DEFAULT:Th},qh={DEFAULT:r=>r,svelte:r=>r.replace(/(?:^|\s)class:/g," ")};ni=new WeakMap});function Bn(r){let e=new Map;j.root({nodes:[r.clone()]}).walkRules(a=>{(0,Mn.default)(s=>{s.walkClasses(o=>{let u=o.parent.toString(),c=e.get(u);c||e.set(u,c=new Set),c.add(o.value)})}).processSync(a.selector)});let i=Array.from(e.values(),a=>Array.from(a)),n=i.flat();return Object.assign(n,{groups:i})}function Po(r){return mC.astSync(r)}function Mh(r,e){let t=new Set;for(let i of r)t.add(i.split(e).pop());return Array.from(t)}function Bh(r,e){let t=r.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function*Fh(r){for(yield r;r.parent;)yield r.parent,r=r.parent}function gC(r,e={}){let t=r.nodes;r.nodes=[];let i=r.clone(e);return r.nodes=t,i}function yC(r){for(let e of Fh(r))if(r!==e){if(e.type==="root")break;r=gC(e,{nodes:[r]})}return r}function wC(r,e){let t=new Map;return r.walkRules(i=>{for(let s of Fh(i))if(s.raws.tailwind?.layer!==void 0)return;let n=yC(i),a=e.offsets.create("user");for(let s of Bn(i)){let o=t.get(s)||[];t.set(s,o),o.push([{layer:"user",sort:a,important:!1},n])}}),t}function bC(r,e){for(let t of r){if(e.notClassCache.has(t)||e.applyClassCache.has(t))continue;if(e.classCache.has(t)){e.applyClassCache.set(t,e.classCache.get(t).map(([n,a])=>[n,a.clone()]));continue}let i=Array.from(fo(t,e));if(i.length===0){e.notClassCache.add(t);continue}e.applyClassCache.set(t,i)}return e.applyClassCache}function vC(r){let e=null;return{get:t=>(e=e||r(),e.get(t)),has:t=>(e=e||r(),e.has(t))}}function xC(r){return{get:e=>r.flatMap(t=>t.get(e)||[]),has:e=>r.some(t=>t.has(e))}}function Lh(r){let e=r.split(/[\s\t\n]+/g);return e[e.length-1]==="!important"?[e.slice(0,-1),!0]:[e,!1]}function Nh(r,e,t){let i=new Set,n=[];if(r.walkAtRules("apply",u=>{let[c]=Lh(u.params);for(let f of c)i.add(f);n.push(u)}),n.length===0)return;let a=xC([t,bC(i,e)]);function s(u,c,f){let d=Po(u),p=Po(c),b=Po(`.${ce(f)}`).nodes[0].nodes[0];return d.each(x=>{let y=new Set;p.each(w=>{let k=!1;w=w.clone(),w.walkClasses(S=>{S.value===b.value&&(k||(S.replaceWith(...x.nodes.map(_=>_.clone())),y.add(w),k=!0))})});for(let w of y){let k=[[]];for(let S of w.nodes)S.type==="combinator"?(k.push(S),k.push([])):k[k.length-1].push(S);w.nodes=[];for(let S of k)Array.isArray(S)&&S.sort((_,E)=>_.type==="tag"&&E.type==="class"?-1:_.type==="class"&&E.type==="tag"?1:_.type==="class"&&E.type==="pseudo"&&E.value.startsWith("::")?-1:_.type==="pseudo"&&_.value.startsWith("::")&&E.type==="class"?1:0),w.nodes=w.nodes.concat(S)}x.replaceWith(...y)}),d.toString()}let o=new Map;for(let u of n){let[c]=o.get(u.parent)||[[],u.source];o.set(u.parent,[c,u.source]);let[f,d]=Lh(u.params);if(u.parent.type==="atrule"){if(u.parent.name==="screen"){let p=u.parent.params;throw u.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map(m=>`${p}:${m}`).join(" ")} instead.`)}throw u.error(`@apply is not supported within nested at-rules like @${u.parent.name}. You can fix this by un-nesting @${u.parent.name}.`)}for(let p of f){if([Bh(e,"group"),Bh(e,"peer")].includes(p))throw u.error(`@apply should not be used with the '${p}' utility`);if(!a.has(p))throw u.error(`The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`);let m=a.get(p);for(let[,b]of m)b.type!=="atrule"&&b.walkRules(()=>{throw u.error([`The \`${p}\` class cannot be used with \`@apply\` because \`@apply\` does not currently support nested CSS.`,"Rewrite the selector without nesting or configure the `tailwindcss/nesting` plugin:","https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join(` +`))});c.push([p,d,m])}}for(let[u,[c,f]]of o){let d=[];for(let[m,b,x]of c){let y=[m,...Mh([m],e.tailwindConfig.separator)];for(let[w,k]of x){let S=Bn(u),_=Bn(k);if(_=_.groups.filter(R=>R.some(J=>y.includes(J))).flat(),_=_.concat(Mh(_,e.tailwindConfig.separator)),S.some(R=>_.includes(R)))throw k.error(`You cannot \`@apply\` the \`${m}\` utility here because it creates a circular dependency.`);let I=j.root({nodes:[k.clone()]});I.walk(R=>{R.source=f}),(k.type!=="atrule"||k.type==="atrule"&&k.name!=="keyframes")&&I.walkRules(R=>{if(!Bn(R).some(ee=>ee===m)){R.remove();return}let J=typeof e.tailwindConfig.important=="string"?e.tailwindConfig.important:null,de=u.raws.tailwind!==void 0&&J&&u.selector.indexOf(J)===0?u.selector.slice(J.length):u.selector;de===""&&(de=u.selector),R.selector=s(de,R.selector,m),J&&de!==u.selector&&(R.selector=Sn(R.selector,J)),R.walkDecls(ee=>{ee.important=w.important||b});let De=(0,Mn.default)().astSync(R.selector);De.each(ee=>jt(ee)),R.selector=De.toString()}),!!I.nodes[0]&&d.push([w.sort,I.nodes[0]])}}let p=e.offsets.sort(d).map(m=>m[1]);u.after(p)}for(let u of n)u.parent.nodes.length>1?u.remove():u.parent.remove();Nh(r,e,t)}function Do(r){return e=>{let t=vC(()=>wC(e,r));Nh(e,r,t)}}var Mn,mC,$h=C(()=>{l();st();Mn=X(Me());On();$t();oo();xn();mC=(0,Mn.default)()});var zh=v((I4,Fn)=>{l();(function(){"use strict";function r(i,n,a){if(!i)return null;r.caseSensitive||(i=i.toLowerCase());var s=r.threshold===null?null:r.threshold*i.length,o=r.thresholdAbsolute,u;s!==null&&o!==null?u=Math.min(s,o):s!==null?u=s:o!==null?u=o:u=null;var c,f,d,p,m,b=n.length;for(m=0;ma)return a+1;var u=[],c,f,d,p,m;for(c=0;c<=o;c++)u[c]=[c];for(f=0;f<=s;f++)u[0][f]=f;for(c=1;c<=o;c++){for(d=e,p=1,c>a&&(p=c-a),m=o+1,m>a+c&&(m=a+c),f=1;f<=s;f++)fm?u[c][f]=a+1:n.charAt(c-1)===i.charAt(f-1)?u[c][f]=u[c-1][f-1]:u[c][f]=Math.min(u[c-1][f-1]+1,Math.min(u[c][f-1]+1,u[c-1][f]+1)),u[c][f]a)return a+1}return u[o][s]}})()});var Vh=v((q4,jh)=>{l();var Io="(".charCodeAt(0),qo=")".charCodeAt(0),Ln="'".charCodeAt(0),Ro='"'.charCodeAt(0),Mo="\\".charCodeAt(0),Wt="/".charCodeAt(0),Bo=",".charCodeAt(0),Fo=":".charCodeAt(0),Nn="*".charCodeAt(0),kC="u".charCodeAt(0),SC="U".charCodeAt(0),CC="+".charCodeAt(0),AC=/^[a-f0-9?-]+$/i;jh.exports=function(r){for(var e=[],t=r,i,n,a,s,o,u,c,f,d=0,p=t.charCodeAt(d),m=t.length,b=[{nodes:e}],x=0,y,w="",k="",S="";d{l();Uh.exports=function r(e,t,i){var n,a,s,o;for(n=0,a=e.length;n{l();function Gh(r,e){var t=r.type,i=r.value,n,a;return e&&(a=e(r))!==void 0?a:t==="word"||t==="space"?i:t==="string"?(n=r.quote||"",n+i+(r.unclosed?"":n)):t==="comment"?"/*"+i+(r.unclosed?"":"*/"):t==="div"?(r.before||"")+i+(r.after||""):Array.isArray(r.nodes)?(n=Hh(r.nodes,e),t!=="function"?n:i+"("+(r.before||"")+n+(r.after||"")+(r.unclosed?"":")")):i}function Hh(r,e){var t,i;if(Array.isArray(r)){for(t="",i=r.length-1;~i;i-=1)t=Gh(r[i],e)+t;return t}return Gh(r,e)}Yh.exports=Hh});var Xh=v((B4,Jh)=>{l();var $n="-".charCodeAt(0),zn="+".charCodeAt(0),Lo=".".charCodeAt(0),_C="e".charCodeAt(0),OC="E".charCodeAt(0);function EC(r){var e=r.charCodeAt(0),t;if(e===zn||e===$n){if(t=r.charCodeAt(1),t>=48&&t<=57)return!0;var i=r.charCodeAt(2);return t===Lo&&i>=48&&i<=57}return e===Lo?(t=r.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}Jh.exports=function(r){var e=0,t=r.length,i,n,a;if(t===0||!EC(r))return!1;for(i=r.charCodeAt(e),(i===zn||i===$n)&&e++;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),i===Lo&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),a=r.charCodeAt(e+2),(i===_C||i===OC)&&(n>=48&&n<=57||(n===zn||n===$n)&&a>=48&&a<=57))for(e+=n===zn||n===$n?3:2;e57));)e+=1;return{number:r.slice(0,e),unit:r.slice(e)}}});var tm=v((F4,em)=>{l();var TC=Vh(),Kh=Wh(),Zh=Qh();function ct(r){return this instanceof ct?(this.nodes=TC(r),this):new ct(r)}ct.prototype.toString=function(){return Array.isArray(this.nodes)?Zh(this.nodes):""};ct.prototype.walk=function(r,e){return Kh(this.nodes,r,e),this};ct.unit=Xh();ct.walk=Kh;ct.stringify=Zh;em.exports=ct});function $o(r){return typeof r=="object"&&r!==null}function PC(r,e){let t=Ze(e);do if(t.pop(),(0,si.default)(r,t)!==void 0)break;while(t.length);return t.length?t:void 0}function Gt(r){return typeof r=="string"?r:r.reduce((e,t,i)=>t.includes(".")?`${e}[${t}]`:i===0?t:`${e}.${t}`,"")}function im(r){return r.map(e=>`'${e}'`).join(", ")}function nm(r){return im(Object.keys(r))}function zo(r,e,t,i={}){let n=Array.isArray(e)?Gt(e):e.replace(/^['"]+|['"]+$/g,""),a=Array.isArray(e)?e:Ze(n),s=(0,si.default)(r.theme,a,t);if(s===void 0){let u=`'${n}' does not exist in your theme config.`,c=a.slice(0,-1),f=(0,si.default)(r.theme,c);if($o(f)){let d=Object.keys(f).filter(m=>zo(r,[...c,m]).isValid),p=(0,rm.default)(a[a.length-1],d);p?u+=` Did you mean '${Gt([...c,p])}'?`:d.length>0&&(u+=` '${Gt(c)}' has the following valid keys: ${im(d)}`)}else{let d=PC(r.theme,n);if(d){let p=(0,si.default)(r.theme,d);$o(p)?u+=` '${Gt(d)}' has the following keys: ${nm(p)}`:u+=` '${Gt(d)}' is not an object.`}else u+=` Your theme has the following top-level keys: ${nm(r.theme)}`}return{isValid:!1,error:u}}if(!(typeof s=="string"||typeof s=="number"||typeof s=="function"||s instanceof String||s instanceof Number||Array.isArray(s))){let u=`'${n}' was found but does not resolve to a string.`;if($o(s)){let c=Object.keys(s).filter(f=>zo(r,[...a,f]).isValid);c.length&&(u+=` Did you mean something like '${Gt([...a,c[0]])}'?`)}return{isValid:!1,error:u}}let[o]=a;return{isValid:!0,value:Ge(o)(s,i)}}function DC(r,e,t){e=e.map(n=>sm(r,n,t));let i=[""];for(let n of e)n.type==="div"&&n.value===","?i.push(""):i[i.length-1]+=No.default.stringify(n);return i}function sm(r,e,t){if(e.type==="function"&&t[e.value]!==void 0){let i=DC(r,e.nodes,t);e.type="word",e.value=t[e.value](r,...i)}return e}function IC(r,e,t){return Object.keys(t).some(n=>e.includes(`${n}(`))?(0,No.default)(e).walk(n=>{sm(r,n,t)}).toString():e}function*RC(r){r=r.replace(/^['"]+|['"]+$/g,"");let e=r.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/),t;yield[r,void 0],e&&(r=e[1],t=e[2],yield[r,t])}function MC(r,e,t){let i=Array.from(RC(e)).map(([n,a])=>Object.assign(zo(r,n,t,{opacityValue:a}),{resolvedPath:n,alpha:a}));return i.find(n=>n.isValid)??i[0]}function am(r){let e=r.tailwindConfig,t={theme:(i,n,...a)=>{let{isValid:s,value:o,error:u,alpha:c}=MC(e,n,a.length?a:void 0);if(!s){let p=i.parent,m=p?.raws.tailwind?.candidate;if(p&&m!==void 0){r.markInvalidUtilityNode(p),p.remove(),F.warn("invalid-theme-key-in-class",[`The utility \`${m}\` contains an invalid theme value and was not generated.`]);return}throw i.error(u)}let f=Ot(o),d=f!==void 0&&typeof f=="function";return(c!==void 0||d)&&(c===void 0&&(c=1),o=Ie(f,c,f)),o},screen:(i,n)=>{n=n.replace(/^['"]+/g,"").replace(/['"]+$/g,"");let s=ot(e.theme.screens).find(({name:o})=>o===n);if(!s)throw i.error(`The '${n}' screen does not exist in your theme.`);return at(s)}};return i=>{i.walk(n=>{let a=qC[n.type];a!==void 0&&(n[a]=IC(n,n[a],t))})}}var si,rm,No,qC,om=C(()=>{l();si=X(Gs()),rm=X(zh());Jr();No=X(tm());wn();mn();gi();fr();hr();Oe();qC={atrule:"params",decl:"value"}});function lm({tailwindConfig:{theme:r}}){return function(e){e.walkAtRules("screen",t=>{let i=t.params,a=ot(r.screens).find(({name:s})=>s===i);if(!a)throw t.error(`No \`${i}\` screen found.`);t.name="media",t.params=at(a)})}}var um=C(()=>{l();wn();mn()});function BC(r){let e=r.filter(o=>o.type!=="pseudo"||o.nodes.length>0?!0:o.value.startsWith("::")||[":before",":after",":first-line",":first-letter"].includes(o.value)).reverse(),t=new Set(["tag","class","id","attribute"]),i=e.findIndex(o=>t.has(o.type));if(i===-1)return e.reverse().join("").trim();let n=e[i],a=fm[n.type]?fm[n.type](n):n;e=e.slice(0,i);let s=e.findIndex(o=>o.type==="combinator"&&o.value===">");return s!==-1&&(e.splice(0,s),e.unshift(jn.default.universal())),[a,...e.reverse()].join("").trim()}function LC(r){return jo.has(r)||jo.set(r,FC.transformSync(r)),jo.get(r)}function Vo({tailwindConfig:r}){return e=>{let t=new Map,i=new Set;if(e.walkAtRules("defaults",n=>{if(n.nodes&&n.nodes.length>0){i.add(n);return}let a=n.params;t.has(a)||t.set(a,new Set),t.get(a).add(n.parent),n.remove()}),K(r,"optimizeUniversalDefaults"))for(let n of i){let a=new Map,s=t.get(n.params)??[];for(let o of s)for(let u of LC(o.selector)){let c=u.includes(":-")||u.includes("::-")||u.includes(":has")?u:"__DEFAULT__",f=a.get(c)??new Set;a.set(c,f),f.add(u)}if(K(r,"optimizeUniversalDefaults")){if(a.size===0){n.remove();continue}for(let[,o]of a){let u=j.rule({source:n.source});u.selectors=[...o],u.append(n.nodes.map(c=>c.clone())),n.before(u)}}n.remove()}else if(i.size){let n=j.rule({selectors:["*","::before","::after"]});for(let s of i)n.append(s.nodes),n.parent||s.before(n),n.source||(n.source=s.source),s.remove();let a=n.clone({selectors:["::backdrop"]});n.after(a)}}}var jn,fm,FC,jo,cm=C(()=>{l();st();jn=X(Me());je();fm={id(r){return jn.default.attribute({attribute:"id",operator:"=",value:r.value,quoteMark:'"'})}};FC=(0,jn.default)(r=>r.map(e=>{let t=e.split(i=>i.type==="combinator"&&i.value===" ").pop();return BC(t)})),jo=new Map});function Uo(){function r(e){let t=null;e.each(i=>{if(!NC.has(i.type)){t=null;return}if(t===null){t=i;return}let n=pm[i.type];i.type==="atrule"&&i.name==="font-face"?t=i:n.every(a=>(i[a]??"").replace(/\s+/g," ")===(t[a]??"").replace(/\s+/g," "))?(i.nodes&&t.append(i.nodes),i.remove()):t=i}),e.each(i=>{i.type==="atrule"&&r(i)})}return e=>{r(e)}}var pm,NC,dm=C(()=>{l();pm={atrule:["name","params"],rule:["selector"]},NC=new Set(Object.keys(pm))});function Wo(){return r=>{r.walkRules(e=>{let t=new Map,i=new Set([]),n=new Map;e.walkDecls(a=>{if(a.parent===e){if(t.has(a.prop)){if(t.get(a.prop).value===a.value){i.add(t.get(a.prop)),t.set(a.prop,a);return}n.has(a.prop)||n.set(a.prop,new Set),n.get(a.prop).add(t.get(a.prop)),n.get(a.prop).add(a)}t.set(a.prop,a)}});for(let a of i)a.remove();for(let a of n.values()){let s=new Map;for(let o of a){let u=zC(o.value);u!==null&&(s.has(u)||s.set(u,new Set),s.get(u).add(o))}for(let o of s.values()){let u=Array.from(o).slice(0,-1);for(let c of u)c.remove()}}})}}function zC(r){let e=/^-?\d*.?\d+([\w%]+)?$/g.exec(r);return e?e[1]??$C:null}var $C,hm=C(()=>{l();$C=Symbol("unitless-number")});function jC(r){if(!r.walkAtRules)return;let e=new Set;if(r.walkAtRules("apply",t=>{e.add(t.parent)}),e.size!==0)for(let t of e){let i=[],n=[];for(let a of t.nodes)a.type==="atrule"&&a.name==="apply"?(n.length>0&&(i.push(n),n=[]),i.push([a])):n.push(a);if(n.length>0&&i.push(n),i.length!==1){for(let a of[...i].reverse()){let s=t.clone({nodes:[]});s.append(a),t.after(s)}t.remove()}}}function Vn(){return r=>{jC(r)}}var mm=C(()=>{l()});function Un(r){return async function(e,t){let{tailwindDirectives:i,applyDirectives:n}=_o(e);Vn()(e,t);let a=r({tailwindDirectives:i,applyDirectives:n,registerDependency(s){t.messages.push({plugin:"tailwindcss",parent:t.opts.from,...s})},createContext(s,o){return bo(s,o,e)}})(e,t);if(a.tailwindConfig.separator==="-")throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");Iu(a.tailwindConfig),await To(a)(e,t),Vn()(e,t),Do(a)(e,t),am(a)(e,t),lm(a)(e,t),Vo(a)(e,t),Uo(a)(e,t),Wo(a)(e,t)}}var gm=C(()=>{l();Sh();Rh();$h();om();um();cm();dm();hm();mm();ei();je()});function ym(r,e){let t=null,i=null;return r.walkAtRules("config",n=>{if(i=n.source?.input.file??e.opts.from??null,i===null)throw n.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");if(t)throw n.error("Only one `@config` directive is allowed per file.");let a=n.params.match(/(['"])(.*?)\1/);if(!a)throw n.error("A path is required when using the `@config` directive.");let s=a[2];if(Z.isAbsolute(s))throw n.error("The `@config` directive cannot be used with an absolute path.");if(t=Z.resolve(Z.dirname(i),s),!te.existsSync(t))throw n.error(`The config file at "${s}" does not exist. Make sure the path is correct and the file exists.`);n.remove()}),t||null}var wm=C(()=>{l();ze();bt()});var bm=v((vD,Go)=>{l();kh();gm();lt();wm();Go.exports=function(e){return{postcssPlugin:"tailwindcss",plugins:[Pe.DEBUG&&function(t){return console.log(` +`),console.time("JIT TOTAL"),t},async function(t,i){e=ym(t,i)??e;let n=Ao(e);if(t.type==="document"){let a=t.nodes.filter(s=>s.type==="root");for(let s of a)s.type==="root"&&await Un(n)(s,i);return}await Un(n)(t,i)},Pe.DEBUG&&function(t){return console.timeEnd("JIT TOTAL"),console.log(` +`),t}].filter(Boolean)}};Go.exports.postcss=!0});var xm=v((xD,vm)=>{l();vm.exports=bm()});var Ho=v((kD,km)=>{l();km.exports=()=>["and_chr 114","and_uc 15.5","chrome 114","chrome 113","chrome 109","edge 114","firefox 114","ios_saf 16.5","ios_saf 16.4","ios_saf 16.3","ios_saf 16.1","opera 99","safari 16.5","samsung 21"]});var Wn={};Ae(Wn,{agents:()=>VC,feature:()=>UC});function UC(){return{status:"cr",title:"CSS Feature Queries",stats:{ie:{"6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","5.5":"n"},edge:{"12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y"},firefox:{"2":"n","3":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y","3.5":"n","3.6":"n"},chrome:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y"},safari:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","17":"y","9.1":"y","10.1":"y","11.1":"y","12.1":"y","13.1":"y","14.1":"y","15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y",TP:"y","3.1":"n","3.2":"n","5.1":"n","6.1":"n","7.1":"n"},opera:{"9":"n","11":"n","12":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","60":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","12.1":"y","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11.1":"n","11.5":"n","11.6":"n"},ios_saf:{"8":"n","17":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y","10.3":"y","11.0-11.2":"y","11.3-11.4":"y","12.0-12.1":"y","12.2-12.5":"y","13.0-13.1":"y","13.2":"y","13.3":"y","13.4-13.7":"y","14.0-14.4":"y","14.5-14.8":"y","15.0-15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y","3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8.1-8.4":"n"},op_mini:{all:"y"},android:{"3":"n","4":"n","114":"y","4.4":"y","4.4.3-4.4.4":"y","2.1":"n","2.2":"n","2.3":"n","4.1":"n","4.2-4.3":"n"},bb:{"7":"n","10":"n"},op_mob:{"10":"n","11":"n","12":"n","73":"y","11.1":"n","11.5":"n","12.1":"n"},and_chr:{"114":"y"},and_ff:{"115":"y"},ie_mob:{"10":"n","11":"n"},and_uc:{"15.5":"y"},samsung:{"4":"y","20":"y","21":"y","5.0-5.4":"y","6.2-6.4":"y","7.2-7.4":"y","8.2":"y","9.2":"y","10.1":"y","11.1-11.2":"y","12.0":"y","13.0":"y","14.0":"y","15.0":"y","16.0":"y","17.0":"y","18.0":"y","19.0":"y"},and_qq:{"13.1":"y"},baidu:{"13.18":"y"},kaios:{"2.5":"y","3.0-3.1":"y"}}}}var VC,Gn=C(()=>{l();VC={ie:{prefix:"ms"},edge:{prefix:"webkit",prefix_exceptions:{"12":"ms","13":"ms","14":"ms","15":"ms","16":"ms","17":"ms","18":"ms"}},firefox:{prefix:"moz"},chrome:{prefix:"webkit"},safari:{prefix:"webkit"},opera:{prefix:"webkit",prefix_exceptions:{"9":"o","11":"o","12":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11.1":"o","11.5":"o","11.6":"o","12.1":"o"}},ios_saf:{prefix:"webkit"},op_mini:{prefix:"o"},android:{prefix:"webkit"},bb:{prefix:"webkit"},op_mob:{prefix:"o",prefix_exceptions:{"73":"webkit"}},and_chr:{prefix:"webkit"},and_ff:{prefix:"moz"},ie_mob:{prefix:"ms"},and_uc:{prefix:"webkit",prefix_exceptions:{"15.5":"webkit"}},samsung:{prefix:"webkit"},and_qq:{prefix:"webkit"},baidu:{prefix:"webkit"},kaios:{prefix:"moz"}}});var Sm=v(()=>{l()});var le=v((AD,pt)=>{l();var{list:Yo}=ge();pt.exports.error=function(r){let e=new Error(r);throw e.autoprefixer=!0,e};pt.exports.uniq=function(r){return[...new Set(r)]};pt.exports.removeNote=function(r){return r.includes(" ")?r.split(" ")[0]:r};pt.exports.escapeRegexp=function(r){return r.replace(/[$()*+-.?[\\\]^{|}]/g,"\\$&")};pt.exports.regexp=function(r,e=!0){return e&&(r=this.escapeRegexp(r)),new RegExp(`(^|[\\s,(])(${r}($|[\\s(,]))`,"gi")};pt.exports.editList=function(r,e){let t=Yo.comma(r),i=e(t,[]);if(t===i)return r;let n=r.match(/,\s*/);return n=n?n[0]:", ",i.join(n)};pt.exports.splitSelector=function(r){return Yo.comma(r).map(e=>Yo.space(e).map(t=>t.split(/(?=\.|#)/g)))}});var dt=v((_D,_m)=>{l();var WC=Ho(),Cm=(Gn(),Wn).agents,GC=le(),Am=class{static prefixes(){if(this.prefixesCache)return this.prefixesCache;this.prefixesCache=[];for(let e in Cm)this.prefixesCache.push(`-${Cm[e].prefix}-`);return this.prefixesCache=GC.uniq(this.prefixesCache).sort((e,t)=>t.length-e.length),this.prefixesCache}static withPrefix(e){return this.prefixesRegexp||(this.prefixesRegexp=new RegExp(this.prefixes().join("|"))),this.prefixesRegexp.test(e)}constructor(e,t,i,n){this.data=e,this.options=i||{},this.browserslistOpts=n||{},this.selected=this.parse(t)}parse(e){let t={};for(let i in this.browserslistOpts)t[i]=this.browserslistOpts[i];return t.path=this.options.from,WC(e,t)}prefix(e){let[t,i]=e.split(" "),n=this.data[t],a=n.prefix_exceptions&&n.prefix_exceptions[i];return a||(a=n.prefix),`-${a}-`}isSelected(e){return this.selected.includes(e)}};_m.exports=Am});var ai=v((OD,Om)=>{l();Om.exports={prefix(r){let e=r.match(/^(-\w+-)/);return e?e[0]:""},unprefixed(r){return r.replace(/^-\w+-/,"")}}});var Ht=v((ED,Tm)=>{l();var HC=dt(),Em=ai(),YC=le();function Qo(r,e){let t=new r.constructor;for(let i of Object.keys(r||{})){let n=r[i];i==="parent"&&typeof n=="object"?e&&(t[i]=e):i==="source"||i===null?t[i]=n:Array.isArray(n)?t[i]=n.map(a=>Qo(a,t)):i!=="_autoprefixerPrefix"&&i!=="_autoprefixerValues"&&i!=="proxyCache"&&(typeof n=="object"&&n!==null&&(n=Qo(n,t)),t[i]=n)}return t}var Hn=class{static hack(e){return this.hacks||(this.hacks={}),e.names.map(t=>(this.hacks[t]=e,this.hacks[t]))}static load(e,t,i){let n=this.hacks&&this.hacks[e];return n?new n(e,t,i):new this(e,t,i)}static clone(e,t){let i=Qo(e);for(let n in t)i[n]=t[n];return i}constructor(e,t,i){this.prefixes=t,this.name=e,this.all=i}parentPrefix(e){let t;return typeof e._autoprefixerPrefix!="undefined"?t=e._autoprefixerPrefix:e.type==="decl"&&e.prop[0]==="-"?t=Em.prefix(e.prop):e.type==="root"?t=!1:e.type==="rule"&&e.selector.includes(":-")&&/:(-\w+-)/.test(e.selector)?t=e.selector.match(/:(-\w+-)/)[1]:e.type==="atrule"&&e.name[0]==="-"?t=Em.prefix(e.name):t=this.parentPrefix(e.parent),HC.prefixes().includes(t)||(t=!1),e._autoprefixerPrefix=t,e._autoprefixerPrefix}process(e,t){if(!this.check(e))return;let i=this.parentPrefix(e),n=this.prefixes.filter(s=>!i||i===YC.removeNote(s)),a=[];for(let s of n)this.add(e,s,a.concat([s]),t)&&a.push(s);return a}clone(e,t){return Hn.clone(e,t)}};Tm.exports=Hn});var M=v((TD,Im)=>{l();var QC=Ht(),JC=dt(),Pm=le(),Dm=class extends QC{check(){return!0}prefixed(e,t){return t+e}normalize(e){return e}otherPrefixes(e,t){for(let i of JC.prefixes())if(i!==t&&e.includes(i))return!0;return!1}set(e,t){return e.prop=this.prefixed(e.prop,t),e}needCascade(e){return e._autoprefixerCascade||(e._autoprefixerCascade=this.all.options.cascade!==!1&&e.raw("before").includes(` +`)),e._autoprefixerCascade}maxPrefixed(e,t){if(t._autoprefixerMax)return t._autoprefixerMax;let i=0;for(let n of e)n=Pm.removeNote(n),n.length>i&&(i=n.length);return t._autoprefixerMax=i,t._autoprefixerMax}calcBefore(e,t,i=""){let a=this.maxPrefixed(e,t)-Pm.removeNote(i).length,s=t.raw("before");return a>0&&(s+=Array(a).fill(" ").join("")),s}restoreBefore(e){let t=e.raw("before").split(` +`),i=t[t.length-1];this.all.group(e).up(n=>{let a=n.raw("before").split(` +`),s=a[a.length-1];s.lengths.prop===n.prop&&s.value===n.value)))return this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,n)}isAlready(e,t){let i=this.all.group(e).up(n=>n.prop===t);return i||(i=this.all.group(e).down(n=>n.prop===t)),i}add(e,t,i,n){let a=this.prefixed(e.prop,t);if(!(this.isAlready(e,a)||this.otherPrefixes(e.value,t)))return this.insert(e,t,i,n)}process(e,t){if(!this.needCascade(e)){super.process(e,t);return}let i=super.process(e,t);!i||!i.length||(this.restoreBefore(e),e.raws.before=this.calcBefore(i,e))}old(e,t){return[this.prefixed(e,t)]}};Im.exports=Dm});var Rm=v((PD,qm)=>{l();qm.exports=function r(e){return{mul:t=>new r(e*t),div:t=>new r(e/t),simplify:()=>new r(e),toString:()=>e.toString()}}});var Fm=v((DD,Bm)=>{l();var XC=Rm(),KC=Ht(),Jo=le(),ZC=/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi,eA=/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i,Mm=class extends KC{prefixName(e,t){return e==="-moz-"?t+"--moz-device-pixel-ratio":e+t+"-device-pixel-ratio"}prefixQuery(e,t,i,n,a){return n=new XC(n),a==="dpi"?n=n.div(96):a==="dpcm"&&(n=n.mul(2.54).div(96)),n=n.simplify(),e==="-o-"&&(n=n.n+"/"+n.d),this.prefixName(e,t)+i+n}clean(e){if(!this.bad){this.bad=[];for(let t of this.prefixes)this.bad.push(this.prefixName(t,"min")),this.bad.push(this.prefixName(t,"max"))}e.params=Jo.editList(e.params,t=>t.filter(i=>this.bad.every(n=>!i.includes(n))))}process(e){let t=this.parentPrefix(e),i=t?[t]:this.prefixes;e.params=Jo.editList(e.params,(n,a)=>{for(let s of n){if(!s.includes("min-resolution")&&!s.includes("max-resolution")){a.push(s);continue}for(let o of i){let u=s.replace(ZC,c=>{let f=c.match(eA);return this.prefixQuery(o,f[1],f[2],f[3],f[4])});a.push(u)}a.push(s)}return Jo.uniq(a)})}};Bm.exports=Mm});var Nm=v((ID,Lm)=>{l();var Xo="(".charCodeAt(0),Ko=")".charCodeAt(0),Yn="'".charCodeAt(0),Zo='"'.charCodeAt(0),el="\\".charCodeAt(0),Yt="/".charCodeAt(0),tl=",".charCodeAt(0),rl=":".charCodeAt(0),Qn="*".charCodeAt(0),tA="u".charCodeAt(0),rA="U".charCodeAt(0),iA="+".charCodeAt(0),nA=/^[a-f0-9?-]+$/i;Lm.exports=function(r){for(var e=[],t=r,i,n,a,s,o,u,c,f,d=0,p=t.charCodeAt(d),m=t.length,b=[{nodes:e}],x=0,y,w="",k="",S="";d{l();$m.exports=function r(e,t,i){var n,a,s,o;for(n=0,a=e.length;n{l();function jm(r,e){var t=r.type,i=r.value,n,a;return e&&(a=e(r))!==void 0?a:t==="word"||t==="space"?i:t==="string"?(n=r.quote||"",n+i+(r.unclosed?"":n)):t==="comment"?"/*"+i+(r.unclosed?"":"*/"):t==="div"?(r.before||"")+i+(r.after||""):Array.isArray(r.nodes)?(n=Vm(r.nodes,e),t!=="function"?n:i+"("+(r.before||"")+n+(r.after||"")+(r.unclosed?"":")")):i}function Vm(r,e){var t,i;if(Array.isArray(r)){for(t="",i=r.length-1;~i;i-=1)t=jm(r[i],e)+t;return t}return jm(r,e)}Um.exports=Vm});var Hm=v((MD,Gm)=>{l();var Jn="-".charCodeAt(0),Xn="+".charCodeAt(0),il=".".charCodeAt(0),sA="e".charCodeAt(0),aA="E".charCodeAt(0);function oA(r){var e=r.charCodeAt(0),t;if(e===Xn||e===Jn){if(t=r.charCodeAt(1),t>=48&&t<=57)return!0;var i=r.charCodeAt(2);return t===il&&i>=48&&i<=57}return e===il?(t=r.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}Gm.exports=function(r){var e=0,t=r.length,i,n,a;if(t===0||!oA(r))return!1;for(i=r.charCodeAt(e),(i===Xn||i===Jn)&&e++;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),i===il&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(i=r.charCodeAt(e),n=r.charCodeAt(e+1),a=r.charCodeAt(e+2),(i===sA||i===aA)&&(n>=48&&n<=57||(n===Xn||n===Jn)&&a>=48&&a<=57))for(e+=n===Xn||n===Jn?3:2;e57));)e+=1;return{number:r.slice(0,e),unit:r.slice(e)}}});var Kn=v((BD,Jm)=>{l();var lA=Nm(),Ym=zm(),Qm=Wm();function ht(r){return this instanceof ht?(this.nodes=lA(r),this):new ht(r)}ht.prototype.toString=function(){return Array.isArray(this.nodes)?Qm(this.nodes):""};ht.prototype.walk=function(r,e){return Ym(this.nodes,r,e),this};ht.unit=Hm();ht.walk=Ym;ht.stringify=Qm;Jm.exports=ht});var tg=v((FD,eg)=>{l();var{list:uA}=ge(),Xm=Kn(),fA=dt(),Km=ai(),Zm=class{constructor(e){this.props=["transition","transition-property"],this.prefixes=e}add(e,t){let i,n,a=this.prefixes.add[e.prop],s=this.ruleVendorPrefixes(e),o=s||a&&a.prefixes||[],u=this.parse(e.value),c=u.map(m=>this.findProp(m)),f=[];if(c.some(m=>m[0]==="-"))return;for(let m of u){if(n=this.findProp(m),n[0]==="-")continue;let b=this.prefixes.add[n];if(!(!b||!b.prefixes))for(i of b.prefixes){if(s&&!s.some(y=>i.includes(y)))continue;let x=this.prefixes.prefixed(n,i);x!=="-ms-transform"&&!c.includes(x)&&(this.disabled(n,i)||f.push(this.clone(n,x,m)))}}u=u.concat(f);let d=this.stringify(u),p=this.stringify(this.cleanFromUnprefixed(u,"-webkit-"));if(o.includes("-webkit-")&&this.cloneBefore(e,`-webkit-${e.prop}`,p),this.cloneBefore(e,e.prop,p),o.includes("-o-")){let m=this.stringify(this.cleanFromUnprefixed(u,"-o-"));this.cloneBefore(e,`-o-${e.prop}`,m)}for(i of o)if(i!=="-webkit-"&&i!=="-o-"){let m=this.stringify(this.cleanOtherPrefixes(u,i));this.cloneBefore(e,i+e.prop,m)}d!==e.value&&!this.already(e,e.prop,d)&&(this.checkForWarning(t,e),e.cloneBefore(),e.value=d)}findProp(e){let t=e[0].value;if(/^\d/.test(t)){for(let[i,n]of e.entries())if(i!==0&&n.type==="word")return n.value}return t}already(e,t,i){return e.parent.some(n=>n.prop===t&&n.value===i)}cloneBefore(e,t,i){this.already(e,t,i)||e.cloneBefore({prop:t,value:i})}checkForWarning(e,t){if(t.prop!=="transition-property")return;let i=!1,n=!1;t.parent.each(a=>{if(a.type!=="decl"||a.prop.indexOf("transition-")!==0)return;let s=uA.comma(a.value);if(a.prop==="transition-property"){s.forEach(o=>{let u=this.prefixes.add[o];u&&u.prefixes&&u.prefixes.length>0&&(i=!0)});return}return n=n||s.length>1,!1}),i&&n&&t.warn(e,"Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*")}remove(e){let t=this.parse(e.value);t=t.filter(s=>{let o=this.prefixes.remove[this.findProp(s)];return!o||!o.remove});let i=this.stringify(t);if(e.value===i)return;if(t.length===0){e.remove();return}let n=e.parent.some(s=>s.prop===e.prop&&s.value===i),a=e.parent.some(s=>s!==e&&s.prop===e.prop&&s.value.length>i.length);if(n||a){e.remove();return}e.value=i}parse(e){let t=Xm(e),i=[],n=[];for(let a of t.nodes)n.push(a),a.type==="div"&&a.value===","&&(i.push(n),n=[]);return i.push(n),i.filter(a=>a.length>0)}stringify(e){if(e.length===0)return"";let t=[];for(let i of e)i[i.length-1].type!=="div"&&i.push(this.div(e)),t=t.concat(i);return t[0].type==="div"&&(t=t.slice(1)),t[t.length-1].type==="div"&&(t=t.slice(0,-2+1||void 0)),Xm.stringify({nodes:t})}clone(e,t,i){let n=[],a=!1;for(let s of i)!a&&s.type==="word"&&s.value===e?(n.push({type:"word",value:t}),a=!0):n.push(s);return n}div(e){for(let t of e)for(let i of t)if(i.type==="div"&&i.value===",")return i;return{type:"div",value:",",after:" "}}cleanOtherPrefixes(e,t){return e.filter(i=>{let n=Km.prefix(this.findProp(i));return n===""||n===t})}cleanFromUnprefixed(e,t){let i=e.map(a=>this.findProp(a)).filter(a=>a.slice(0,t.length)===t).map(a=>this.prefixes.unprefixed(a)),n=[];for(let a of e){let s=this.findProp(a),o=Km.prefix(s);!i.includes(s)&&(o===t||o==="")&&n.push(a)}return n}disabled(e,t){let i=["order","justify-content","align-self","align-content"];if(e.includes("flex")||i.includes(e)){if(this.prefixes.options.flexbox===!1)return!0;if(this.prefixes.options.flexbox==="no-2009")return t.includes("2009")}}ruleVendorPrefixes(e){let{parent:t}=e;if(t.type!=="rule")return!1;if(!t.selector.includes(":-"))return!1;let i=fA.prefixes().filter(n=>t.selector.includes(":"+n));return i.length>0?i:!1}};eg.exports=Zm});var Qt=v((LD,ig)=>{l();var cA=le(),rg=class{constructor(e,t,i,n){this.unprefixed=e,this.prefixed=t,this.string=i||t,this.regexp=n||cA.regexp(t)}check(e){return e.includes(this.string)?!!e.match(this.regexp):!1}};ig.exports=rg});var ke=v((ND,sg)=>{l();var pA=Ht(),dA=Qt(),hA=ai(),mA=le(),ng=class extends pA{static save(e,t){let i=t.prop,n=[];for(let a in t._autoprefixerValues){let s=t._autoprefixerValues[a];if(s===t.value)continue;let o,u=hA.prefix(i);if(u==="-pie-")continue;if(u===a){o=t.value=s,n.push(o);continue}let c=e.prefixed(i,a),f=t.parent;if(!f.every(b=>b.prop!==c)){n.push(o);continue}let d=s.replace(/\s+/," ");if(f.some(b=>b.prop===t.prop&&b.value.replace(/\s+/," ")===d)){n.push(o);continue}let m=this.clone(t,{value:s});o=t.parent.insertBefore(t,m),n.push(o)}return n}check(e){let t=e.value;return t.includes(this.name)?!!t.match(this.regexp()):!1}regexp(){return this.regexpCache||(this.regexpCache=mA.regexp(this.name))}replace(e,t){return e.replace(this.regexp(),`$1${t}$2`)}value(e){return e.raws.value&&e.raws.value.value===e.value?e.raws.value.raw:e.value}add(e,t){e._autoprefixerValues||(e._autoprefixerValues={});let i=e._autoprefixerValues[t]||this.value(e),n;do if(n=i,i=this.replace(i,t),i===!1)return;while(i!==n);e._autoprefixerValues[t]=i}old(e){return new dA(this.name,e+this.name)}};sg.exports=ng});var mt=v(($D,ag)=>{l();ag.exports={}});var sl=v((zD,ug)=>{l();var og=Kn(),gA=ke(),yA=mt().insertAreas,wA=/(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i,bA=/(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i,vA=/(!\s*)?autoprefixer:\s*ignore\s+next/i,xA=/(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i,kA=["width","height","min-width","max-width","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size"];function nl(r){return r.parent.some(e=>e.prop==="grid-template"||e.prop==="grid-template-areas")}function SA(r){let e=r.parent.some(i=>i.prop==="grid-template-rows"),t=r.parent.some(i=>i.prop==="grid-template-columns");return e&&t}var lg=class{constructor(e){this.prefixes=e}add(e,t){let i=this.prefixes.add["@resolution"],n=this.prefixes.add["@keyframes"],a=this.prefixes.add["@viewport"],s=this.prefixes.add["@supports"];e.walkAtRules(f=>{if(f.name==="keyframes"){if(!this.disabled(f,t))return n&&n.process(f)}else if(f.name==="viewport"){if(!this.disabled(f,t))return a&&a.process(f)}else if(f.name==="supports"){if(this.prefixes.options.supports!==!1&&!this.disabled(f,t))return s.process(f)}else if(f.name==="media"&&f.params.includes("-resolution")&&!this.disabled(f,t))return i&&i.process(f)}),e.walkRules(f=>{if(!this.disabled(f,t))return this.prefixes.add.selectors.map(d=>d.process(f,t))});function o(f){return f.parent.nodes.some(d=>{if(d.type!=="decl")return!1;let p=d.prop==="display"&&/(inline-)?grid/.test(d.value),m=d.prop.startsWith("grid-template"),b=/^grid-([A-z]+-)?gap/.test(d.prop);return p||m||b})}function u(f){return f.parent.some(d=>d.prop==="display"&&/(inline-)?flex/.test(d.value))}let c=this.gridStatus(e,t)&&this.prefixes.add["grid-area"]&&this.prefixes.add["grid-area"].prefixes;return e.walkDecls(f=>{if(this.disabledDecl(f,t))return;let d=f.parent,p=f.prop,m=f.value;if(p==="grid-row-span"){t.warn("grid-row-span is not part of final Grid Layout. Use grid-row.",{node:f});return}else if(p==="grid-column-span"){t.warn("grid-column-span is not part of final Grid Layout. Use grid-column.",{node:f});return}else if(p==="display"&&m==="box"){t.warn("You should write display: flex by final spec instead of display: box",{node:f});return}else if(p==="text-emphasis-position")(m==="under"||m==="over")&&t.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.",{node:f});else if(/^(align|justify|place)-(items|content)$/.test(p)&&u(f))(m==="start"||m==="end")&&t.warn(`${m} value has mixed support, consider using flex-${m} instead`,{node:f});else if(p==="text-decoration-skip"&&m==="ink")t.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed",{node:f});else{if(c&&this.gridStatus(f,t))if(f.value==="subgrid"&&t.warn("IE does not support subgrid",{node:f}),/^(align|justify|place)-items$/.test(p)&&o(f)){let x=p.replace("-items","-self");t.warn(`IE does not support ${p} on grid containers. Try using ${x} on child elements instead: ${f.parent.selector} > * { ${x}: ${f.value} }`,{node:f})}else if(/^(align|justify|place)-content$/.test(p)&&o(f))t.warn(`IE does not support ${f.prop} on grid containers`,{node:f});else if(p==="display"&&f.value==="contents"){t.warn("Please do not use display: contents; if you have grid setting enabled",{node:f});return}else if(f.prop==="grid-gap"){let x=this.gridStatus(f,t);x==="autoplace"&&!SA(f)&&!nl(f)?t.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid",{node:f}):(x===!0||x==="no-autoplace")&&!nl(f)&&t.warn("grid-gap only works if grid-template(-areas) is being used",{node:f})}else if(p==="grid-auto-columns"){t.warn("grid-auto-columns is not supported by IE",{node:f});return}else if(p==="grid-auto-rows"){t.warn("grid-auto-rows is not supported by IE",{node:f});return}else if(p==="grid-auto-flow"){let x=d.some(w=>w.prop==="grid-template-rows"),y=d.some(w=>w.prop==="grid-template-columns");nl(f)?t.warn("grid-auto-flow is not supported by IE",{node:f}):m.includes("dense")?t.warn("grid-auto-flow: dense is not supported by IE",{node:f}):!x&&!y&&t.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule",{node:f});return}else if(m.includes("auto-fit")){t.warn("auto-fit value is not supported by IE",{node:f,word:"auto-fit"});return}else if(m.includes("auto-fill")){t.warn("auto-fill value is not supported by IE",{node:f,word:"auto-fill"});return}else p.startsWith("grid-template")&&m.includes("[")&&t.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.",{node:f,word:"["});if(m.includes("radial-gradient"))if(bA.test(f.value))t.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.",{node:f});else{let x=og(m);for(let y of x.nodes)if(y.type==="function"&&y.value==="radial-gradient")for(let w of y.nodes)w.type==="word"&&(w.value==="cover"?t.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.",{node:f}):w.value==="contain"&&t.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.",{node:f}))}m.includes("linear-gradient")&&wA.test(m)&&t.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.",{node:f})}kA.includes(f.prop)&&(f.value.includes("-fill-available")||(f.value.includes("fill-available")?t.warn("Replace fill-available to stretch, because spec had been changed",{node:f}):f.value.includes("fill")&&og(m).nodes.some(y=>y.type==="word"&&y.value==="fill")&&t.warn("Replace fill to stretch, because spec had been changed",{node:f})));let b;if(f.prop==="transition"||f.prop==="transition-property")return this.prefixes.transition.add(f,t);if(f.prop==="align-self"){if(this.displayType(f)!=="grid"&&this.prefixes.options.flexbox!==!1&&(b=this.prefixes.add["align-self"],b&&b.prefixes&&b.process(f)),this.gridStatus(f,t)!==!1&&(b=this.prefixes.add["grid-row-align"],b&&b.prefixes))return b.process(f,t)}else if(f.prop==="justify-self"){if(this.gridStatus(f,t)!==!1&&(b=this.prefixes.add["grid-column-align"],b&&b.prefixes))return b.process(f,t)}else if(f.prop==="place-self"){if(b=this.prefixes.add["place-self"],b&&b.prefixes&&this.gridStatus(f,t)!==!1)return b.process(f,t)}else if(b=this.prefixes.add[f.prop],b&&b.prefixes)return b.process(f,t)}),this.gridStatus(e,t)&&yA(e,this.disabled),e.walkDecls(f=>{if(this.disabledValue(f,t))return;let d=this.prefixes.unprefixed(f.prop),p=this.prefixes.values("add",d);if(Array.isArray(p))for(let m of p)m.process&&m.process(f,t);gA.save(this.prefixes,f)})}remove(e,t){let i=this.prefixes.remove["@resolution"];e.walkAtRules((n,a)=>{this.prefixes.remove[`@${n.name}`]?this.disabled(n,t)||n.parent.removeChild(a):n.name==="media"&&n.params.includes("-resolution")&&i&&i.clean(n)});for(let n of this.prefixes.remove.selectors)e.walkRules((a,s)=>{n.check(a)&&(this.disabled(a,t)||a.parent.removeChild(s))});return e.walkDecls((n,a)=>{if(this.disabled(n,t))return;let s=n.parent,o=this.prefixes.unprefixed(n.prop);if((n.prop==="transition"||n.prop==="transition-property")&&this.prefixes.transition.remove(n),this.prefixes.remove[n.prop]&&this.prefixes.remove[n.prop].remove){let u=this.prefixes.group(n).down(c=>this.prefixes.normalize(c.prop)===o);if(o==="flex-flow"&&(u=!0),n.prop==="-webkit-box-orient"){let c={"flex-direction":!0,"flex-flow":!0};if(!n.parent.some(f=>c[f.prop]))return}if(u&&!this.withHackValue(n)){n.raw("before").includes(` +`)&&this.reduceSpaces(n),s.removeChild(a);return}}for(let u of this.prefixes.values("remove",o)){if(!u.check||!u.check(n.value))continue;if(o=u.unprefixed,this.prefixes.group(n).down(f=>f.value.includes(o))){s.removeChild(a);return}}})}withHackValue(e){return e.prop==="-webkit-background-clip"&&e.value==="text"}disabledValue(e,t){return this.gridStatus(e,t)===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("grid")||this.prefixes.options.flexbox===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("flex")||e.type==="decl"&&e.prop==="content"?!0:this.disabled(e,t)}disabledDecl(e,t){if(this.gridStatus(e,t)===!1&&e.type==="decl"&&(e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.prefixes.options.flexbox===!1&&e.type==="decl"){let i=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||i.includes(e.prop))return!0}return this.disabled(e,t)}disabled(e,t){if(!e)return!1;if(e._autoprefixerDisabled!==void 0)return e._autoprefixerDisabled;if(e.parent){let n=e.prev();if(n&&n.type==="comment"&&vA.test(n.text))return e._autoprefixerDisabled=!0,e._autoprefixerSelfDisabled=!0,!0}let i=null;if(e.nodes){let n;e.each(a=>{a.type==="comment"&&/(!\s*)?autoprefixer:\s*(off|on)/i.test(a.text)&&(typeof n!="undefined"?t.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.",{node:a}):n=/on/i.test(a.text))}),n!==void 0&&(i=!n)}if(!e.nodes||i===null)if(e.parent){let n=this.disabled(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else i=!1;return e._autoprefixerDisabled=i,i}reduceSpaces(e){let t=!1;if(this.prefixes.group(e).up(()=>(t=!0,!0)),t)return;let i=e.raw("before").split(` +`),n=i[i.length-1].length,a=!1;this.prefixes.group(e).down(s=>{i=s.raw("before").split(` +`);let o=i.length-1;i[o].length>n&&(a===!1&&(a=i[o].length-n),i[o]=i[o].slice(0,-a),s.raws.before=i.join(` +`))})}displayType(e){for(let t of e.parent.nodes)if(t.prop==="display"){if(t.value.includes("flex"))return"flex";if(t.value.includes("grid"))return"grid"}return!1}gridStatus(e,t){if(!e)return!1;if(e._autoprefixerGridStatus!==void 0)return e._autoprefixerGridStatus;let i=null;if(e.nodes){let n;e.each(a=>{if(a.type==="comment"&&xA.test(a.text)){let s=/:\s*autoplace/i.test(a.text),o=/no-autoplace/i.test(a.text);typeof n!="undefined"?t.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.",{node:a}):s?n="autoplace":o?n=!0:n=/on/i.test(a.text)}}),n!==void 0&&(i=n)}if(e.type==="atrule"&&e.name==="supports"){let n=e.params;n.includes("grid")&&n.includes("auto")&&(i=!1)}if(!e.nodes||i===null)if(e.parent){let n=this.gridStatus(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?i=!1:i=n}else typeof this.prefixes.options.grid!="undefined"?i=this.prefixes.options.grid:typeof h.env.AUTOPREFIXER_GRID!="undefined"?h.env.AUTOPREFIXER_GRID==="autoplace"?i="autoplace":i=!0:i=!1;return e._autoprefixerGridStatus=i,i}};ug.exports=lg});var cg=v((jD,fg)=>{l();fg.exports={A:{A:{"2":"K E F G A B JC"},B:{"1":"C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 KC zB J K E F G A B C L M H N D O k l LC MC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l"},E:{"1":"G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC","2":"0 J K E F NC 5B OC PC QC"},F:{"1":"1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB","2":"G B C VC WC XC YC vB HC ZC"},G:{"1":"D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC","2":"F 5B aC IC bC cC dC eC"},H:{"1":"uC"},I:{"1":"I zC 0C","2":"zB J vC wC xC yC IC"},J:{"2":"E A"},K:{"1":"m","2":"A B C vB HC wB"},L:{"1":"I"},M:{"1":"uB"},N:{"2":"A B"},O:{"1":"xB"},P:{"1":"J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD"},Q:{"1":"7B"},R:{"1":"ED"},S:{"1":"FD GD"}},B:4,C:"CSS Feature Queries"}});var mg=v((VD,hg)=>{l();function pg(r){return r[r.length-1]}var dg={parse(r){let e=[""],t=[e];for(let i of r){if(i==="("){e=[""],pg(t).push(e),t.push(e);continue}if(i===")"){t.pop(),e=pg(t),e.push("");continue}e[e.length-1]+=i}return t[0]},stringify(r){let e="";for(let t of r){if(typeof t=="object"){e+=`(${dg.stringify(t)})`;continue}e+=t}return e}};hg.exports=dg});var vg=v((UD,bg)=>{l();var CA=cg(),{feature:AA}=(Gn(),Wn),{parse:_A}=ge(),OA=dt(),al=mg(),EA=ke(),TA=le(),gg=AA(CA),yg=[];for(let r in gg.stats){let e=gg.stats[r];for(let t in e){let i=e[t];/y/.test(i)&&yg.push(r+" "+t)}}var wg=class{constructor(e,t){this.Prefixes=e,this.all=t}prefixer(){if(this.prefixerCache)return this.prefixerCache;let e=this.all.browsers.selected.filter(i=>yg.includes(i)),t=new OA(this.all.browsers.data,e,this.all.options);return this.prefixerCache=new this.Prefixes(this.all.data,t,this.all.options),this.prefixerCache}parse(e){let t=e.split(":"),i=t[0],n=t[1];return n||(n=""),[i.trim(),n.trim()]}virtual(e){let[t,i]=this.parse(e),n=_A("a{}").first;return n.append({prop:t,value:i,raws:{before:""}}),n}prefixed(e){let t=this.virtual(e);if(this.disabled(t.first))return t.nodes;let i={warn:()=>null},n=this.prefixer().add[t.first.prop];n&&n.process&&n.process(t.first,i);for(let a of t.nodes){for(let s of this.prefixer().values("add",t.first.prop))s.process(a);EA.save(this.all,a)}return t.nodes}isNot(e){return typeof e=="string"&&/not\s*/i.test(e)}isOr(e){return typeof e=="string"&&/\s*or\s*/i.test(e)}isProp(e){return typeof e=="object"&&e.length===1&&typeof e[0]=="string"}isHack(e,t){return!new RegExp(`(\\(|\\s)${TA.escapeRegexp(t)}:`).test(e)}toRemove(e,t){let[i,n]=this.parse(e),a=this.all.unprefixed(i),s=this.all.cleaner();if(s.remove[i]&&s.remove[i].remove&&!this.isHack(t,a))return!0;for(let o of s.values("remove",a))if(o.check(n))return!0;return!1}remove(e,t){let i=0;for(;itypeof t!="object"?t:t.length===1&&typeof t[0]=="object"?this.cleanBrackets(t[0]):this.cleanBrackets(t))}convert(e){let t=[""];for(let i of e)t.push([`${i.prop}: ${i.value}`]),t.push(" or ");return t[t.length-1]="",t}normalize(e){if(typeof e!="object")return e;if(e=e.filter(t=>t!==""),typeof e[0]=="string"){let t=e[0].trim();if(t.includes(":")||t==="selector"||t==="not selector")return[al.stringify(e)]}return e.map(t=>this.normalize(t))}add(e,t){return e.map(i=>{if(this.isProp(i)){let n=this.prefixed(i[0]);return n.length>1?this.convert(n):i}return typeof i=="object"?this.add(i,t):i})}process(e){let t=al.parse(e.params);t=this.normalize(t),t=this.remove(t,e.params),t=this.add(t,e.params),t=this.cleanBrackets(t),e.params=al.stringify(t)}disabled(e){if(!this.all.options.grid&&(e.prop==="display"&&e.value.includes("grid")||e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.all.options.flexbox===!1){if(e.prop==="display"&&e.value.includes("flex"))return!0;let t=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||t.includes(e.prop))return!0}return!1}};bg.exports=wg});var Sg=v((WD,kg)=>{l();var xg=class{constructor(e,t){this.prefix=t,this.prefixed=e.prefixed(this.prefix),this.regexp=e.regexp(this.prefix),this.prefixeds=e.possible().map(i=>[e.prefixed(i),e.regexp(i)]),this.unprefixed=e.name,this.nameRegexp=e.regexp()}isHack(e){let t=e.parent.index(e)+1,i=e.parent.nodes;for(;t{l();var{list:PA}=ge(),DA=Sg(),IA=Ht(),qA=dt(),RA=le(),Cg=class extends IA{constructor(e,t,i){super(e,t,i);this.regexpCache=new Map}check(e){return e.selector.includes(this.name)?!!e.selector.match(this.regexp()):!1}prefixed(e){return this.name.replace(/^(\W*)/,`$1${e}`)}regexp(e){if(!this.regexpCache.has(e)){let t=e?this.prefixed(e):this.name;this.regexpCache.set(e,new RegExp(`(^|[^:"'=])${RA.escapeRegexp(t)}`,"gi"))}return this.regexpCache.get(e)}possible(){return qA.prefixes()}prefixeds(e){if(e._autoprefixerPrefixeds){if(e._autoprefixerPrefixeds[this.name])return e._autoprefixerPrefixeds}else e._autoprefixerPrefixeds={};let t={};if(e.selector.includes(",")){let n=PA.comma(e.selector).filter(a=>a.includes(this.name));for(let a of this.possible())t[a]=n.map(s=>this.replace(s,a)).join(", ")}else for(let i of this.possible())t[i]=this.replace(e.selector,i);return e._autoprefixerPrefixeds[this.name]=t,e._autoprefixerPrefixeds}already(e,t,i){let n=e.parent.index(e)-1;for(;n>=0;){let a=e.parent.nodes[n];if(a.type!=="rule")return!1;let s=!1;for(let o in t[this.name]){let u=t[this.name][o];if(a.selector===u){if(i===o)return!0;s=!0;break}}if(!s)return!1;n-=1}return!1}replace(e,t){return e.replace(this.regexp(),`$1${this.prefixed(t)}`)}add(e,t){let i=this.prefixeds(e);if(this.already(e,i,t))return;let n=this.clone(e,{selector:i[this.name][t]});e.parent.insertBefore(e,n)}old(e){return new DA(this,e)}};Ag.exports=Cg});var Eg=v((HD,Og)=>{l();var MA=Ht(),_g=class extends MA{add(e,t){let i=t+e.name;if(e.parent.some(s=>s.name===i&&s.params===e.params))return;let a=this.clone(e,{name:i});return e.parent.insertBefore(e,a)}process(e){let t=this.parentPrefix(e);for(let i of this.prefixes)(!t||t===i)&&this.add(e,i)}};Og.exports=_g});var Pg=v((YD,Tg)=>{l();var BA=Jt(),ol=class extends BA{prefixed(e){return e==="-webkit-"?":-webkit-full-screen":e==="-moz-"?":-moz-full-screen":`:${e}fullscreen`}};ol.names=[":fullscreen"];Tg.exports=ol});var Ig=v((QD,Dg)=>{l();var FA=Jt(),ll=class extends FA{possible(){return super.possible().concat(["-moz- old","-ms- old"])}prefixed(e){return e==="-webkit-"?"::-webkit-input-placeholder":e==="-ms-"?"::-ms-input-placeholder":e==="-ms- old"?":-ms-input-placeholder":e==="-moz- old"?":-moz-placeholder":`::${e}placeholder`}};ll.names=["::placeholder"];Dg.exports=ll});var Rg=v((JD,qg)=>{l();var LA=Jt(),ul=class extends LA{prefixed(e){return e==="-ms-"?":-ms-input-placeholder":`:${e}placeholder-shown`}};ul.names=[":placeholder-shown"];qg.exports=ul});var Bg=v((XD,Mg)=>{l();var NA=Jt(),$A=le(),fl=class extends NA{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=$A.uniq(this.prefixes.map(n=>"-webkit-")))}prefixed(e){return e==="-webkit-"?"::-webkit-file-upload-button":`::${e}file-selector-button`}};fl.names=["::file-selector-button"];Mg.exports=fl});var pe=v((KD,Fg)=>{l();Fg.exports=function(r){let e;return r==="-webkit- 2009"||r==="-moz-"?e=2009:r==="-ms-"?e=2012:r==="-webkit-"&&(e="final"),r==="-webkit- 2009"&&(r="-webkit-"),[e,r]}});var zg=v((ZD,$g)=>{l();var Lg=ge().list,Ng=pe(),zA=M(),Xt=class extends zA{prefixed(e,t){let i;return[i,t]=Ng(t),i===2009?t+"box-flex":super.prefixed(e,t)}normalize(){return"flex"}set(e,t){let i=Ng(t)[0];if(i===2009)return e.value=Lg.space(e.value)[0],e.value=Xt.oldValues[e.value]||e.value,super.set(e,t);if(i===2012){let n=Lg.space(e.value);n.length===3&&n[2]==="0"&&(e.value=n.slice(0,2).concat("0px").join(" "))}return super.set(e,t)}};Xt.names=["flex","box-flex"];Xt.oldValues={auto:"1",none:"0"};$g.exports=Xt});var Ug=v((eI,Vg)=>{l();var jg=pe(),jA=M(),cl=class extends jA{prefixed(e,t){let i;return[i,t]=jg(t),i===2009?t+"box-ordinal-group":i===2012?t+"flex-order":super.prefixed(e,t)}normalize(){return"order"}set(e,t){return jg(t)[0]===2009&&/\d/.test(e.value)?(e.value=(parseInt(e.value)+1).toString(),super.set(e,t)):super.set(e,t)}};cl.names=["order","flex-order","box-ordinal-group"];Vg.exports=cl});var Gg=v((tI,Wg)=>{l();var VA=M(),pl=class extends VA{check(e){let t=e.value;return!t.toLowerCase().includes("alpha(")&&!t.includes("DXImageTransform.Microsoft")&&!t.includes("data:image/svg+xml")}};pl.names=["filter"];Wg.exports=pl});var Yg=v((rI,Hg)=>{l();var UA=M(),dl=class extends UA{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=this.clone(e),s=e.prop.replace(/end$/,"start"),o=t+e.prop.replace(/end$/,"span");if(!e.parent.some(u=>u.prop===o)){if(a.prop=o,e.value.includes("span"))a.value=e.value.replace(/span\s/i,"");else{let u;if(e.parent.walkDecls(s,c=>{u=c}),u){let c=Number(e.value)-Number(u.value)+"";a.value=c}else e.warn(n,`Can not prefix ${e.prop} (${s} is not found)`)}e.cloneBefore(a)}}};dl.names=["grid-row-end","grid-column-end"];Hg.exports=dl});var Jg=v((iI,Qg)=>{l();var WA=M(),hl=class extends WA{check(e){return!e.value.split(/\s+/).some(t=>{let i=t.toLowerCase();return i==="reverse"||i==="alternate-reverse"})}};hl.names=["animation","animation-direction"];Qg.exports=hl});var Kg=v((nI,Xg)=>{l();var GA=pe(),HA=M(),ml=class extends HA{insert(e,t,i){let n;if([n,t]=GA(t),n!==2009)return super.insert(e,t,i);let a=e.value.split(/\s+/).filter(d=>d!=="wrap"&&d!=="nowrap"&&"wrap-reverse");if(a.length===0||e.parent.some(d=>d.prop===t+"box-orient"||d.prop===t+"box-direction"))return;let o=a[0],u=o.includes("row")?"horizontal":"vertical",c=o.includes("reverse")?"reverse":"normal",f=this.clone(e);return f.prop=t+"box-orient",f.value=u,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,f),f=this.clone(e),f.prop=t+"box-direction",f.value=c,this.needCascade(e)&&(f.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,f)}};ml.names=["flex-flow","box-direction","box-orient"];Xg.exports=ml});var ey=v((sI,Zg)=>{l();var YA=pe(),QA=M(),gl=class extends QA{normalize(){return"flex"}prefixed(e,t){let i;return[i,t]=YA(t),i===2009?t+"box-flex":i===2012?t+"flex-positive":super.prefixed(e,t)}};gl.names=["flex-grow","flex-positive"];Zg.exports=gl});var ry=v((aI,ty)=>{l();var JA=pe(),XA=M(),yl=class extends XA{set(e,t){if(JA(t)[0]!==2009)return super.set(e,t)}};yl.names=["flex-wrap"];ty.exports=yl});var ny=v((oI,iy)=>{l();var KA=M(),Kt=mt(),wl=class extends KA{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=Kt.parse(e),[s,o]=Kt.translate(a,0,2),[u,c]=Kt.translate(a,1,3);[["grid-row",s],["grid-row-span",o],["grid-column",u],["grid-column-span",c]].forEach(([f,d])=>{Kt.insertDecl(e,f,d)}),Kt.warnTemplateSelectorNotFound(e,n),Kt.warnIfGridRowColumnExists(e,n)}};wl.names=["grid-area"];iy.exports=wl});var ay=v((lI,sy)=>{l();var ZA=M(),oi=mt(),bl=class extends ZA{insert(e,t,i){if(t!=="-ms-")return super.insert(e,t,i);if(e.parent.some(s=>s.prop==="-ms-grid-row-align"))return;let[[n,a]]=oi.parse(e);a?(oi.insertDecl(e,"grid-row-align",n),oi.insertDecl(e,"grid-column-align",a)):(oi.insertDecl(e,"grid-row-align",n),oi.insertDecl(e,"grid-column-align",n))}};bl.names=["place-self"];sy.exports=bl});var ly=v((uI,oy)=>{l();var e5=M(),vl=class extends e5{check(e){let t=e.value;return!t.includes("/")||t.includes("span")}normalize(e){return e.replace("-start","")}prefixed(e,t){let i=super.prefixed(e,t);return t==="-ms-"&&(i=i.replace("-start","")),i}};vl.names=["grid-row-start","grid-column-start"];oy.exports=vl});var cy=v((fI,fy)=>{l();var uy=pe(),t5=M(),Zt=class extends t5{check(e){return e.parent&&!e.parent.some(t=>t.prop&&t.prop.startsWith("grid-"))}prefixed(e,t){let i;return[i,t]=uy(t),i===2012?t+"flex-item-align":super.prefixed(e,t)}normalize(){return"align-self"}set(e,t){let i=uy(t)[0];if(i===2012)return e.value=Zt.oldValues[e.value]||e.value,super.set(e,t);if(i==="final")return super.set(e,t)}};Zt.names=["align-self","flex-item-align"];Zt.oldValues={"flex-end":"end","flex-start":"start"};fy.exports=Zt});var dy=v((cI,py)=>{l();var r5=M(),i5=le(),xl=class extends r5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=i5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};xl.names=["appearance"];py.exports=xl});var gy=v((pI,my)=>{l();var hy=pe(),n5=M(),kl=class extends n5{normalize(){return"flex-basis"}prefixed(e,t){let i;return[i,t]=hy(t),i===2012?t+"flex-preferred-size":super.prefixed(e,t)}set(e,t){let i;if([i,t]=hy(t),i===2012||i==="final")return super.set(e,t)}};kl.names=["flex-basis","flex-preferred-size"];my.exports=kl});var wy=v((dI,yy)=>{l();var s5=M(),Sl=class extends s5{normalize(){return this.name.replace("box-image","border")}prefixed(e,t){let i=super.prefixed(e,t);return t==="-webkit-"&&(i=i.replace("border","box-image")),i}};Sl.names=["mask-border","mask-border-source","mask-border-slice","mask-border-width","mask-border-outset","mask-border-repeat","mask-box-image","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat"];yy.exports=Sl});var vy=v((hI,by)=>{l();var a5=M(),Ne=class extends a5{insert(e,t,i){let n=e.prop==="mask-composite",a;n?a=e.value.split(","):a=e.value.match(Ne.regexp)||[],a=a.map(c=>c.trim()).filter(c=>c);let s=a.length,o;if(s&&(o=this.clone(e),o.value=a.map(c=>Ne.oldValues[c]||c).join(", "),a.includes("intersect")&&(o.value+=", xor"),o.prop=t+"mask-composite"),n)return s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,o)):void 0;let u=this.clone(e);return u.prop=t+u.prop,s&&(u.value=u.value.replace(Ne.regexp,"")),this.needCascade(e)&&(u.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,u),s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,o)):e}};Ne.names=["mask","mask-composite"];Ne.oldValues={add:"source-over",subtract:"source-out",intersect:"source-in",exclude:"xor"};Ne.regexp=new RegExp(`\\s+(${Object.keys(Ne.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`,"ig");by.exports=Ne});var Sy=v((mI,ky)=>{l();var xy=pe(),o5=M(),er=class extends o5{prefixed(e,t){let i;return[i,t]=xy(t),i===2009?t+"box-align":i===2012?t+"flex-align":super.prefixed(e,t)}normalize(){return"align-items"}set(e,t){let i=xy(t)[0];return(i===2009||i===2012)&&(e.value=er.oldValues[e.value]||e.value),super.set(e,t)}};er.names=["align-items","flex-align","box-align"];er.oldValues={"flex-end":"end","flex-start":"start"};ky.exports=er});var Ay=v((gI,Cy)=>{l();var l5=M(),Cl=class extends l5{set(e,t){return t==="-ms-"&&e.value==="contain"&&(e.value="element"),super.set(e,t)}insert(e,t,i){if(!(e.value==="all"&&t==="-ms-"))return super.insert(e,t,i)}};Cl.names=["user-select"];Cy.exports=Cl});var Ey=v((yI,Oy)=>{l();var _y=pe(),u5=M(),Al=class extends u5{normalize(){return"flex-shrink"}prefixed(e,t){let i;return[i,t]=_y(t),i===2012?t+"flex-negative":super.prefixed(e,t)}set(e,t){let i;if([i,t]=_y(t),i===2012||i==="final")return super.set(e,t)}};Al.names=["flex-shrink","flex-negative"];Oy.exports=Al});var Py=v((wI,Ty)=>{l();var f5=M(),_l=class extends f5{prefixed(e,t){return`${t}column-${e}`}normalize(e){return e.includes("inside")?"break-inside":e.includes("before")?"break-before":"break-after"}set(e,t){return(e.prop==="break-inside"&&e.value==="avoid-column"||e.value==="avoid-page")&&(e.value="avoid"),super.set(e,t)}insert(e,t,i){if(e.prop!=="break-inside")return super.insert(e,t,i);if(!(/region/i.test(e.value)||/page/i.test(e.value)))return super.insert(e,t,i)}};_l.names=["break-inside","page-break-inside","column-break-inside","break-before","page-break-before","column-break-before","break-after","page-break-after","column-break-after"];Ty.exports=_l});var Iy=v((bI,Dy)=>{l();var c5=M(),Ol=class extends c5{prefixed(e,t){return t+"print-color-adjust"}normalize(){return"color-adjust"}};Ol.names=["color-adjust","print-color-adjust"];Dy.exports=Ol});var Ry=v((vI,qy)=>{l();var p5=M(),tr=class extends p5{insert(e,t,i){if(t==="-ms-"){let n=this.set(this.clone(e),t);this.needCascade(e)&&(n.raws.before=this.calcBefore(i,e,t));let a="ltr";return e.parent.nodes.forEach(s=>{s.prop==="direction"&&(s.value==="rtl"||s.value==="ltr")&&(a=s.value)}),n.value=tr.msValues[a][e.value]||e.value,e.parent.insertBefore(e,n)}return super.insert(e,t,i)}};tr.names=["writing-mode"];tr.msValues={ltr:{"horizontal-tb":"lr-tb","vertical-rl":"tb-rl","vertical-lr":"tb-lr"},rtl:{"horizontal-tb":"rl-tb","vertical-rl":"bt-rl","vertical-lr":"bt-lr"}};qy.exports=tr});var By=v((xI,My)=>{l();var d5=M(),El=class extends d5{set(e,t){return e.value=e.value.replace(/\s+fill(\s)/,"$1"),super.set(e,t)}};El.names=["border-image"];My.exports=El});var Ny=v((kI,Ly)=>{l();var Fy=pe(),h5=M(),rr=class extends h5{prefixed(e,t){let i;return[i,t]=Fy(t),i===2012?t+"flex-line-pack":super.prefixed(e,t)}normalize(){return"align-content"}set(e,t){let i=Fy(t)[0];if(i===2012)return e.value=rr.oldValues[e.value]||e.value,super.set(e,t);if(i==="final")return super.set(e,t)}};rr.names=["align-content","flex-line-pack"];rr.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};Ly.exports=rr});var zy=v((SI,$y)=>{l();var m5=M(),Se=class extends m5{prefixed(e,t){return t==="-moz-"?t+(Se.toMozilla[e]||e):super.prefixed(e,t)}normalize(e){return Se.toNormal[e]||e}};Se.names=["border-radius"];Se.toMozilla={};Se.toNormal={};for(let r of["top","bottom"])for(let e of["left","right"]){let t=`border-${r}-${e}-radius`,i=`border-radius-${r}${e}`;Se.names.push(t),Se.names.push(i),Se.toMozilla[t]=i,Se.toNormal[i]=t}$y.exports=Se});var Vy=v((CI,jy)=>{l();var g5=M(),Tl=class extends g5{prefixed(e,t){return e.includes("-start")?t+e.replace("-block-start","-before"):t+e.replace("-block-end","-after")}normalize(e){return e.includes("-before")?e.replace("-before","-block-start"):e.replace("-after","-block-end")}};Tl.names=["border-block-start","border-block-end","margin-block-start","margin-block-end","padding-block-start","padding-block-end","border-before","border-after","margin-before","margin-after","padding-before","padding-after"];jy.exports=Tl});var Wy=v((AI,Uy)=>{l();var y5=M(),{parseTemplate:w5,warnMissedAreas:b5,getGridGap:v5,warnGridGap:x5,inheritGridGap:k5}=mt(),Pl=class extends y5{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);if(e.parent.some(m=>m.prop==="-ms-grid-rows"))return;let a=v5(e),s=k5(e,a),{rows:o,columns:u,areas:c}=w5({decl:e,gap:s||a}),f=Object.keys(c).length>0,d=Boolean(o),p=Boolean(u);return x5({gap:a,hasColumns:p,decl:e,result:n}),b5(c,e,n),(d&&p||f)&&e.cloneBefore({prop:"-ms-grid-rows",value:o,raws:{}}),p&&e.cloneBefore({prop:"-ms-grid-columns",value:u,raws:{}}),e}};Pl.names=["grid-template"];Uy.exports=Pl});var Hy=v((_I,Gy)=>{l();var S5=M(),Dl=class extends S5{prefixed(e,t){return t+e.replace("-inline","")}normalize(e){return e.replace(/(margin|padding|border)-(start|end)/,"$1-inline-$2")}};Dl.names=["border-inline-start","border-inline-end","margin-inline-start","margin-inline-end","padding-inline-start","padding-inline-end","border-start","border-end","margin-start","margin-end","padding-start","padding-end"];Gy.exports=Dl});var Qy=v((OI,Yy)=>{l();var C5=M(),Il=class extends C5{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-row-align"}normalize(){return"align-self"}};Il.names=["grid-row-align"];Yy.exports=Il});var Xy=v((EI,Jy)=>{l();var A5=M(),ir=class extends A5{keyframeParents(e){let{parent:t}=e;for(;t;){if(t.type==="atrule"&&t.name==="keyframes")return!0;({parent:t}=t)}return!1}contain3d(e){if(e.prop==="transform-origin")return!1;for(let t of ir.functions3d)if(e.value.includes(`${t}(`))return!0;return!1}set(e,t){return e=super.set(e,t),t==="-ms-"&&(e.value=e.value.replace(/rotatez/gi,"rotate")),e}insert(e,t,i){if(t==="-ms-"){if(!this.contain3d(e)&&!this.keyframeParents(e))return super.insert(e,t,i)}else if(t==="-o-"){if(!this.contain3d(e))return super.insert(e,t,i)}else return super.insert(e,t,i)}};ir.names=["transform","transform-origin"];ir.functions3d=["matrix3d","translate3d","translateZ","scale3d","scaleZ","rotate3d","rotateX","rotateY","perspective"];Jy.exports=ir});var ew=v((TI,Zy)=>{l();var Ky=pe(),_5=M(),ql=class extends _5{normalize(){return"flex-direction"}insert(e,t,i){let n;if([n,t]=Ky(t),n!==2009)return super.insert(e,t,i);if(e.parent.some(f=>f.prop===t+"box-orient"||f.prop===t+"box-direction"))return;let s=e.value,o,u;s==="inherit"||s==="initial"||s==="unset"?(o=s,u=s):(o=s.includes("row")?"horizontal":"vertical",u=s.includes("reverse")?"reverse":"normal");let c=this.clone(e);return c.prop=t+"box-orient",c.value=o,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,c),c=this.clone(e),c.prop=t+"box-direction",c.value=u,this.needCascade(e)&&(c.raws.before=this.calcBefore(i,e,t)),e.parent.insertBefore(e,c)}old(e,t){let i;return[i,t]=Ky(t),i===2009?[t+"box-orient",t+"box-direction"]:super.old(e,t)}};ql.names=["flex-direction","box-direction","box-orient"];Zy.exports=ql});var rw=v((PI,tw)=>{l();var O5=M(),Rl=class extends O5{check(e){return e.value==="pixelated"}prefixed(e,t){return t==="-ms-"?"-ms-interpolation-mode":super.prefixed(e,t)}set(e,t){return t!=="-ms-"?super.set(e,t):(e.prop="-ms-interpolation-mode",e.value="nearest-neighbor",e)}normalize(){return"image-rendering"}process(e,t){return super.process(e,t)}};Rl.names=["image-rendering","interpolation-mode"];tw.exports=Rl});var nw=v((DI,iw)=>{l();var E5=M(),T5=le(),Ml=class extends E5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=T5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};Ml.names=["backdrop-filter"];iw.exports=Ml});var aw=v((II,sw)=>{l();var P5=M(),D5=le(),Bl=class extends P5{constructor(e,t,i){super(e,t,i);this.prefixes&&(this.prefixes=D5.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}check(e){return e.value.toLowerCase()==="text"}};Bl.names=["background-clip"];sw.exports=Bl});var lw=v((qI,ow)=>{l();var I5=M(),q5=["none","underline","overline","line-through","blink","inherit","initial","unset"],Fl=class extends I5{check(e){return e.value.split(/\s+/).some(t=>!q5.includes(t))}};Fl.names=["text-decoration"];ow.exports=Fl});var cw=v((RI,fw)=>{l();var uw=pe(),R5=M(),nr=class extends R5{prefixed(e,t){let i;return[i,t]=uw(t),i===2009?t+"box-pack":i===2012?t+"flex-pack":super.prefixed(e,t)}normalize(){return"justify-content"}set(e,t){let i=uw(t)[0];if(i===2009||i===2012){let n=nr.oldValues[e.value]||e.value;if(e.value=n,i!==2009||n!=="distribute")return super.set(e,t)}else if(i==="final")return super.set(e,t)}};nr.names=["justify-content","flex-pack","box-pack"];nr.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};fw.exports=nr});var dw=v((MI,pw)=>{l();var M5=M(),Ll=class extends M5{set(e,t){let i=e.value.toLowerCase();return t==="-webkit-"&&!i.includes(" ")&&i!=="contain"&&i!=="cover"&&(e.value=e.value+" "+e.value),super.set(e,t)}};Ll.names=["background-size"];pw.exports=Ll});var mw=v((BI,hw)=>{l();var B5=M(),Nl=mt(),$l=class extends B5{insert(e,t,i){if(t!=="-ms-")return super.insert(e,t,i);let n=Nl.parse(e),[a,s]=Nl.translate(n,0,1);n[0]&&n[0].includes("span")&&(s=n[0].join("").replace(/\D/g,"")),[[e.prop,a],[`${e.prop}-span`,s]].forEach(([u,c])=>{Nl.insertDecl(e,u,c)})}};$l.names=["grid-row","grid-column"];hw.exports=$l});var ww=v((FI,yw)=>{l();var F5=M(),{prefixTrackProp:gw,prefixTrackValue:L5,autoplaceGridItems:N5,getGridGap:$5,inheritGridGap:z5}=mt(),j5=sl(),zl=class extends F5{prefixed(e,t){return t==="-ms-"?gw({prop:e,prefix:t}):super.prefixed(e,t)}normalize(e){return e.replace(/^grid-(rows|columns)/,"grid-template-$1")}insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let{parent:a,prop:s,value:o}=e,u=s.includes("rows"),c=s.includes("columns"),f=a.some(k=>k.prop==="grid-template"||k.prop==="grid-template-areas");if(f&&u)return!1;let d=new j5({options:{}}),p=d.gridStatus(a,n),m=$5(e);m=z5(e,m)||m;let b=u?m.row:m.column;(p==="no-autoplace"||p===!0)&&!f&&(b=null);let x=L5({value:o,gap:b});e.cloneBefore({prop:gw({prop:s,prefix:t}),value:x});let y=a.nodes.find(k=>k.prop==="grid-auto-flow"),w="row";if(y&&!d.disabled(y,n)&&(w=y.value.trim()),p==="autoplace"){let k=a.nodes.find(_=>_.prop==="grid-template-rows");if(!k&&f)return;if(!k&&!f){e.warn(n,"Autoplacement does not work without grid-template-rows property");return}!a.nodes.find(_=>_.prop==="grid-template-columns")&&!f&&e.warn(n,"Autoplacement does not work without grid-template-columns property"),c&&!f&&N5(e,n,m,w)}}};zl.names=["grid-template-rows","grid-template-columns","grid-rows","grid-columns"];yw.exports=zl});var vw=v((LI,bw)=>{l();var V5=M(),jl=class extends V5{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-column-align"}normalize(){return"justify-self"}};jl.names=["grid-column-align"];bw.exports=jl});var kw=v((NI,xw)=>{l();var U5=M(),Vl=class extends U5{prefixed(e,t){return t+"scroll-chaining"}normalize(){return"overscroll-behavior"}set(e,t){return e.value==="auto"?e.value="chained":(e.value==="none"||e.value==="contain")&&(e.value="none"),super.set(e,t)}};Vl.names=["overscroll-behavior","scroll-chaining"];xw.exports=Vl});var Aw=v(($I,Cw)=>{l();var W5=M(),{parseGridAreas:G5,warnMissedAreas:H5,prefixTrackProp:Y5,prefixTrackValue:Sw,getGridGap:Q5,warnGridGap:J5,inheritGridGap:X5}=mt();function K5(r){return r.trim().slice(1,-1).split(/["']\s*["']?/g)}var Ul=class extends W5{insert(e,t,i,n){if(t!=="-ms-")return super.insert(e,t,i);let a=!1,s=!1,o=e.parent,u=Q5(e);u=X5(e,u)||u,o.walkDecls(/-ms-grid-rows/,d=>d.remove()),o.walkDecls(/grid-template-(rows|columns)/,d=>{if(d.prop==="grid-template-rows"){s=!0;let{prop:p,value:m}=d;d.cloneBefore({prop:Y5({prop:p,prefix:t}),value:Sw({value:m,gap:u.row})})}else a=!0});let c=K5(e.value);a&&!s&&u.row&&c.length>1&&e.cloneBefore({prop:"-ms-grid-rows",value:Sw({value:`repeat(${c.length}, auto)`,gap:u.row}),raws:{}}),J5({gap:u,hasColumns:a,decl:e,result:n});let f=G5({rows:c,gap:u});return H5(f,e,n),e}};Ul.names=["grid-template-areas"];Cw.exports=Ul});var Ow=v((zI,_w)=>{l();var Z5=M(),Wl=class extends Z5{set(e,t){return t==="-webkit-"&&(e.value=e.value.replace(/\s*(right|left)\s*/i,"")),super.set(e,t)}};Wl.names=["text-emphasis-position"];_w.exports=Wl});var Tw=v((jI,Ew)=>{l();var e_=M(),Gl=class extends e_{set(e,t){return e.prop==="text-decoration-skip-ink"&&e.value==="auto"?(e.prop=t+"text-decoration-skip",e.value="ink",e):super.set(e,t)}};Gl.names=["text-decoration-skip-ink","text-decoration-skip"];Ew.exports=Gl});var Mw=v((VI,Rw)=>{l();"use strict";Rw.exports={wrap:Pw,limit:Dw,validate:Iw,test:Hl,curry:t_,name:qw};function Pw(r,e,t){var i=e-r;return((t-r)%i+i)%i+r}function Dw(r,e,t){return Math.max(r,Math.min(e,t))}function Iw(r,e,t,i,n){if(!Hl(r,e,t,i,n))throw new Error(t+" is outside of range ["+r+","+e+")");return t}function Hl(r,e,t,i,n){return!(te||n&&t===e||i&&t===r)}function qw(r,e,t,i){return(t?"(":"[")+r+","+e+(i?")":"]")}function t_(r,e,t,i){var n=qw.bind(null,r,e,t,i);return{wrap:Pw.bind(null,r,e),limit:Dw.bind(null,r,e),validate:function(a){return Iw(r,e,a,t,i)},test:function(a){return Hl(r,e,a,t,i)},toString:n,name:n}}});var Lw=v((UI,Fw)=>{l();var Yl=Kn(),r_=Mw(),i_=Qt(),n_=ke(),s_=le(),Bw=/top|left|right|bottom/gi,Qe=class extends n_{replace(e,t){let i=Yl(e);for(let n of i.nodes)if(n.type==="function"&&n.value===this.name)if(n.nodes=this.newDirection(n.nodes),n.nodes=this.normalize(n.nodes),t==="-webkit- old"){if(!this.oldWebkit(n))return!1}else n.nodes=this.convertDirection(n.nodes),n.value=t+n.value;return i.toString()}replaceFirst(e,...t){return t.map(n=>n===" "?{type:"space",value:n}:{type:"word",value:n}).concat(e.slice(1))}normalizeUnit(e,t){return`${parseFloat(e)/t*360}deg`}normalize(e){if(!e[0])return e;if(/-?\d+(.\d+)?grad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,400);else if(/-?\d+(.\d+)?rad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,2*Math.PI);else if(/-?\d+(.\d+)?turn/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,1);else if(e[0].value.includes("deg")){let t=parseFloat(e[0].value);t=r_.wrap(0,360,t),e[0].value=`${t}deg`}return e[0].value==="0deg"?e=this.replaceFirst(e,"to"," ","top"):e[0].value==="90deg"?e=this.replaceFirst(e,"to"," ","right"):e[0].value==="180deg"?e=this.replaceFirst(e,"to"," ","bottom"):e[0].value==="270deg"&&(e=this.replaceFirst(e,"to"," ","left")),e}newDirection(e){if(e[0].value==="to"||(Bw.lastIndex=0,!Bw.test(e[0].value)))return e;e.unshift({type:"word",value:"to"},{type:"space",value:" "});for(let t=2;t0&&(e[0].value==="to"?this.fixDirection(e):e[0].value.includes("deg")?this.fixAngle(e):this.isRadial(e)&&this.fixRadial(e)),e}fixDirection(e){e.splice(0,2);for(let t of e){if(t.type==="div")break;t.type==="word"&&(t.value=this.revertDirection(t.value))}}fixAngle(e){let t=e[0].value;t=parseFloat(t),t=Math.abs(450-t)%360,t=this.roundFloat(t,3),e[0].value=`${t}deg`}fixRadial(e){let t=[],i=[],n,a,s,o,u;for(o=0;o{l();var a_=Qt(),o_=ke();function Nw(r){return new RegExp(`(^|[\\s,(])(${r}($|[\\s),]))`,"gi")}var Ql=class extends o_{regexp(){return this.regexpCache||(this.regexpCache=Nw(this.name)),this.regexpCache}isStretch(){return this.name==="stretch"||this.name==="fill"||this.name==="fill-available"}replace(e,t){return t==="-moz-"&&this.isStretch()?e.replace(this.regexp(),"$1-moz-available$3"):t==="-webkit-"&&this.isStretch()?e.replace(this.regexp(),"$1-webkit-fill-available$3"):super.replace(e,t)}old(e){let t=e+this.name;return this.isStretch()&&(e==="-moz-"?t="-moz-available":e==="-webkit-"&&(t="-webkit-fill-available")),new a_(this.name,t,t,Nw(t))}add(e,t){if(!(e.prop.includes("grid")&&t!=="-webkit-"))return super.add(e,t)}};Ql.names=["max-content","min-content","fit-content","fill","fill-available","stretch"];$w.exports=Ql});var Uw=v((GI,Vw)=>{l();var jw=Qt(),l_=ke(),Jl=class extends l_{replace(e,t){return t==="-webkit-"?e.replace(this.regexp(),"$1-webkit-optimize-contrast"):t==="-moz-"?e.replace(this.regexp(),"$1-moz-crisp-edges"):super.replace(e,t)}old(e){return e==="-webkit-"?new jw(this.name,"-webkit-optimize-contrast"):e==="-moz-"?new jw(this.name,"-moz-crisp-edges"):super.old(e)}};Jl.names=["pixelated"];Vw.exports=Jl});var Gw=v((HI,Ww)=>{l();var u_=ke(),Xl=class extends u_{replace(e,t){let i=super.replace(e,t);return t==="-webkit-"&&(i=i.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi,"url($1)$2")),i}};Xl.names=["image-set"];Ww.exports=Xl});var Yw=v((YI,Hw)=>{l();var f_=ge().list,c_=ke(),Kl=class extends c_{replace(e,t){return f_.space(e).map(i=>{if(i.slice(0,+this.name.length+1)!==this.name+"(")return i;let n=i.lastIndexOf(")"),a=i.slice(n+1),s=i.slice(this.name.length+1,n);if(t==="-webkit-"){let o=s.match(/\d*.?\d+%?/);o?(s=s.slice(o[0].length).trim(),s+=`, ${o[0]}`):s+=", 0.5"}return t+this.name+"("+s+")"+a}).join(" ")}};Kl.names=["cross-fade"];Hw.exports=Kl});var Jw=v((QI,Qw)=>{l();var p_=pe(),d_=Qt(),h_=ke(),Zl=class extends h_{constructor(e,t){super(e,t);e==="display-flex"&&(this.name="flex")}check(e){return e.prop==="display"&&e.value===this.name}prefixed(e){let t,i;return[t,e]=p_(e),t===2009?this.name==="flex"?i="box":i="inline-box":t===2012?this.name==="flex"?i="flexbox":i="inline-flexbox":t==="final"&&(i=this.name),e+i}replace(e,t){return this.prefixed(t)}old(e){let t=this.prefixed(e);if(!!t)return new d_(this.name,t)}};Zl.names=["display-flex","inline-flex"];Qw.exports=Zl});var Kw=v((JI,Xw)=>{l();var m_=ke(),eu=class extends m_{constructor(e,t){super(e,t);e==="display-grid"&&(this.name="grid")}check(e){return e.prop==="display"&&e.value===this.name}};eu.names=["display-grid","inline-grid"];Xw.exports=eu});var eb=v((XI,Zw)=>{l();var g_=ke(),tu=class extends g_{constructor(e,t){super(e,t);e==="filter-function"&&(this.name="filter")}};tu.names=["filter","filter-function"];Zw.exports=tu});var nb=v((KI,ib)=>{l();var tb=ai(),B=M(),rb=Fm(),y_=tg(),w_=sl(),b_=vg(),ru=dt(),sr=Jt(),v_=Eg(),$e=ke(),ar=le(),x_=Pg(),k_=Ig(),S_=Rg(),C_=Bg(),A_=zg(),__=Ug(),O_=Gg(),E_=Yg(),T_=Jg(),P_=Kg(),D_=ey(),I_=ry(),q_=ny(),R_=ay(),M_=ly(),B_=cy(),F_=dy(),L_=gy(),N_=wy(),$_=vy(),z_=Sy(),j_=Ay(),V_=Ey(),U_=Py(),W_=Iy(),G_=Ry(),H_=By(),Y_=Ny(),Q_=zy(),J_=Vy(),X_=Wy(),K_=Hy(),Z_=Qy(),eO=Xy(),tO=ew(),rO=rw(),iO=nw(),nO=aw(),sO=lw(),aO=cw(),oO=dw(),lO=mw(),uO=ww(),fO=vw(),cO=kw(),pO=Aw(),dO=Ow(),hO=Tw(),mO=Lw(),gO=zw(),yO=Uw(),wO=Gw(),bO=Yw(),vO=Jw(),xO=Kw(),kO=eb();sr.hack(x_);sr.hack(k_);sr.hack(S_);sr.hack(C_);B.hack(A_);B.hack(__);B.hack(O_);B.hack(E_);B.hack(T_);B.hack(P_);B.hack(D_);B.hack(I_);B.hack(q_);B.hack(R_);B.hack(M_);B.hack(B_);B.hack(F_);B.hack(L_);B.hack(N_);B.hack($_);B.hack(z_);B.hack(j_);B.hack(V_);B.hack(U_);B.hack(W_);B.hack(G_);B.hack(H_);B.hack(Y_);B.hack(Q_);B.hack(J_);B.hack(X_);B.hack(K_);B.hack(Z_);B.hack(eO);B.hack(tO);B.hack(rO);B.hack(iO);B.hack(nO);B.hack(sO);B.hack(aO);B.hack(oO);B.hack(lO);B.hack(uO);B.hack(fO);B.hack(cO);B.hack(pO);B.hack(dO);B.hack(hO);$e.hack(mO);$e.hack(gO);$e.hack(yO);$e.hack(wO);$e.hack(bO);$e.hack(vO);$e.hack(xO);$e.hack(kO);var iu=new Map,li=class{constructor(e,t,i={}){this.data=e,this.browsers=t,this.options=i,[this.add,this.remove]=this.preprocess(this.select(this.data)),this.transition=new y_(this),this.processor=new w_(this)}cleaner(){if(this.cleanerCache)return this.cleanerCache;if(this.browsers.selected.length){let e=new ru(this.browsers.data,[]);this.cleanerCache=new li(this.data,e,this.options)}else return this;return this.cleanerCache}select(e){let t={add:{},remove:{}};for(let i in e){let n=e[i],a=n.browsers.map(u=>{let c=u.split(" ");return{browser:`${c[0]} ${c[1]}`,note:c[2]}}),s=a.filter(u=>u.note).map(u=>`${this.browsers.prefix(u.browser)} ${u.note}`);s=ar.uniq(s),a=a.filter(u=>this.browsers.isSelected(u.browser)).map(u=>{let c=this.browsers.prefix(u.browser);return u.note?`${c} ${u.note}`:c}),a=this.sort(ar.uniq(a)),this.options.flexbox==="no-2009"&&(a=a.filter(u=>!u.includes("2009")));let o=n.browsers.map(u=>this.browsers.prefix(u));n.mistakes&&(o=o.concat(n.mistakes)),o=o.concat(s),o=ar.uniq(o),a.length?(t.add[i]=a,a.length!a.includes(u)))):t.remove[i]=o}return t}sort(e){return e.sort((t,i)=>{let n=ar.removeNote(t).length,a=ar.removeNote(i).length;return n===a?i.length-t.length:a-n})}preprocess(e){let t={selectors:[],"@supports":new b_(li,this)};for(let n in e.add){let a=e.add[n];if(n==="@keyframes"||n==="@viewport")t[n]=new v_(n,a,this);else if(n==="@resolution")t[n]=new rb(n,a,this);else if(this.data[n].selector)t.selectors.push(sr.load(n,a,this));else{let s=this.data[n].props;if(s){let o=$e.load(n,a,this);for(let u of s)t[u]||(t[u]={values:[]}),t[u].values.push(o)}else{let o=t[n]&&t[n].values||[];t[n]=B.load(n,a,this),t[n].values=o}}}let i={selectors:[]};for(let n in e.remove){let a=e.remove[n];if(this.data[n].selector){let s=sr.load(n,a);for(let o of a)i.selectors.push(s.old(o))}else if(n==="@keyframes"||n==="@viewport")for(let s of a){let o=`@${s}${n.slice(1)}`;i[o]={remove:!0}}else if(n==="@resolution")i[n]=new rb(n,a,this);else{let s=this.data[n].props;if(s){let o=$e.load(n,[],this);for(let u of a){let c=o.old(u);if(c)for(let f of s)i[f]||(i[f]={}),i[f].values||(i[f].values=[]),i[f].values.push(c)}}else for(let o of a){let u=this.decl(n).old(n,o);if(n==="align-self"){let c=t[n]&&t[n].prefixes;if(c){if(o==="-webkit- 2009"&&c.includes("-webkit-"))continue;if(o==="-webkit-"&&c.includes("-webkit- 2009"))continue}}for(let c of u)i[c]||(i[c]={}),i[c].remove=!0}}}return[t,i]}decl(e){return iu.has(e)||iu.set(e,B.load(e)),iu.get(e)}unprefixed(e){let t=this.normalize(tb.unprefixed(e));return t==="flex-direction"&&(t="flex-flow"),t}normalize(e){return this.decl(e).normalize(e)}prefixed(e,t){return e=tb.unprefixed(e),this.decl(e).prefixed(e,t)}values(e,t){let i=this[e],n=i["*"]&&i["*"].values,a=i[t]&&i[t].values;return n&&a?ar.uniq(n.concat(a)):n||a||[]}group(e){let t=e.parent,i=t.index(e),{length:n}=t.nodes,a=this.unprefixed(e.prop),s=(o,u)=>{for(i+=o;i>=0&&i{l();sb.exports={"backdrop-filter":{feature:"css-backdrop-filter",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},element:{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-element-function",browsers:["firefox 114"]},"user-select":{mistakes:["-khtml-"],feature:"user-select-none",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"background-clip":{feature:"background-clip-text",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},hyphens:{feature:"css-hyphens",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},fill:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"fill-available":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},stretch:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"fit-content":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"text-decoration-style":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-color":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-line":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip-ink":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-size-adjust":{feature:"text-size-adjust",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"mask-clip":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-composite":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-image":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-origin":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-source":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},mask:{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-position":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-size":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-outset":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-width":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-slice":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"clip-path":{feature:"css-clip-path",browsers:["samsung 21"]},"box-decoration-break":{feature:"css-boxdecorationbreak",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","opera 99","safari 16.5","samsung 21"]},appearance:{feature:"css-appearance",browsers:["samsung 21"]},"image-set":{props:["background","background-image","border-image","cursor","mask","mask-image","list-style","list-style-image","content"],feature:"css-image-set",browsers:["and_uc 15.5","chrome 109","samsung 21"]},"cross-fade":{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-cross-fade",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},isolate:{props:["unicode-bidi"],feature:"css-unicode-bidi",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"color-adjust":{feature:"css-color-adjust",browsers:["chrome 109","chrome 113","chrome 114","edge 114","opera 99"]}}});var lb=v((eq,ob)=>{l();ob.exports={}});var pb=v((tq,cb)=>{l();var SO=Ho(),{agents:CO}=(Gn(),Wn),nu=Sm(),AO=dt(),_O=nb(),OO=ab(),EO=lb(),ub={browsers:CO,prefixes:OO},fb=` + Replace Autoprefixer \`browsers\` option to Browserslist config. + Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file. + + Using \`browsers\` option can cause errors. Browserslist config can + be used for Babel, Autoprefixer, postcss-normalize and other tools. + + If you really need to use option, rename it to \`overrideBrowserslist\`. + + Learn more at: + https://github.com/browserslist/browserslist#readme + https://twitter.com/browserslist + +`;function TO(r){return Object.prototype.toString.apply(r)==="[object Object]"}var su=new Map;function PO(r,e){e.browsers.selected.length!==0&&(e.add.selectors.length>0||Object.keys(e.add).length>2||r.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore. +Check your Browserslist config to be sure that your targets are set up correctly. + + Learn more at: + https://github.com/postcss/autoprefixer#readme + https://github.com/browserslist/browserslist#readme + +`))}cb.exports=or;function or(...r){let e;if(r.length===1&&TO(r[0])?(e=r[0],r=void 0):r.length===0||r.length===1&&!r[0]?r=void 0:r.length<=2&&(Array.isArray(r[0])||!r[0])?(e=r[1],r=r[0]):typeof r[r.length-1]=="object"&&(e=r.pop()),e||(e={}),e.browser)throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer");if(e.browserslist)throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer");e.overrideBrowserslist?r=e.overrideBrowserslist:e.browsers&&(typeof console!="undefined"&&console.warn&&(nu.red?console.warn(nu.red(fb.replace(/`[^`]+`/g,n=>nu.yellow(n.slice(1,-1))))):console.warn(fb)),r=e.browsers);let t={ignoreUnknownVersions:e.ignoreUnknownVersions,stats:e.stats,env:e.env};function i(n){let a=ub,s=new AO(a.browsers,r,n,t),o=s.selected.join(", ")+JSON.stringify(e);return su.has(o)||su.set(o,new _O(a.prefixes,s,e)),su.get(o)}return{postcssPlugin:"autoprefixer",prepare(n){let a=i({from:n.opts.from,env:e.env});return{OnceExit(s){PO(n,a),e.remove!==!1&&a.processor.remove(s,n),e.add!==!1&&a.processor.add(s,n)}}},info(n){return n=n||{},n.from=n.from||h.cwd(),EO(i(n))},options:e,browsers:r}}or.postcss=!0;or.data=ub;or.defaults=SO.defaults;or.info=()=>or().info()});var hb=v((rq,db)=>{l();db.exports={aqua:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,azure:/#f0ffff(ff)?(?!\w)/gi,beige:/#f5f5dc(ff)?(?!\w)/gi,bisque:/#ffe4c4(ff)?(?!\w)/gi,black:/#000000(ff)?(?!\w)|#000(f)?(?!\w)/gi,blue:/#0000ff(ff)?(?!\w)|#00f(f)?(?!\w)/gi,brown:/#a52a2a(ff)?(?!\w)/gi,coral:/#ff7f50(ff)?(?!\w)/gi,cornsilk:/#fff8dc(ff)?(?!\w)/gi,crimson:/#dc143c(ff)?(?!\w)/gi,cyan:/#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,darkblue:/#00008b(ff)?(?!\w)/gi,darkcyan:/#008b8b(ff)?(?!\w)/gi,darkgrey:/#a9a9a9(ff)?(?!\w)/gi,darkred:/#8b0000(ff)?(?!\w)/gi,deeppink:/#ff1493(ff)?(?!\w)/gi,dimgrey:/#696969(ff)?(?!\w)/gi,gold:/#ffd700(ff)?(?!\w)/gi,green:/#008000(ff)?(?!\w)/gi,grey:/#808080(ff)?(?!\w)/gi,honeydew:/#f0fff0(ff)?(?!\w)/gi,hotpink:/#ff69b4(ff)?(?!\w)/gi,indigo:/#4b0082(ff)?(?!\w)/gi,ivory:/#fffff0(ff)?(?!\w)/gi,khaki:/#f0e68c(ff)?(?!\w)/gi,lavender:/#e6e6fa(ff)?(?!\w)/gi,lime:/#00ff00(ff)?(?!\w)|#0f0(f)?(?!\w)/gi,linen:/#faf0e6(ff)?(?!\w)/gi,maroon:/#800000(ff)?(?!\w)/gi,moccasin:/#ffe4b5(ff)?(?!\w)/gi,navy:/#000080(ff)?(?!\w)/gi,oldlace:/#fdf5e6(ff)?(?!\w)/gi,olive:/#808000(ff)?(?!\w)/gi,orange:/#ffa500(ff)?(?!\w)/gi,orchid:/#da70d6(ff)?(?!\w)/gi,peru:/#cd853f(ff)?(?!\w)/gi,pink:/#ffc0cb(ff)?(?!\w)/gi,plum:/#dda0dd(ff)?(?!\w)/gi,purple:/#800080(ff)?(?!\w)/gi,red:/#ff0000(ff)?(?!\w)|#f00(f)?(?!\w)/gi,salmon:/#fa8072(ff)?(?!\w)/gi,seagreen:/#2e8b57(ff)?(?!\w)/gi,seashell:/#fff5ee(ff)?(?!\w)/gi,sienna:/#a0522d(ff)?(?!\w)/gi,silver:/#c0c0c0(ff)?(?!\w)/gi,skyblue:/#87ceeb(ff)?(?!\w)/gi,snow:/#fffafa(ff)?(?!\w)/gi,tan:/#d2b48c(ff)?(?!\w)/gi,teal:/#008080(ff)?(?!\w)/gi,thistle:/#d8bfd8(ff)?(?!\w)/gi,tomato:/#ff6347(ff)?(?!\w)/gi,violet:/#ee82ee(ff)?(?!\w)/gi,wheat:/#f5deb3(ff)?(?!\w)/gi,white:/#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi}});var gb=v((iq,mb)=>{l();var au=hb(),ou={whitespace:/\s+/g,urlHexPairs:/%[\dA-F]{2}/g,quotes:/"/g};function DO(r){return r.trim().replace(ou.whitespace," ")}function IO(r){return encodeURIComponent(r).replace(ou.urlHexPairs,RO)}function qO(r){return Object.keys(au).forEach(function(e){au[e].test(r)&&(r=r.replace(au[e],e))}),r}function RO(r){switch(r){case"%20":return" ";case"%3D":return"=";case"%3A":return":";case"%2F":return"/";default:return r.toLowerCase()}}function lu(r){if(typeof r!="string")throw new TypeError("Expected a string, but received "+typeof r);r.charCodeAt(0)===65279&&(r=r.slice(1));var e=qO(DO(r)).replace(ou.quotes,"'");return"data:image/svg+xml,"+IO(e)}lu.toSrcset=function(e){return lu(e).replace(/ /g,"%20")};mb.exports=lu});var uu={};Ae(uu,{default:()=>MO});var yb,MO,fu=C(()=>{l();wi();yb=X(Si()),MO=et(yb.default.theme)});var kb=v((sq,xb)=>{l();var Zn=gb(),BO=(qn(),In).default,wb=(fu(),uu).default,gt=(mi(),as).default,[FO,{lineHeight:LO}]=wb.fontSize.base,{spacing:Je,borderWidth:bb,borderRadius:vb}=wb;function yt(r,e){return r.replace("",`var(${e}, 1)`)}var NO=BO.withOptions(function(r={strategy:void 0}){return function({addBase:e,addComponents:t,theme:i}){let n=r.strategy===void 0?["base","class"]:[r.strategy],a=[{base:["[type='text']","input:where(:not([type]))","[type='email']","[type='url']","[type='password']","[type='number']","[type='date']","[type='datetime-local']","[type='month']","[type='search']","[type='tel']","[type='time']","[type='week']","[multiple]","textarea","select"],class:[".form-input",".form-textarea",".form-select",".form-multiselect"],styles:{appearance:"none","background-color":"#fff","border-color":yt(i("colors.gray.500",gt.gray[500]),"--tw-border-opacity"),"border-width":bb.DEFAULT,"border-radius":vb.none,"padding-top":Je[2],"padding-right":Je[3],"padding-bottom":Je[2],"padding-left":Je[3],"font-size":FO,"line-height":LO,"--tw-shadow":"0 0 #0000","&:focus":{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"0px","--tw-ring-offset-color":"#fff","--tw-ring-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)","border-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-border-opacity")}}},{base:["input::placeholder","textarea::placeholder"],class:[".form-input::placeholder",".form-textarea::placeholder"],styles:{color:yt(i("colors.gray.500",gt.gray[500]),"--tw-text-opacity"),opacity:"1"}},{base:["::-webkit-datetime-edit-fields-wrapper"],class:[".form-input::-webkit-datetime-edit-fields-wrapper"],styles:{padding:"0"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"min-height":"1.5em"}},{base:["::-webkit-date-and-time-value"],class:[".form-input::-webkit-date-and-time-value"],styles:{"text-align":"inherit"}},{base:["::-webkit-datetime-edit"],class:[".form-input::-webkit-datetime-edit"],styles:{display:"inline-flex"}},{base:["::-webkit-datetime-edit","::-webkit-datetime-edit-year-field","::-webkit-datetime-edit-month-field","::-webkit-datetime-edit-day-field","::-webkit-datetime-edit-hour-field","::-webkit-datetime-edit-minute-field","::-webkit-datetime-edit-second-field","::-webkit-datetime-edit-millisecond-field","::-webkit-datetime-edit-meridiem-field"],class:[".form-input::-webkit-datetime-edit",".form-input::-webkit-datetime-edit-year-field",".form-input::-webkit-datetime-edit-month-field",".form-input::-webkit-datetime-edit-day-field",".form-input::-webkit-datetime-edit-hour-field",".form-input::-webkit-datetime-edit-minute-field",".form-input::-webkit-datetime-edit-second-field",".form-input::-webkit-datetime-edit-millisecond-field",".form-input::-webkit-datetime-edit-meridiem-field"],styles:{"padding-top":0,"padding-bottom":0}},{base:["select"],class:[".form-select"],styles:{"background-image":`url("${Zn(``)}")`,"background-position":`right ${Je[2]} center`,"background-repeat":"no-repeat","background-size":"1.5em 1.5em","padding-right":Je[10],"print-color-adjust":"exact"}},{base:["[multiple]",'[size]:where(select:not([size="1"]))'],class:['.form-select:where([size]:not([size="1"]))'],styles:{"background-image":"initial","background-position":"initial","background-repeat":"unset","background-size":"initial","padding-right":Je[3],"print-color-adjust":"unset"}},{base:["[type='checkbox']","[type='radio']"],class:[".form-checkbox",".form-radio"],styles:{appearance:"none",padding:"0","print-color-adjust":"exact",display:"inline-block","vertical-align":"middle","background-origin":"border-box","user-select":"none","flex-shrink":"0",height:Je[4],width:Je[4],color:yt(i("colors.blue.600",gt.blue[600]),"--tw-text-opacity"),"background-color":"#fff","border-color":yt(i("colors.gray.500",gt.gray[500]),"--tw-border-opacity"),"border-width":bb.DEFAULT,"--tw-shadow":"0 0 #0000"}},{base:["[type='checkbox']"],class:[".form-checkbox"],styles:{"border-radius":vb.none}},{base:["[type='radio']"],class:[".form-radio"],styles:{"border-radius":"100%"}},{base:["[type='checkbox']:focus","[type='radio']:focus"],class:[".form-checkbox:focus",".form-radio:focus"],styles:{outline:"2px solid transparent","outline-offset":"2px","--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":"2px","--tw-ring-offset-color":"#fff","--tw-ring-color":yt(i("colors.blue.600",gt.blue[600]),"--tw-ring-opacity"),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":"var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)","box-shadow":"var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)"}},{base:["[type='checkbox']:checked","[type='radio']:checked"],class:[".form-checkbox:checked",".form-radio:checked"],styles:{"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat"}},{base:["[type='checkbox']:checked"],class:[".form-checkbox:checked"],styles:{"background-image":`url("${Zn('')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='radio']:checked"],class:[".form-radio:checked"],styles:{"background-image":`url("${Zn('')}")`,"@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:checked:hover","[type='checkbox']:checked:focus","[type='radio']:checked:hover","[type='radio']:checked:focus"],class:[".form-checkbox:checked:hover",".form-checkbox:checked:focus",".form-radio:checked:hover",".form-radio:checked:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='checkbox']:indeterminate"],class:[".form-checkbox:indeterminate"],styles:{"background-image":`url("${Zn('')}")`,"border-color":"transparent","background-color":"currentColor","background-size":"100% 100%","background-position":"center","background-repeat":"no-repeat","@media (forced-colors: active) ":{appearance:"auto"}}},{base:["[type='checkbox']:indeterminate:hover","[type='checkbox']:indeterminate:focus"],class:[".form-checkbox:indeterminate:hover",".form-checkbox:indeterminate:focus"],styles:{"border-color":"transparent","background-color":"currentColor"}},{base:["[type='file']"],class:null,styles:{background:"unset","border-color":"inherit","border-width":"0","border-radius":"0",padding:"0","font-size":"unset","line-height":"inherit"}},{base:["[type='file']:focus"],class:null,styles:{outline:["1px solid ButtonText","1px auto -webkit-focus-ring-color"]}}],s=o=>a.map(u=>u[o]===null?null:{[u[o]]:u.styles}).filter(Boolean);n.includes("base")&&e(s("base")),n.includes("class")&&t(s("class"))}});xb.exports=NO});var Sb={};Ae(Sb,{default:()=>$O});var $O,Cb=C(()=>{l();$O=[kb()]});var _b={};Ae(_b,{default:()=>zO});var Ab,zO,Ob=C(()=>{l();wi();Ab=X(Si()),zO=et(Ab.default)});l();"use strict";var jO=Xe(xm()),VO=Xe(ge()),UO=Xe(pb()),WO=Xe((Cb(),Sb)),GO=Xe((fu(),uu)),HO=Xe((Ob(),_b)),YO=Xe((mi(),as)),QO=Xe((qn(),In)),JO=Xe((xs(),lf));function Xe(r){return r&&r.__esModule?r:{default:r}}console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation");var es="tailwind",cu="text/tailwindcss",Eb="/template.html",Ct,Tb=!0,Pb=0,pu=new Set,du,Db="",Ib=(r=!1)=>({get(e,t){return(!r||t==="config")&&typeof e[t]=="object"&&e[t]!==null?new Proxy(e[t],Ib()):e[t]},set(e,t,i){return e[t]=i,(!r||t==="config")&&hu(!0),!0}});window[es]=new Proxy({config:{},defaultTheme:GO.default,defaultConfig:HO.default,colors:YO.default,plugin:QO.default,resolveConfig:JO.default},Ib(!0));function qb(r){du.observe(r,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}new MutationObserver(async r=>{let e=!1;if(!du){du=new MutationObserver(async()=>await hu(!0));for(let t of document.querySelectorAll(`style[type="${cu}"]`))qb(t)}for(let t of r)for(let i of t.addedNodes)i.nodeType===1&&i.tagName==="STYLE"&&i.getAttribute("type")===cu&&(qb(i),e=!0);await hu(e)}).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0});async function hu(r=!1){r&&(Pb++,pu.clear());let e="";for(let i of document.querySelectorAll(`style[type="${cu}"]`))e+=i.textContent;let t=new Set;for(let i of document.querySelectorAll("[class]"))for(let n of i.classList)pu.has(n)||t.add(n);if(document.body&&(Tb||t.size>0||e!==Db||!Ct||!Ct.isConnected)){for(let n of t)pu.add(n);Tb=!1,Db=e,self[Eb]=Array.from(t).join(" ");let{css:i}=await(0,VO.default)([(0,jO.default)({...window[es].config,_hash:Pb,content:[Eb],plugins:[...WO.default,...Array.isArray(window[es].config.plugins)?window[es].config.plugins:[]]}),(0,UO.default)({remove:!1})]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`);(!Ct||!Ct.isConnected)&&(Ct=document.createElement("style"),document.head.append(Ct)),Ct.textContent=i}}})(); +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/meshchatx/src/frontend/public/assets/proto/audio_call.proto b/meshchatx/src/frontend/public/assets/proto/audio_call.proto new file mode 100644 index 0000000..0749c39 --- /dev/null +++ b/meshchatx/src/frontend/public/assets/proto/audio_call.proto @@ -0,0 +1,31 @@ +syntax = "proto2"; + +// raw payload sent over the websocket +message AudioCallPayload { + optional AudioData audioData = 1; +} + +// a message containing some sort of audio data +message AudioData { + optional Codec2Audio codec2Audio = 1; +} + +// audio encoded with codec2 +message Codec2Audio { + + required Mode mode = 1; // codec2 mode used for encoding + required bytes encoded = 2; // audio encoded as codec2 + + enum Mode { + MODE_3200 = 0; + MODE_2400 = 1; + MODE_1600 = 2; + MODE_1400 = 3; + MODE_1300 = 4; + MODE_1200 = 5; + MODE_700C = 6; + MODE_450 = 7; + MODE_450PWB = 8; + } + +} \ No newline at end of file diff --git a/meshchatx/src/frontend/public/favicons/favicon-512x512.png b/meshchatx/src/frontend/public/favicons/favicon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..58c038a538fe7d2bb5a58e893d5dcb47b85ba800 GIT binary patch literal 12829 zcmcJ0^;cBi7xtN87`nR#Ns;;pQlbol z)zDeQ+kG`y>FF4%s(b2Ong919p`=AgDlrS(65N_r1;?b`c z{#Vh-y$p0802nbn#kKdEp4&~6c%LaT08l_vMbXf2@}D_bM*audtn{V}jYi0<$6o>= zm5G{xI!;ZeplRS}W7DOFnStL^wexg%DD;({zs?hGnyPS{DsmEf^`4va&9@ThX$SH$|NP#5|2~gi@`O;PQ=$}&->i}m!xKraI8$L zc`l(|uy-Z0_b9LX4`xI>Kw<#qVmO0cNJ~ z;2h>KR2rva)QXk~g>tFiLWh~c>^nhEP9o+NhuGltI(8F>0w(*mzU#|zyB;3xi|A2Y zn6inEjrcgH_Be5@xTh2e^J<%GQ5K)qKqH}GmI3w)`k5l5&{Ln!6G5cW8%%Zq+Zw4M zn`Bx4O=UNoN0iNvxNcQrK$6DH=lOmyIOj6NcVy4vyJQ)GbYR^N8z}r1VKiqml zIq^$_C}at4QHXgH{P?(dUpn!4dNSmRXh`fkM0N?tB79`I;2sPPhj*mITP<=yJi+9Y zs)KPwK@IB0+*cY>d;`5q$P*)o5|zGInp{=HpOESu=lpI%eZ-w|n9vwDG9;GcAJAiW z5^5KN_k>T?1AW5W6a(H8yNf-~3k1QIzM4<-2$isNR`EDS=0E{o!l^orr1i{z)B4F&IL|L-@GB5f!+TS!e zUqB^ZIz%TLlE>kh1}#Sn-oE_I4Z&7%JTNj?3==xvktl_x(JV;etsssF-0jP@^`Y%s zpB6tp&m|l7e=t~j7q7==B>`Gbf|tOnz*&`VeQ5cl8UwNqQg~{}J_&jaycIu;BW$UZ zdkwE<^)g0xluHDn611TyaCGPo>B~rRs}IL?LmbyC)GdpX8as}6pBf^o_%LH_ z(*!j*=H_R<$QQ0M&(&P)**pzt6QP()5IWG-u=Rm&%>M2~XGihJWbaSVyHqq75y%23 zB|$Zd8pHjfFjo-Xa%wR$Vk`t%rqpwTyun@`>VZ5m^jgj}%$Dg4`_cv$1{a58VrLO} z0X48@Ucl=aPW29o8@<9OJF)x#eWeC=2By9Z zo2!Zr1Y!BWpYu$@0KC_4W>Ygpk*$@(#V`r8M{Pw3a#NQTl1j-VgJ#o1%bp6MJZ#%| z6SXK5|H;6~Z($h$D;1MM4lMf#`W9Q-(ry~sC?J`b^$xtA5yJ>VJDM2v9{J|pB#wJl zNUNirH-Jn{Ru`3i8;I9K%1qKQOJHb$ybDA{^T8_>E;vP*{x^L$W;zkp;68N4E8r_@ zMGClP5E$V{HUvRW@Q3i%2{(^2fywXK> zVtIOFjKRRGyDa1U?_B>|wrRr2EPM?{NWa*A6p+0_QM51+tMC|he$LgG9U$e%i?zfo+6G-%b)91VT4Q`|8G`OuC z5e+oBKIrKuvJYJ^za$Z}uK)47iHy9*?@fMw6SiB4wS$=>(X|*E$BU?o2*$I;W(GC} z?0)2D)0?ogg<@%#8|J`#ZkpTb2iO|U?>C^bA-HM%Eh5TfrXqI!i-}=DU13W0qZWOA zp=tIQtbCAod3m*^+nFw_;{0-L5ccltZicVX9{%i_>Jes(nCq~>6B|hFL_$YKZpjoE zrK0Q6OCiT~1s;1=Bg(&_I0 zMSm_>5FLEcgz^7pXR-NKT%4w(3Hj*x+IqP#_a z?puLFcWh4S(64OqE#fI^&;}ON@-5g#Ikguzu;&q!nG$w8E1AI8o1 z6WtL5qwFzZtGe@)I+z}4W;t@imJq}Dn~PFnhFD4C?*Q)hg~U%e2^2%9s2t=i7;u8r za4Xb^UMEY5f6!0yB_-5H0yAKX;H5)tAUByXb`W=gn2S^F_r~N2RMY6Xb~}S_v_7k@ zz)hHRvFM;UxmSuPVB76ncrz1+ua}5b{YO(Sb5Qh!W55Pc;J)o$2XyxE?bjQ@B$oJx zw0w4@X){^(w85Y=y4-Df*#`>!<#jwmj$(i~Y-3InEgS4DimAY%!Pd*`j`x)X#9^Pv z0;gP{I;yzdVhBYTXNKhU*MyPYd!Z3r^)3ht|A>Mf+(ipI41{jhD(XgGII`|OCO`tY zCcJJMiqLMKe*QTn2h*pGrRY`;r@eQkNJ)gc6`F7znkQVC8gZwQZ<6}#UKr;QYLlqW z&fX{`lq?I<#G>JR7)Psvr0m>HTwc?)$6az*KVX<(M+Y0!sd5gl(=K)Ovkq>NpHz^8 zB{%GMt@i#WsFDe3^xu1>34R(qUK-SGTTEz6csJBDm{+(gCUHMC!b9r4w5buL{~x#H zLkQNynr`sh-qyKCeZfyb(Q3K)f!A5}QlrB(|6TH?bJ%0%zJQ4nU9_Qg`*T#?k0;v2 zQ&qp~wu`5`V;*^M@oz7ksfuQVe7MP>hARAfLudnG=9>a3I#Z(l?uIERSvHFJ@RKu( z%3t2KM&t~4rq!O#A}%HHS*k|9;H#V7z35e4no5L{ITuNfsVn=>@8I!eVg2g*;y!0lq^o}2GaIM}48~9H<8wZ?+ReC31?l{3q;frJ|Lz`UF9}Po zxqRc#{zfKfCZzkbp3Dfg}UpY{OJ)@a;TI9E?Y}B>rP{r z=01mg^nN1kzhOkZ3p}k9o$7|!>EZZSI`XeagoLf0)$%#>S=T4E_5KzanX12!9G%CV zk3If-csT;{Vc8D~q@X?{A+|uKltO&w9a-|sStt9^oISI%=H5aVts~5 zcau7vp$2C-vj^3x9+>w;m@`CwIkaOBbZKeUe4pEtBwc#wbjRcZB(*Xg}{ps-&cDxG^Y;qHVvrRNw@rk+CF7_GeTf`HU# zRw?yQiaH&&5un5S7kYja}k=l19B z5gfKmGlaX`9Qz+V`BdWeck$vCfgl#vE`@Lv|FS?PG5xS7(sgS?cO6ymydYnyHDjpI zds|6Qhp;gb>nTBMuKL2K?Q0G)syPbSvEsjGSRO`VYOCWZU2%P{@+&#KqRJP*prIZI z(MM?R{~)Mav&%Hn9C^9-e)rZ1l5Qy^BvZPIs?j6=(0dj`^X@b#4?AHZ$>vlR3&->sIw(oWqst(2oXBU_@o~g@3^t#FPAlhdmppjA=Q8BY6x!u9gId(X z&m4DGV_#^v{DY?k2GgGYHu-N@Vfk7=bvMlHhYE&@u3#|)I2fxE2f~9zhizozyl>qJ zc-m|%HyZ&{?nvT1zHj46U2FH$RKB~8IvUZg#P|q>ZCPmFR1z4`TMN(w|ThA z)6_ue^SApn&5Ys~o2W9#%3oAPd8vf*?glMC&HaYt3WNO?DDkIx?#7+2GR+i@6w{vnhRQ?j8w`*#PWG??qSsXb$4cB|m)x>i9&6z~ zy;blT#=hnp()peJYvDrt<0H`FPupt{ACE<-200_dJ<{@Mu2vJQm7_u2DKZ z!&u>3^;?wY84g{PGC$rV@iToEd}MtTiZT^ z*`!`V&>DH_ZQ9tt{2$$}%f(h>Md9S{M7uh1&OP=FPlFz(eQJM`ttprOC9SJQbe7G+ zkN+9WM<@`%MwCWETFqGSNo2B(fDFO3hzS3rYzS8t!F%dZy?-|zBb(Bmwsqj>vG3rl zL9y8Y?I3aiXp;Kd8d59L%7WFl({7jB%W~pPEX89<2Y;N^p1j;t>8$_JH(JfkJ%sdV zNUDhBL4j?mB31l|$%FpIqH2UPW>F6Np7YsBhptCSTI&6!swQ(yjo;kHaExa=D?jt1 zsok*QS(ekGQBO*b-Y0uqv%A5bCWi{?8crXYFgXRbIx2+{XBk*y_Ylwa37x7?qc4Qo zY)776OFlO16o;)|^zyZeb9MKHjgghty=+e`UbXK`LFPie0kh}J+3>R>VPAPRUDD`X zD<#bL1ns=1H zqno~A4gKHvmblQ&brIc$q2lz<*-JL)1Zrq$eFu;-pCfL)Qs9Wc(}+4KNq8AciQz<( z<7UWf0hr31M|$!Royg&{;E4rc!)gDF8_f(OEqKh>f#0iu>2Kl_@nn>?)ZUapGn?AT zw7w~;a_?pDxU1j$8h-!6U29<6V71mq4qeV}BqOCbjgf`zC9Bt{s4<@Jw^S&nlz9!~@vXJ|PO{m>$eyx%t;Pq-l^zZ&2L z7QQ|vM|Q#=11nWrkU`Z|y)mm9{uP#3x^9!_{8B}~G-?@8$pKK0N9$A(fufGyWJY(M zGjFuo@b$kWvTubbv>2ir7v{kBa%gSST$ei7PEJsf&~w<)nED9gC%t$7uRZyQowZsZ zf}sOo1!(~KY1aIGfO48!;S_Ogqf9$kWPQ0hTXw5Dv$g$kTRSnPjTy5=;|BxoHC0(6 z|IAK}@|vgI3H)x}DYn!ex!G+ zmW0Z%G{@1SpaAcPMvHVK0OeIM%I51A-b3~l$@0hgX1=H_aessc0u5BGDZiNm{9O^( ze3*yh>;!7SH&DC81?wJIGx!=repGazofknI=D!_PVZPM1fF-eN?_>Fl>FovL~e!_4mj7u(&rfbecLHQyZ0l#a)K4GsAzG~Je zfaV~++Pf?E2Q}N#l$kD0v#|-G@r-xDyAX_}LKcMj8N1aE(I*;rQZmzta@Y+zu9TvL z-atnxN)Sp4=5N#Fu@FaPLjarUgcoOx9{*hpdxta9St3L?c(EW$joF}ChGASxC$O-x zLWNqs1DZzk-C_(0n2k>4Y7D`yTnF_95w&vLMf(XAzMqy}?q-{GdB^Ksv$7Oa0dQ7i zBN2woG|j`q?RH(Wk#_Le+m=`d?tcwm8M#0IMBK|Gbnxa?8(ld03&O$P*6E*Uul$kH*&-V1kx=qZqbC8xO-%06cW8}+j_ zjfe9sh;0&J_>xEQ>L~K2Cm&$b8AW$%oZc_4r3p^C549HgL%)!b1I*Xwis$OvAt+)H zX#dz$W@~M9D4p=aW4P725l0P}32@-5!)u&gJbBw&wB}1vEV=2g9V#TB-*DGY}2Uyr)LETuKPPXf%Ih}o}z6$NM z!*qWa_y+@?KY^QPHx@W}X=EEJhIruxk+ZbCOQ#Y@EGzf!^&J2Lv!IsmAPXfsY7dx>UqAcb!{NB+ z65tw0`T1%SIt$0-SVO4q{A1ATQx+IBM}5?TLNKBBU}O~SAY{xKV)y`lI<_TaZWTp7 z`0pkz7~DjM+k#CbBz>qD(6B{~3`t{f2W^=sv6c$9iRJ6x1vVZ|~`e9?!pmzsV10lybb{qPQ z=<9Ms(l!tI~}eB2ruJmB36n4_az7VVT1V ze!|ff`g@Xk8wc7BGUj+`fP$dr@00IY-5qGvFt4*1t<5b=HEqOw^Z@bCK&P7F8=^^5sT+GpEvfE>d+e02F~IA*d;V@QTs-cMI`L zXkv=)cZcdm+`>H;{MIrQ%@sUHeQU3-!+4~EzE8_909$8|$@xiy;lAwnWxG1Fc=$p4 zdK!;+h&BS-?~B-mVE(%_l%m zi%)Mt!NaA2Cv+bmw$u;lXtoTyZdkK8=K;f zZs6F!@($Cu(pbn~Eq!w*$V*M6~Dd|wRDW{oQXxTqDV4b4u2Jz$ww(f3w;aB*v;FiEU8}E=UD0*KUOnlAB ziJPn^3SRVGY*!`wTJ=4U4qTpz1J7qiYyNg0WtkI6bh|&%tE@v$nD=}Uo&aNi&Y-Fx zvYwGP*&F6(t<@@lxdB}NioHf`@Sl40gbDIjZ}o!qOeHs9#SvVIu~#;kn(ZcXgbfJlYf#zx++$UZ{(oO~v1gUzv>WAiOW|vJv&KO7u$I~BDH2X zqRMjn-zvz$!sS@5iplLQ!lH{w$9QY!_`yzRF~h2{+S*I*LVejH5_zyPbycDh)C!Bs zj*tEZ8-~{u;(Y?dH6zoK^0(@X=e9E>aQ;%8v%AlMXH=USjRDubuJq09gZJC9+HZg7 zP=bZdHx9rvy6q9ou%}XteA?K%%zx=i!Tdle>-C+Tg__}D9i7)hF%Du>m5EW*hdP!B zFumibb@v_QPc}iU%QmD?`#s7=jR78iSMs{ zJw&}F9zA}*YIHDoq-@^hb&rhK9Ri_lp#bzupokpLNsti21cxOOYmQb(Nl2D9Nop4b z-_ZP2^HyM)|X%_;~k4SIz@S!R@n@_x~#UImF`Z*X?gA8=bJhP-%)da*QJ}Xgkhe;HD6u&+3cQ zjaCYzQejEN_Gj1v)W|ceD9rC$&KA-<^Zd;&{`UtxA!@)))rtfVX=O>4tH!yF`pO@% zXKvs(h0U*zOv+i@{uBWEGeV37{gD0Q>dP?^E0ViuEy*CwM8wwz$xVfzPN@NEKDZRg zk-hng^dq(J_46`}F9e-V+Qm+yb$APCod0Ct-nr9)4}U;r+VfmbzGw2)b4s^eN&rtI zxv~31I5oTFz69>rQc!718W(Y+UXt&~kC@(dEPSuGhCSn-IY6_L2u;c{G6si#V{rMp zH9#;^IU@Yadht0^h%T~h#!%OtcIat)(8=ZOE(3!jwb>lG&VIt<k<7g z7fssH}}9wx&B8G5#0c%Ki8F(%m3dwY-9CU!29|cyJr`;m`d4NJhRK z?g~T~aX5Pj^|(?13u>$8YrI=?hp8e3=?BFI7@y!}FDIX%CRMSh(!DKiE^1*Z?gM@l z0TTqlU9~^)h2c;2zv4I~$KKVZ()@_c2f~|Q8APZ9e^oIzet}7|nK&slQh=X`i|R+z zxUJLZ`CQ%qzTLC*ygkTz>hOLeZjgnH+M)*FGg3B29FpuP#3Z6zQXy3-R8MA%qDsAf z!$>ww#=1tlvIB4Pyer$}d~^nCKKrdSeQ{T_`7Eq3-#&!44fJc{u=* z^t$5I5c8Rfb>Ea4^`w0W{fLWEx;dzNURXp z`x%WJr@2D0*IsvaihmejUNd6OQFEXM6I`yl1$k4=qyBD7y5HcCC6lK;tCbCWQAR1llv*0X9ke}9dRBsSk#XBBG|(fozN{% zpgJKBN?$~O6T#`KMctsSaCfFAn>bW@%YqQ@!0!3fBj-o}e=S}&_*8_<#?#=)M=i=J zsc|O+U2~hRT17c2`+NCI@2OOcv`)ZWnS0* zreNp!98J{;CPqRJ&O#f$Ar7jq()fAX&N)$@GK#)phkP_5;p>-^_idu#*@gMQc#Rx; z+AF86yuN>r@_~7baxDwDMLL>aDJ0@Y&mX~8>cKty-ibI4o)5~Qs zX>r#@5yTQAM@T12NrJkj{j<>`nGE@}FVN&nqX-fq{~voqH%<9%UJABo0#~PYVbyC= z(_#J0+7+ja5=u(_oH5suR(Uv^#cyt}c>(@w*K$uJ*ArebdLVE~jD0`KBhoAUs2dLg z9@xt5wQ%OvsFbPXV3)CFe19}MUwRoj4ljgES2 zf2+|doI|oW=cH3mPDa(;R84?d?N1hWPb#?*bARvkYs9&yNj+r)E^p`2$M>}CyG%_U z-C~JIj#jMbd6}RGUE5!v%yzk8`;nv3DtO-CuGAUN0pgt7-*Pdp$BC}>IN?h917L)0 z_XKL$v~{KbgpQw4aXsPY9p)7K_AI*yqDM|jX8EdRwBR9~I9I)iQC0R(UdzRMpMY>o z=iRg5&-WVtbY+a5@1=SdtAXFEl#)c4=}&r|0bwX;e+|zHc|?XEK>qW6a4&yh4TlvS^^eg-z>TOQ8qE zGT#l&(01}@7dNGF6M%~XY`7-}UfSRHzdjVmFzd^c2)}9r#cy(Qn`AboAH1tj=o79P z^{YocYuu0TTAg|Vsp5lgABD0R+#Ra(eqT1Tj7x~Vy(Zp|-1u;~@}!Pm;1NT65?jf8 z{;r1U8)-UFTr$e;sa;?aFWZAG?bbr~51kv?^y1Pq)1RKpl3C_T>`f<_fO_if4v$l% zL5BKD%B_3xk4-fuZ;u6IJ|Nl!!1muJgqlaI398i0C;RB8(u4HNtY`|edumVidwro; zdg$a)P;t0=Tme1^8~tFj*nY-6)f z;1hv)&VQIK*PKOT`gQ(vUL7{prWu+5#UDwVbNM@FOdCX|-iTmpN${(X|IWSc0R!tw zI2L%l9D9~gq_l+6!DuxcUE`%Z+vMH1)?Uwy}+W#QPW}j4;o*MI``-B(BQp6OXP_hyC4rbSo#RCdSaMaI zSYEH;Hcf-sfD9Ayj6tMBi~8XqQ}jyO+Z)D&_F5wwa^Mrh3&%d)XzEbe;r2GpqLIso z(XDeeI$!idt6sxyAGL~zXk^jwCru&X~AC zdiG6S{_qkFqlz{nfMsHq<3W^Nlc=Pmdc0PZCsT7b4;Em3aSw{!hu-jQJ06;x^Hz)c z0_S-2@=xuh55Vh!7>+N2>Z5ZH)f_E}UsYUI_m0iVgHLpW_2>N|a?SebE$>;Si4c!V ztb)tiD1gfK558wjTn3Sg0pa`{%&S`|d)=pOMCd|zJu5QXAhKFU)UJt7!}YK)6mJO! zG7$G1$oCQJ>pYT?M64Xlm*Q0AS3DOatUL*P3jwvA^Yw`o9LzPRXVw?-uqsk`K6Ah} zso#dUK}qMH+nte>`@bOtfb9|cpUnGn0-#g^XDy;pO!?6qGRdQ&)?ToeX&gZrXYOozCV!^Os90pjRJ~ zZ23grFfw3u%tQRAg1ec^fiDs`LgNxBF4er5+coj3CMo~5;aM1xZ--g@0hp$cL3n)* z?Ntum1TGy>4D6DR%a14g?=~pt>egUd?>rg^X-ss7XoZY(Y0{Mi)n0x9#_5;|<+G@W z$JXKc8}%_?r%FTd5UVM;;bp}4Uy0WndkP<8#hX6<@L2bt!2E`vt8G%m%J@rn~N?H?J&*#T>a{@_zv>-VP z$;$a{A+`%COH!h(8K&(9P=1cyTEJSB5FXZrh;D{Nlm)gBqnC;OR}gxD{w6|%CMts% zFo5-Sm>L~Et07PrccF}@;>GUv*_M`2RUxcaSyXra!q{KK_4ZlMN#C=st=Ud<_-g7zn(W0q${>p(oeqw{&7M>S@A}~=!DZZK#%`5aSB;w7%}FG zP_YU+xK-*8<*+Qkl#=Og*z{=9M!Qc^qp8|I@6h zyt7bWGF4f@mPyQYFhPXoMfZ{Qy~mX~-~AVV7r4@(G?adgWYL7k1&qzvLag9@>AA@~ z)U@!JpK_15fEQdaA*6>XDpL0Mu6zzLMh8=X?7Lc3WJm&$6+h-SRDp0tcP*L4uj}EI zJar%^$OKQ|^vk$D98%G!*yPe`TN9Kck9XF8dhkK#;EME24ABiFNGg(?D@`pX2j&dt zM@HQjzbhyjQ!2oV|IU9*f$2axnn9RRH)$<+NEQe0@cNPCCXuctA>L_Ki5NB7C;8h| zcoskg89`>MqUAXF)vfKUS2&piA?SFV*gcghiVlOkqj~Xn^oTeKOGk}e;ohQH!S^&a zyLbA;6LP_{CcYveTf2tvyw)Wi%p+g#_9a6_F()Yon<{ax4b;(KpaNGaB z(s7^n9EVBlBpApOsO~)&->C1qKr{OPnY630*vQ~1~j#eV)Vt8Gf2r9nkGcedPfQ?~y(WZPGNsuN6X zg8)9L1dI+&2)a0Ni4CKU*k(cslQ%Ql%tZEbsdjvJ9ZuYM=oIo%~dHC+|?{aHPF7 z7HGeS6t`;iTXO>dE(jxsx|7+_wmzZl2u=y9zrS}Mg6;v47%Q+5g6S9^w_&&xX+k%5 zbeFUEi2-T|fE1wR8PfFA^p1lA92)=dlSd5gT-&}0F(|$#@OYLWLe`C9G*1kXLT0_? z8nEML-P{?Cbba?HV%x6!FD}WqD6kH25VO+m%dgahg_*xahY&G~F^P7P64 z^>#_3-5|u12u{^ER>HF-mTK@n8$0qE@fik5~)n394b6uTl`OVl;&YPerX$& z=`Z!;uW2RPw=FNXCzGH|#j&BhomEt)4L*_&^_SSRoKz{b3eGRqsvrFMBvLYG!=%6y ze=^~2wX^!{9xu_8<@Q^o;zFV29au_t3Z=xZKpiEaqi((A%k{2U-e_vXlcn}sWO!7^ z2lBAHeNy>GPXvBgH?X*}3!h@HCKnaC;GU1Hjb9C2qI#ZY_PnHJBrcE=7oa-j!|{m9 zkp9;j-}BIi@A&9;q{{hC+9 z$DBn{w9sAz8ZTSPs-ma~NzuJ|@lsYfBnDZ;!6;lzf$=^=(i67CPF&cFDlwcWfG`>? z1i#K3Ma0-Eon6%S`ABTd+UbsAr2o=A{;rVJBF%8a$xKtcvPAjvd z2;Xj|5R|1V5`8f!1RMgUDfb;hKUb;9XJ4T#iTXsw3^;YZ?OADK^im*SigEZ;ycK8Q zPiov*Z-;Y`o&oA4X%C-4gI7W9UwqQ*4qHWYo;xEwRRF;V!5P?cyjVK`G~>XGkkwdJ zp*GYyXuDGq<6@=?;M>L_-*@pM|1m+BRACcQ(191*ht8~5vI|G>m<0BNkLuDtKSx%phCadSNvH+0jOD!Y=gTW^a>yx{SLXUZ-}trN2L#Z8nF&@~-Pq6jb^TE!&jD3A z#XB~Ol?|Q4CzfFx2UJQSoBYgK6y!3Nj~`i$Ps^9o1rrIl>{0$h_=wHPN95w_rq?K4 sd@y@-pJ18kp11H`|IdFp1WE@(tj4l0V1jSt{})74Rad1_$tv{!0PbBSF8}}l literal 0 HcmV?d00001 diff --git a/meshchatx/src/frontend/public/manifest.json b/meshchatx/src/frontend/public/manifest.json new file mode 100644 index 0000000..a33964a --- /dev/null +++ b/meshchatx/src/frontend/public/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "MeshChat", + "short_name": "MeshChat", + "description": "A simple mesh network communications app powered by the Reticulum Network Stack.", + "scope": "/", + "start_url": "/", + "icons": [ + { + "src": "/favicons/favicon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "display": "standalone", + "theme_color": "#FFFFFF", + "background_color": "#FFFFFF" +} diff --git a/meshchatx/src/frontend/public/rnode-flasher/LICENSE b/meshchatx/src/frontend/public/rnode-flasher/LICENSE new file mode 100644 index 0000000..77c5499 --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Liam Cottle + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/meshchatx/src/frontend/public/rnode-flasher/README.md b/meshchatx/src/frontend/public/rnode-flasher/README.md new file mode 100644 index 0000000..8d69e9d --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/README.md @@ -0,0 +1,86 @@ +# RNode Flasher + +A _work-in-progress_ web based firmware flasher for [Reticulum](https://github.com/markqvist/Reticulum) / [RNode_Firmware](https://github.com/markqvist/RNode_Firmware). + +- It is written in javascript and uses the [Web Serial APIs](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API). +- It supports putting relevant devices into DFU mode. +- It supports flashing firmware from a zip file. + +At this time, it does not support flashing bootloaders or softdevices for the nRF boards. + +## How does it work? + +I wanted something simple, for flashing RNode firmware to a nRF52 RAK4631 in a web browser. + +So, I spent a bit of time working through the source code of [adafruit-nrfutil](https://github.com/adafruit/Adafruit_nRF52_nrfutil) and wrote a javascript implementation of [dfu_transport_serial.py](https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py) + +Generally, you would use the following command to flash a firmware.zip to your device; + +``` +adafruit-nrfutil dfu serial --package firmware.zip -p /dev/cu.usbmodem14401 -b 115200 -t 1200 +``` + +The [nrf52_dfu_flasher.js](js/nrf52_dfu_flasher.js) in this project implements a javascript, web based version of the above command. + +There was an existing package called [pc-nrf-dfu-js](https://github.com/NordicSemiconductor/pc-nrf-dfu-js), however this repo had been archived and didn't appear to support the latest DFU protocol. + +## How to use it? + +- Open https://liamcottle.github.io/rnode-flasher/ in your web browser. +- Select your device. +- Put your device into DFU mode (for nRF52 boards) +- Select a firmware file and click flash. +- Once flashed, your device should reboot into the new firmware. +- For new devices that have never been provisioned, you should click "Provision" to configure the EEPROM. +- Every time you flash new firmware, you should also click "Set Firmware Hash". + +> Note: At this time, firmware hashes for RNode are not automatically configured. + +## What is needed to set up a new RNode? + +> Note: This is a technical overview of how the RNode device provisioning works. +> Most of this is taken care of by the code base, and this section just makes it easier to understand what is going on. + +To set up a new RNode device, you will need to do a few things; + +- Obtain supported hardware, such as a RAK4631 +- Obtain an RNode firmware file +- Put your device into DFU mode +- Flash the firmware file +- Provision the EEPROM + +Once the firmware is flashed to the device, you will need to provision the EEPROM; + +- Set firmware hash in eeprom +- Collect device info + - `product` + - `model` + - `hardware_revision` + - `serial_number` + - `made` (unix timestamp of device creation) +- Write device info to eeprom +- Create an MD5 checksum of the device info +- Write 16 byte device info checksum to eeprom +- Sign device info checksum with signing key to use as signature +- Write 128 byte signature to eeprom +- Write `ROM.INFO_LOCK_BYTE` to `ROM.ADDR_INFO_LOCK` in eeprom +- Read eeprom and validate checksums and signatures to ensure all is correct + +## TODO + +- support configuring eeprom with device signatures and firmware hashes +- support flashing existing firmware files from api +- calculate on air bitrate based on tnc settings +- try using [web-serial-polyfill](https://github.com/google/web-serial-polyfill) to support flashing from Android device? + +## License + +MIT + +## References + +- https://github.com/adafruit/Adafruit_nRF52_nrfutil +- https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py +- https://github.com/markqvist/RNode_Firmware/blob/master/RNode_Firmware.ino +- https://github.com/markqvist/RNode_Firmware/blob/master/Framing.h +- https://github.com/markqvist/RNode_Firmware/blob/master/Utilities.h diff --git a/meshchatx/src/frontend/public/rnode-flasher/index.html b/meshchatx/src/frontend/public/rnode-flasher/index.html new file mode 100644 index 0000000..775c90d --- /dev/null +++ b/meshchatx/src/frontend/public/rnode-flasher/index.html @@ -0,0 +1,2013 @@ + + + + + + + + + RNode Flasher + + + + + + + + + + + + + + + + + +

    9LLOhc@^#4L8yAP0 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 #REq-ly*xtyh8&4 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