From b860247fbd70cd826ba929651e83d78dd8c1bc7c Mon Sep 17 00:00:00 2001 From: Daniel Lehmann Date: Thu, 15 Jan 2026 15:04:35 +0100 Subject: [PATCH 1/2] dotnet: silence array buffer instantiation warnings, try to make build more deterministic Fixes https://github.com/WebKit/JetStream/issues/196 --- wasm/dotnet/benchmark.js | 3 +- .../System.Collections.Concurrent.wasm | Bin 15096 -> 15125 bytes .../_framework/System.Collections.wasm | Bin 15096 -> 15125 bytes .../System.ComponentModel.Primitives.wasm | Bin 5880 -> 5909 bytes .../System.ComponentModel.TypeConverter.wasm | Bin 5368 -> 5397 bytes .../_framework/System.Drawing.Primitives.wasm | Bin 20728 -> 20757 bytes .../wwwroot/_framework/System.Drawing.wasm | Bin 4856 -> 4885 bytes .../_framework/System.IO.Pipelines.wasm | Bin 5880 -> 5909 bytes .../wwwroot/_framework/System.Linq.wasm | Bin 12024 -> 12053 bytes .../wwwroot/_framework/System.Memory.wasm | Bin 14072 -> 14101 bytes .../_framework/System.ObjectModel.wasm | Bin 5880 -> 5909 bytes .../_framework/System.Private.CoreLib.wasm | Bin 1199864 -> 1199893 bytes ...em.Runtime.InteropServices.JavaScript.wasm | Bin 39160 -> 39189 bytes .../_framework/System.Text.Encodings.Web.wasm | Bin 29432 -> 29461 bytes .../wwwroot/_framework/System.Text.Json.wasm | Bin 233208 -> 233237 bytes .../build-aot/wwwroot/_framework/dotnet.js | 2 +- .../_framework/dotnet.native.js.symbols | 2 +- .../wwwroot/_framework/dotnet.native.wasm | Bin 7997676 -> 7997676 bytes .../build-aot/wwwroot/_framework/dotnet.wasm | Bin 96504 -> 96533 bytes .../System.Collections.Concurrent.wasm | Bin 15096 -> 15125 bytes .../_framework/System.Collections.wasm | Bin 15096 -> 15125 bytes .../System.ComponentModel.Primitives.wasm | Bin 5880 -> 5909 bytes .../System.ComponentModel.TypeConverter.wasm | Bin 5368 -> 5397 bytes .../_framework/System.Drawing.Primitives.wasm | Bin 20728 -> 20757 bytes .../wwwroot/_framework/System.Drawing.wasm | Bin 4856 -> 4885 bytes .../_framework/System.IO.Pipelines.wasm | Bin 5880 -> 5909 bytes .../wwwroot/_framework/System.Linq.wasm | Bin 12024 -> 12053 bytes .../wwwroot/_framework/System.Memory.wasm | Bin 14072 -> 14101 bytes .../_framework/System.ObjectModel.wasm | Bin 5880 -> 5909 bytes .../_framework/System.Private.CoreLib.wasm | Bin 1199864 -> 1199893 bytes ...em.Runtime.InteropServices.JavaScript.wasm | Bin 39160 -> 39189 bytes .../_framework/System.Text.Encodings.Web.wasm | Bin 29432 -> 29461 bytes .../wwwroot/_framework/System.Text.Json.wasm | Bin 233208 -> 233237 bytes .../build-interp/wwwroot/_framework/dotnet.js | 2 +- .../wwwroot/_framework/dotnet.wasm | Bin 96504 -> 96533 bytes wasm/dotnet/build.log | 5 +- wasm/dotnet/build.sh | 59 +++++++++--------- 37 files changed, 36 insertions(+), 37 deletions(-) diff --git a/wasm/dotnet/benchmark.js b/wasm/dotnet/benchmark.js index 29ce5fc6..f81929e9 100644 --- a/wasm/dotnet/benchmark.js +++ b/wasm/dotnet/benchmark.js @@ -128,7 +128,6 @@ class Benchmark { this.api = await this.dotnet.withModuleConfig({ locateFile: e => e }).withConfig(config).create(); this.exports = await this.api.getAssemblyExports("dotnet.dll"); - // This drives the workload size for BenchTasks half of the test. this.benchTasksBatchSize = dotnetFlavor === "aot" ? 50 : 10; @@ -140,4 +139,4 @@ class Benchmark { async runIteration() { await this.exports.Interop.RunIteration(this.benchTasksBatchSize, this.sceneWidth, this.sceneHeight, this.hardwareConcurrency); } -} \ No newline at end of file +} diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.Collections.Concurrent.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.Collections.Concurrent.wasm index ef7717d40f9dcfa9b9b76e710ec84293de0eaa9a..b854dac2163dcf4181f1cec5efb06e3032c5c294 100644 GIT binary patch delta 130 zcmexSI<;(r2ct3*0|LOb;@5Jkshv+Lc30))J#!IZ19F@!2dK%BsdWF-YIKnaSlLO}zU;2uc1Mhecr z4br8GGf>Tp=KuF+PP^aF^V~b+TMyvFA%LJE)?D>IzgU34@ggOEir@f%hc4QeY>00z zV9`nsOlnY;V~j|~g^}Xn#}dYW-rZBOhhbfeCT6QRqHf*L&gUQ$}u7wr&d z7?QLM>4B51n_bbqcG5`QvP7npeM+h_Lq#esI%?E3&4D$v2ypY9jFxs?`1j_WpKu`) RD6bhLj(m4OUm1Qs{sTg|CQ$$Y diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.Collections.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.Collections.wasm index 6b5dc09aba97d42c632bc978960024cc380572e2..545fce6c50b874346be47e94bf224abd6159953c 100644 GIT binary patch delta 287 zcmexSI<;(r598!Xyq0`S3~<0~z&d#%Z_$}3vSz)--{15_ui!N|bCR&*c8FXm-n;HpB=3wIovnMmS5 zCbI#^ctfD^AUYFDYY8J81=X?n3k!>xEQ2&lUSe)46VR`W4D2bX#U%kHMT|gB3L|44 E0M4c&p#T5? delta 956 zcmYLIy>1gh5MIx2_UyYj$i}`kvJ@L6%xdrK*eSvrP#78{7j{JC009(40=fu_Sk`q^ z{75LYya5stkH8D?21qp2NEB2y-|ouhnwgvV=9_P3?moWy`|``3LOx)O6&S0iP6qR$ z$`*ClW|hSnHle#!rkuy&H8de+UqjO&9&65+G>rE**nRLISs@z>c@}`ox(RU|0rj?s zK66wG;&T9nNV_yExEqF$jk8 zaFhhrKAw($t8do`YP1X2u9@iJDE_%}CxBvTQnN#yC{KyP5=x|WzfNhvn6OUkT9 z-Snv7qBt!s3TE5$z@BaSxz(iA9ygCnk6P_}oG{|Z>}PeXoZeX3*;Tk_@WS)g{vcR7 z^a-lZ(HJLiGt4E+u~4^`6HH(qnqjwsW)|&0y(oKP*>IcioMx`vXYIz-WakDpVx!oI zOZr+Ldu|Uk$Bl$CfH_iI=8&;D&GOGqG-6HrS;_2&?S&hL=e_LLx^K@7cXr9g|Lf^} zZ-UK!1c|>dF^wUhqe5z$ZqqYeLCtY^B}yU+4!T%%&=^O79Q=l&#v(5m-Y0f|B1o-J zyc1=&3y@H?t#l3HFpiR1l?D1TLc`4>?NZSM3M9BQ0O9UWQitUvE@@mqreO)^d32Cc z$&?!7a;d#sE^}a30&yGnr!;6klsoNj$nI@9Lj&ookvayG845bxZ?%uq(=m6>iTV0R Gh`oPKXo5HZ diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.ComponentModel.Primitives.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.ComponentModel.Primitives.wasm index c88ec6057babe0150bb57e8e5415e48c280b0882..ee3a2ead3264449526eac7eb8a81a787b0da0df4 100644 GIT binary patch delta 81 zcmeyNJ5_Ik2O}fX diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.ComponentModel.TypeConverter.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.ComponentModel.TypeConverter.wasm index 11f84ade62bc28211eaa85c1a557407b335d6103..46f95ac53bd122add0a12424d0d806f4759ca8ca 100644 GIT binary patch delta 56 zcmeyNIaOS0K)&V)0N1;HwSZV_e#xzh|xYBGbZ z^*90MIRJSeIVB-v1AzJn8pXkhlZENreUmUdT5*;9H;RubF{v1{UJFo>$ldo*80|3d$Bj& z#{+-&22L*t_+CfAvVwM2%`wk%W(2LFkY#?cQ&JqTEh|u%3F)%qcwrXuOqq?jrp!UD zDRa?c$~^2f6cTr$k|;v8Pr0ZiiqS-P*h`e)C{c<&q73JWa{Nq8$7Ny$ z{vu`~5Hwk5A)TnebmA^7BxYk>&^MjtU@M#EqLa8AJ;Xc=67w-kRN`0S9$X{tMPi(p zX90?c`%p#Pk2+!@T8Ks1M^vFF&hqsZEXFA|J%9_ugSbRg;~KF92_chXDRPKqC?l4m zig*Ysh!vKO&Xh03|3|fiJ z=pwe@D6tg-#5SBI8u0`1EJlduaNWRQ!VGYrSTEgFrMyegHL5jdk5#OEp@9baqckY2_-l2MdXIkCyal!+FLe3B1=}61 zA568}ILiv9229~sM5IB!dD@`Gt$>&5<=bsKMoTkjqtha#U7Bn=@(#9acY^ekesk=d zT6Nr@)|c64O54oiO7;@Znc-NgWkphnq*>8Ow)P08S*Vf~YCm5pOy)|)5{axGjhKLD z9}8^09nkz?uOK?RIYko}M17(>rWb_nurs%{OE&qox5sOd(JreD+Rm1C$s6>_Z8uZ$ zhoTcVUGzLt3FQk5$cv*LLeXq#oMpG^99ealw;XRJEBSS0@wS_;3&`?*8EY$zx7#$2 z%&4K#B)d)1>2ZWSd$%qKjk=R0-NFf<a@kl-+!>8oSSgW8CS%(bH|)pMH-LOF^B5P z>cVpGEcsW>wsLg)aSA4q$bm=PDY6#5+isS0tM*GLx|5|PF)d*0GQ-Q|0!-EA>YzdyB&i~HG1|tIlmzG`;kSZu<0nsA^aZ^2p8T-C5wI%Rz<6V->qZE-SYkParU-9LYvxvvJ%Rzf%oGyJ)Cw z!)OtYJ?+=EF4g^NgU456bo96s+f(0Q)8>9Vmyv@EOVv92W||9fsc7c^A~TBIPfl7K zETP9>6Ay3ylWm)zwQ4x@jn#gwGFa>7894G_KM$4cD*1$SINf}@d>j5|fC*TZR zf-8{NHq~Jtf2?Qv7z17r?~BjH*WyHcFMbxki9f_&;#552*g8$|hPWfX5Z{RJ#JLB% N40kZF869U|D!G{9%W``112D?#0VngI1zG&jKZiqeW)Bv3CM8VLJUlk y4H-o@`!HSOgd4-KS)1pqmMnubOI~7bDw7Bk10w@_N@{UQKuHlJkdwm5m%PZYqFx@a%<`!dQT8Dvp?#+E`Z!l25*nJy~ymB?@s!m=-z4QL>LTG41N1qjmN v4lUb#$(_pX6q}QEp`mIUSguCdhON_5h4yjJIluGyE_d*U%Thn1;!FPk40R;V diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.ObjectModel.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.ObjectModel.wasm index 485d0cd91ee5154a21eecb57d97e45a5094b1afd..65958c99a887fa0ece2ebe97e892b48d6ec45982 100644 GIT binary patch delta 72 zcmeyNJ5_Ik2O}fX1|V0E sxfH0JiHl7~h%Fz;VgqYu(_jT^)DqJ&f^hRWK-|d-8Cy4NFkKJ<0PkrHcmMzZ diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.Private.CoreLib.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.Private.CoreLib.wasm index 2c87a32e5482f483484bb5dae8a889f71818de92..4154097abef71de97ca1538ab1da9b8c6fc00f26 100644 GIT binary patch delta 39460 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 F{|j#20(t-d delta 279136 zcmb@v31A#YmGIx{?&+RG*GTe=Bp)Luky4pMwx!syoj@GtFm^8ImK-NOa#~3|WE3Z0 zMQ(>XAu)%;5kok#U*HccyMQ^CWjO;I!nID!Kd`_qW)EPw&yQml=li`^J)@EA0N;Kq zyQiyORlR!k>eZ`PXTR<(>wo+3`uBaiB^q))-}sIb>^{#ex4Gs%oIqS&MaNs}Iv;3p z9DLah$D9r@6Att^EzZ*Q;Xoko`Qd=e`}8k6j$=Wm_mE=cUHpUtNeTLZ24%!qQm7y} zeTBrjBvQa20Kt@#fc6IH^mmeS<*@oI1P#v%2Uf{@O*pVt-kVou3G^#Vy>iksNysY? zdgkw4-kBO9&!7D50?JWajMFm@rYYLw?*!6_6kR5r;a1 zcZAjwE||aOHR!MO)-D8OOExQ&>nZ6)hbr`)Ww6n+Rrs8l0#&+$+GHf@Yt#IiZ^5=w zOE3%12_U+JB*nEjE*1U;lOJzKSc>Pl<|ODgee&}&;h$u()N@YcjXY(Qf^;T4l6K8> z-U-@LM_QACZ%zhF?nqniNJiuG}Z;`&01*PX~FjzrzQoAr}{0WoBCCoE}_ zUNg#qAOu0X4=62!1g2!^c-HXpp9rtS;TgEKe=PBWv5Ra0+Y{}9St4|hdoyfl4Eu!Z zb+|`!Fl&DG#ug{&@C>x2b4$IRQd@`D6k--i9{Wx3!RWZ`H6w!ZNJh(PSqkTzw3c*+ zr!y6&1&5n))k(TxMB>z#GSZ5!$n&04m62KAl$F#;fk+vx6XB?4(V9Gx38_G{LgTh7 zSt3j{T&I<|zE*J)Ie|HC7BNbI@4!6=G0DzUb7XVS%I@~FzDHfJ)TGUIeJN!*3+VJU z2(Rl+U(2ibTpa43XZ?%ZDe)p$o-;^BA{XwIM4dMrT1U~fam-qf4W>yKIevfy)6{7v zYxq$K_8c%d?I7rK3MciMAJRa&oZ3Co4u7HUI0c%wM8F%G14IoQ+Oq__t2y8~67XwH zZhp$EIBXVP&UrtQ9wZLUgLb=)(6kp^u7bP&RjF(Gw#NxQvujSu2U1J-FHbLNigDMR z7}M!jtrCsZBe*?t0l~Q=FxZl0&Xml$Y-cpEj$UBY?I{L5IopZtKR5H6R*}rzk_;(5 z_`KFb?)i;^yl8f2!jO~63w@IHRK^fROFOFS#r4R!Bds(RTlRz3b@aIrZP*!*L`Ua! z(m&2kYhHG|q@H2gHg` z$b2Um7RJ?hmmi%D)X!o=P1$nZkqqN`{sNGNmr_dPE zi$H{Lwva(OaHoaLpn56Umba;3XM*Zw_!8xwt`;@7283y&LA#&7G$^(wDrow2dm{AQ z>U@xAaOHlkEtD(i38l6@H9YnMEvN__0OGJK=$QU%Pn&|F^1f!g#zob zJY8fqC@?oIPzy8X02(ZJm@~;gn55yP_ZA4vQFhQu2GZjUsa!}kO{9a|#7H_Ac;=aB zqKTs}6{PW6)l#7G(a5FiZclUs10SYENZ&;R?`p|)x$U8Oh-`{ZW@*aVPC9IYtc{-9 zf6Khvqjv(M=gQ{N?S45K42Y?^HSOld&!s&%OL-6^hc3wJ<{?nurBSmFwB>RzuouwQ zbm@ekFu-fRzHA`m#DR&Ruyt$N11W4&Bxr62bJK}Rok5Ot>7bWiBw%aWFLZ9HkfL*I zIx#?$y<3zn3br+^HQ+nzp#vtM`>poKW!l4e6IZk+u}^xpRIYbDDZY6a5`(D(%pGuk z<~UmhoHdR!+BG2dwzbo9k=1&$W9=nY%FQEy{iJOVgQ+BM(8tl9ftD?oyX{Kenk{Ha z^BS^(fnL7U(%b4L6Xwmrp3_}7*}v7S$DKPWH9Xkut0-jsNP~betf0zhU^Jag zc(EpqMQMl4#@|xj((YHT_WMV#YAT-B6_{HE{gTCsuRH7tEjqFHN8Ma88`cqKgQ;%H zVSh(E@Mc@2cje{y!$gfsdH(YB=!^4vsjB4xIc|Adz} zmtx5d`MtxwKY#R06@ki1qL}lQzKW$U*_E{P$;f87H>!IVh&P>0)`@LL=$B299FuOF zBDlsPNOh$w0vYQJx7U5AN^w`aMq0mT+hRRPBZjqqpr^2Ag@9mS#}3*?S1>SzP8jaD{^70? zkhK?Hc66Bb#QPbkhJ0~%VqK-r_027$F1Kl6yt@1)@|TKk@f}QGF)&nHitwQ==euwr zZ#D}PCYH=-ObJ$vDO#2$FKM$vo@6lLng=9-trRQ3#bUnVZ3$)s~_g~$fgXWh=T43#Mmx{13t-)Y&M%nP>h1mTqX|fEAA#_coxE3^+O;5 zqu|O|#I0U1-sS}(9jV+%#?Os}DSzxpaz(;?vOz-XNO*XYjAu*TzAx_XL`+34>nj=A zgwhe!3Ca4|gr(%eZtaC|#5~D3(W||t?xYr!7SFS9-@F@=;Ern3oOzGjr zCYYP{F?mcHWF87n-ZIepDEP`P#d^PB{!(b83-FyEpt?}%SuZZlUmTk6M*Wk%U$25s zL%sZY)pIC+P$QjNT`T^Do_)__IGv$b9WDCGnZJ>;#MJc1)O1-YC99YYu|A|TP3UN8 z871zaOLXskk%;#t4AiML^FC0y<|?L8Y}fATuoxi~_81Yoao!)~ogNHMv+{LVC7%J1 z!w3-5eLIP(w1vQyCsVsOQEyFdx~E<_)J?0@(GK%*u!Z1gkuih}ue0vOVvS3%`3Qm5 z#^|gE*26sWw-PAk!EwSqCSf#9X(h#jZ!RQTZaV7L-U}(Q7&pn>B8c6EfVzV{=6g_I zP8C)aHkz-|c=8=BM{-BZUkjGqwxQ>T!@_Fww6rX&zxNYjJ`iVi9f^zkGm9_ld50$z zDN-!aQyP8$PYbz&uUPz$8)1b0J9!pIau3XB`o~Cw0gJ48B7^qpV_PGYFhcJm; z($)RQ}Khvb$C_U(Z3&@iqJc85is)BCyIuH2+Lqf-URk$7GP5 z+P7omt3mZf(xrnr#jdRJQjG@*-Upyrox*$FmK(Ar?1wqDt$~+f5ilW?D=7;`h)=OtHB#fsm2`nRw+Y6 zzX@UmWxlw7@6h#82Hke1P*kf>|0?)?ZF${k`wn^%si{MYs7;kITW2S`)q`YdUPnh& z>8w46M2ckc38>y3cV&k+rRjqF;d6cM-!hh)4OCHF|0ny$;u0z>uF%)6?C_?HSGz%I zla3%!dtu#4|M0+!`*5pwxGizG+YeI7vD3nknYOW0Gqr~VoyxSYJuZD(l8KU%?SE6+ z@g-%Vuw?sHnO0gOoJj{qJe@1@%@NA0!*bf92$NXkXVv4FZ)<2;=BWHc-h3ag3SGi^ z7xC6Amme28rI++;PvVT!?W$_QZ0W3h8(>W$*^>LazE5MV^!mHb^mupH=7oey%9zX5 zuS4``@#CYYF>CW0+~PqE9HJP!ef%EcY&IEmRGA+Ug}pr zh^x}w<;pZ;8lvQNw56?dTbCO(!}4PS9g7p35+}%y%_K=xRv(MzAuDt~*g0&caCy9ZZ1q#_CxVyUU&BH9sQm z7Su%oMa2AWOwY*UEB`?2vS_>L6lV}nODWm9q9O^hv_l^1mBxLE0?)D)}P z+bC8VT)cLR&mn*8CUYlnn*a5&0ofKCWMw~}E?w+a z&muVE>8mvvZeb8<7`ZWIlV6*-WWq8zTCkwgwB1Q;3m(Ad!XB1q2@q`L}qiz_JBkx5*2D!t_eabR&KP@Lwi7|B@CF{+Lx6g|vT z#h95pY@mw-E}gMX{JA=J1j|sjLanIVvZz~@NY!Q*OQRH6i^7)Byo}y=o0_nrYy5WAU^V5!plxxE_0_=;;Afj-AKWc9~3!S+UEp!VCJ~flA_eggySzELVYoo z4b~EfEjJOfq70bw=6giMmahIx-YYt6|6+b4J`uJSot|R~AU6K*pbK!Z(kGWnKU9yW zU8;1u60s*8W5LchV(0%BWZ3C1UUIu9TFbdWvHcEcChQwOSJK@grH`L1Z+Qmdha7dG z=0e_^dBh<7bDrlCPoB~Xn9)6j_tbK%hIG1A#a|LXGwXP_;;o4HH1%GBmn=(DjCu%N zi+7oLSE-k|5yLR1G__j2C*fT#UMyrH&%+Cr(iC2@+r-`i>IIG1Rf}q zDMAM#ozi*kqfZiTqUb)lo%c@OuaEt|iT!Vg{cq$=Fg2vns1xyC2cN`Wj-@6Oss<~E zp^}~n4;>()H7HeMCEZ5_GEoc<{pT?u0@+!#tg!lP3w_Q;E!=%Nfnt7-EVL$j$ItDB z{-=1N$M{L`(Lg5RN*CTQ?97x-3S^!YYOYi7yg=sOOY836s@_=eLTl@O6H+gM-FCp@$@Jc{ zjN`OAJab>3@-vY&t6E&JhzQEN?iPQ4{LrFgB2oSFrV0F6Pb2;6U|qNlr5c#C#JXP} z^5&%wd3i*2Ucp|PS+ke zQkzuFpY^~Mx0WgCAKniIdXC$6k`8oxx z1rVA4)F>}eh?L&^PNJ0Vv?67eF=v@6-E1YwEMbpHrnJcll=;16UAn-^lX)Z|zUNwL z(z(t|X{i+^^CeApf|Vt+L&z*Kak)YGZzGrCCnk_DRGNqx8O)I~Q2^``h_sT#v)BS0+J-j%+j#Hg+0P>k z{OF(g)YGpN4Pfgiv?{=SOt#Df;X1R75+ieci z%x`Thsi;^=&HuKsL;-|W4VYn>Xtq@ri>@il?w~*wL1@*1`32-ez(gB_RwtMPRH9Du z$=LNRl;ARza^bJ-k=cng!_Br7-9?gE(oUIbQ)wUIUF3ng+AWGUEp22%`h4E4rHgRU zG2=Q1S9GB|SL3`$T}yG%9}zr+3+0V#0WL%VR~IhY9j+v<3RJbqI8@|CwE5+teC$4} z(ABLdMX&mGEUx?-QLIcce+>_tI~wJQkP9hLs}&EK&}k}C8;L|VPUIQpkzP+4F$6lL zu`oy)*i&jNT`5j7$9cXuY2-N9i1SKyE*Ixj>MV+LOr3==7*3jTb@vE(lR8u4#5QGX zQqiym9PDN>*rah356(a1UN8Dj*bRnRmeQ7+UXNQmn~AUhR8Q?*?okg7s@fvnd)1JLso6sxUNvCigS zK$5UI&trJRGDI{SXmj@RH0u-AP@O;L`4Z{A&9joh8*NtEoRHNx`1&j0FkU9!YYO;R z1=JaxFp~=XvW3Q+PMA9ss$E5_TLi-{g}&X!6<)*Ygt=3pue8u}r2H^DVeS%e=>_m4 z=61roKtVSEirJkoFI3Q_fMR|pWDg7p&jb`RJYl93R0f2)kUB`1yA{+2Xgw~(BVnc$ zlxpz&;5*lTI?+RKV(TXc{Rcu^fsItcfmBSiZR8~>1EaQQT)?xKr)1`* zOT`80($GS787xYd78O$IQeT15L{A};E_D=I**?(UG`1j-=-E+3a0{7wy7$wrgBTe* zX#SF&C==RLqf}Lv{{G>E%R*US@|-4T<_60@M~BhWdX|55rsJ+_J~nzPK-To z6px8LXeig59DBBlXE65sMm(&lMvCrt;$wuap6lWu^+18kiu{B{X>ADR*JUQ995R6B z%_6}8Ng}Hzc39sIg#xmvhJv}n5DEWJ!grceWc_QX_GPJ2*(Gah^di@=10bkw2P0V* zg|Jz$offvCIbIzkbuM)W5w+pl;75RhUeG}pC=jSCBuc1;fbZwWFZL6LXPC^8#*DJCyVm| zbuJL+K6T259P=u5Hges6_C=e|8aBJT;psMhSYztxG0a_v%Zpu%io;YqsqUK7C2&Q4 z@&>jiD zT-KVHYJ8B=GG~XqUdrXoc9JC1!M<`^AS-L*2lCU&cA3b!7y{TivH~beTw@QsoGF@a zKgFVa4!^Fb2Y7H3L%mr)U1H)#5~hR6%PCDH`_QH?128R6w`cl!yiid}QKi$J62DA_ zt>;}%n17a)O=cVnMn>QcIP<#qPG2BN*e-I8fV}Cm#e3x}uj@~rE6|TadK{PAYl@R1ssa;G)rNQD& zC|!!^3J_&#SMl5GRyPu{ZBY9XR+iKZt+ZwR-atW5Kh2hI#Zq3L^=l84#)xTJd%Ja^ zuAjCY(bF@5Pxn2YY@|+=sl%DDR3m_ODt71wvanG7JPuxhc@kEoy92f|QL8~rP*3fz z$*&HJ-$EB#mda}sdkj>0UW)!IyoJ~kAs&L4@Ms?8K#0rP$ z+G>`HRe7VD)7ctAQgCPveHz*BNtF`QgMYcjR0FS||<8~G|WtEZD;6f8og~(V? zX(`$*o?YxyP1}Z_56msJrl9t53Q=8504GkYz)efW$h~(vf-qlA1dj=3;iwu0_Xt?` zXG&u!>ZDsox}jdiq)=#_CeS7=r)*+b0bw^o*yNAt($m4+%h){{+&wD4C*D1xo)!9g zs{StL*K8(rF!>X)0rvmPWyNUNTnS_^ZB|wd?5wXgl$`4^L$S%V6EF33W4oR!yBK61 zn9e4*q|LpdlfG{W_8OR6l9)a^@Wt$el)q?;>6Za2O?y6X-5|NeED+FeEzj1j=TA;B zbllzV?(}wUDn2(?cK9#K`At&Lr_874(S;74NLl4?ulXK+Pk&wgHFWqTLw8Pl^~{?k zk!;fHB(f@9?`k%o2HvLeNzAu&BP=U5>P4IDftWrsfjcy?5r&15F5c+*%RJTo8L0^t6V6}6-qNjBgpj(sq{=B)=%$QYd7gW0VYikGNCvHf&pNC|Dtaajhj{Scs6H;}ao?y+b;ryEPl;;Nl8poF&_5vXfa+wQlvJ^thRzaCP-0{6o3c(m*n|EEN>W77&EV z1J#G6YhEPbtoE{aNqu}HC|ncAur>gEm7E%U6|QCxG~Madla}q7t)f#t4ykd8J)OB3 zg&4xImSq{K9_b!AXub( zsqu=wN;p?YmnDCR+@-RE-rHC{*UfJ!cYEH(>QTCjOJsX|d!qO95?g-rm;2?Sx3N&H zK15KtK%^Y;barZ74a-Z|uG-F7F!s~)177Jd+IXKU1bVqHhavE1q)Okyt|Pbluxvr{ z=2zbXzDhU3qpbA$EdXiC>(X1oJT7U(c9LU`%o=39-ff*Ne&3eL32eV*r+xJUV3Liv zxuQ=2VnAL2iB$}!99K7Mq!asgz{4dd*VF$(8oDB zJ}WXU!?j#>onT&rMj`7KXG?iG4$8l!Qf4>QqD1OIc^*GqPQ3naexQ`(in<{x&Pg-_ zeeCZEnjDj@yiz5vg;1tivVPRj(vD1Zwa`yUz0d_FSzxC++PcKpHrK%@*&lLkDw{aa z9keIr4WE(?svm*d-66Gnv?UvEsjSAe%+H49WrRtK*~jMe(UY?FF~&=^BsF)-EqeIRqxGou|CWQDpPjZ)ylQUn6Bit$x&U3wa_7F;YP#s6CX~v;0M=;Zt zja)Awhco>dw6~E;wqUjgWdin9uIX}eGMy<$xMZR;ogc-3ZVxKwft#4$TwqR+fp&a>?7_j*#!_4IXV%V7eH4ho5^6J7OO4Q9<+zmFHuz* zEw1~QQrZ{BoIqWgFT@3vLkI5u-g}Y0@~#`oO_7l=&)Vv+in`@NA4rQ5Qv9s}jT6Wc+ zp;xvrFqHRbce2N@e#$&o($;u3(OTalEB){1SyYi8?o(vSH0-QQ$y3ObJdr=2T&1b# z)>u&yyFyhFWU!x{%A+($*)5mU-_d%0)~kEm%bjr)>vQvMqW=iL=P&=B~(E73MmUO$*cvGX;gsZGJ?eI3kFi9pM^9h>2_w#`vxf zd;*N|t%>nzJjLh99$_ciGnYc?&4VdMb@c0U%G5Pyf$I=L)HI2iaeG7aV<=?VUWoH# z64^NhSAPRnzv9Ye+(WRX2~kuz(LFRU3slKAMbawExc&9qu(7uZhtIQQ?O|l=EBn~zJ$`Qk$j465wZ#fKzK|qO@ z9WOIZ$T791?89mKHvyUqc3~Ye=_Eb2v9pKXY_@=i?PSyEeVd<%4YWK)6 zS|;;35U@!|B}j|Ld6lN1Rtb^}`^ix9!Y94~c1R#bcJ+<7qh73yGj*4OqYR!e+R;#_vnuajy@GE96v zj-pU-8Wb>R+8vfSQ^#?;Y<5yUxD=i(ancqsvHTyWN)B+^AbrtjN*r zcpC%rOUlZy=l!JdLbk=bMo(za5g_AD3 zWT~l~$kXq7biUaH!=wo0yU-*q3j*V*>cw>P@y_1!y;OB0Uft*=NUIe=dg`Bnw8&^x z*S+d#>t|&i^&ICFTHx(cbu6Dnf|Ge)##;F8zTvX#vd`o?LNcDdT9fRupe^c>;2Lnq zGl2hWp3OWT!Ue;raM5sf@$3lmu|2thW!#}%`ZR~CuVdj^Lil!CCG3gPnJjAGT*hFXC=$T_2_TV=oVw_ zz7CLX&C~sl>}afe1hsY7u?uF548<;Q$!+D0GuUNSQ};!ZFm@{vbqf;aM|JtMi?@&{ z%0p&$&f~d^XJsEZ=ft$`)a`(A@h9pYVM)Uyq&K2TP7RNgtr1PKk3;H22muGE7$HL5 zLWsP}kx=nET=Aw*-GmsIX=mMIv-%y82(j4JBiK_Qp!Mpg=y*lkMi?U+XC-@v<4kVR zt&O&%k=yV|Q5zm9YQrP>H#}0*hDV6Gv*CMVbC6J24-!Jt5Fy2`*M$(hN;>I!Wz;Ff zgmzY*M?q&S|JUlL4yh7D-Dn^MU5qbY^AbpOcC`=WbDa-XUN zv1#nVR5ipFyVX;Hq;nZ=C}2KTwFMKqIv>lhedGtOp=Ad$2Sv{iXoR|^TFM$*9cFP} za(rA7le>zHJ@ZmlSM9x5HVDH0nlZBEPLsRo1Iq#9dy#EM%Fivb-Y$)a3d?U0uB&bRkmkC+cYVO(Wy62?!Y@zL9;*RB@ z|NI3mYg4(L$w*gai_-@=ua@HISy*cgwwSj{{vokq!`^r16Yn+0#Csd@So}!Yn6mf2 zhj_{!<;0|LLMADG&byddnmG8@+DlvX#wHe|=VU6DrRkc<)ZVkP;h1oK<*ImGLnHX;>Rvp$fP|IJ&<8~~U38z>q@dwkDuF%a}t`4?N3yigO zU8#6GnB{!_)fgH*dXiC=2Ucw*FL7KeZpM0_FsOvNZ3qt4EFNBAbQ;m^)D1 zfAy{}M}x$*22taHUwt4No59!xZeY0cOmnHlZyCTzu6N1%MixO4`AWNMo-1#A6-co# zATh?`n5-a53LSCtp4=$@DD4(=o{PE4Kx07CW@=w<#V)dEc+Kr`;w$B?>S44&@XR6N zYU7l%9!1pcN)l?VewVw6nfAGm>LnuyOTGgx7jhUb`pYmAWUi96 zehAwxiFt3SBVkL^f2*W-sof{`>#tkr`yireOVljNWp5E?sog+p_kfj8W@mvM+OKr! z7G}ynvvJvOK8mC7xfaUpBt@@fl6S`nw7Gc%DYe(1U|a36HQLxB#;8)bg&MTlsw=8_ zZQK$VHf0m4DW-dPX`Idnc%;AW~ z>JCsq+l4j@`Hqbwo!OI-+5B^{f2RO7tc#*yAFh9EAI9WOmT51yA< zi1c!Da|Szt?;?V9bLO4uy%{fLyXOB>Z#0fy`dITW^>3Jawxm*;d!~dI(!@`@uS+)1 zlsNcgcY&#o9mt5&=2)z*j^EeFTb4bs?nG-x(hCV2-z0*fE1hg?&$Btt@d_Cu7=PX9bSxsPEq^TliccQcrz@nWm!&(?~9Pdkos!cf5_P} z)@mT&MG%0(rs*jzRf?im$~!EU^qy;wHo-L-BoC+rwx#S<6pKoY~;rZSqF^tq3Rio;55r>l{P!d%VOf;yySGIbLae-U3Yae^I&RJe3vF?gBUIpnrb zO>KDWcqv=kg6PK652~)Lg1U^tU=Op`@=?Ndh?$e4QNe*8JKhWqn6+fZk=QhImC*L@ z{K$O8K<#nCxNnDA=Row`)HFoV?jUKQb2QE2OHpQ*P*-w#nM}nX_$Y5i_^iuqtlkW% z%IZ zc;zm8ID#{K!fo9*=vFnqBpFK~sIGmwolyIPFHvgg#ALzs94YN4xd5!r0uxlfL6Y*K zz~T^A1eO)0h>Q5VjpjTO!9;IkrC=jVO9-lE;h@`F^yqKnD6o5Dg{@>V@MYJT9jj)% z+~N8V)HRZsq<3f1b2n<7K2F(dPo`F)PFKg*4OBAM^b08<8PO?SLdoQBW{Oj#f3FDb zp#jkwB9Im)^OlEBo(+?Bb4c~_Ogz!t>?7%!zRPhA_U<{)ZW!1j&<(Dqm!?dK&s+>w zP$KFA7@w#WX*66qHo`??ZOd5s z?;Q?;LLcPhx%0q8woT#1qwbC-_k7$j0b*D+BP{d?o`rQhnpAw0LMC){#%a;9X*x+W z3>6)cn%TMtGFHcjMm=+bl(X-wqJO7M0&(}DY#ycG9=W1U7RJk&XlM!`O=oV%y zQdTw!|3Zo0@a-1gr7@})vDq^#il{TIg^?4TzVsI@=_#@O`Ke3Y{8*>s=f^u;zw*v_g5bU}K_y`@ELn2?-D?>HW5-H9N# z^q-qcJI=K|idx9Gjzno?Oo+gg5=wN^++r#(>O@!$z#VuKtshRRW4$1+vuj*g?&-82 zhAWo{avL9439zJUUaN9$tK^gLLH?-Vq;K9!2(?*>o%1-N7(2Pt?%Y7)#gELh$WxKI zA?asIx0&Hi<~Ek|Biknb3RKm1c2M_w_V{eQo&|EJq`E!*9d2*-jf*V3S_rhFRA-)S z0geUcY7wZ~g>?Egu5EpOJP6y)w(DT1nTCYT{wa}NDU>V4(fxLRI&%tC?=w8Or|G<1 z(iJjB%+%f~7Ka^V29bHakUPX?Cd*lo^dEvi%(&*!Q-i}|AWH+7%i9Er1^%}UsE&2dNY38R}~ z<8qN#tQz79&=#GmS3xAa(7TU5F}t*|Ix)9SVlk{LnXuT?c|}H19C3UIlZ-87(op{vE&4#go-6A^~TGQdb4V)QE?&$${M?SUGK3B z%mXAY?u(D9zOjpNxkw#6{?(!Y9(VGvA(*6WhZX0zH!y)H*db3RXL+i@yVnu#pB z9otd_YDu=dZzd;(M=DEkfNJ5Hwqfh#wYF?-8N-V$Y%{vI85^{T;J!!8)~pZW>$)1+ zVQ%?o|5C{RmjXTuNyj1eIOU7%QPPK{7Uh7CID~C7ppluB9ms+4k^8ul(XP&&+KU3} z-4xu$CA8PyW?aHmcI+j9bJN)9^~ixn7W~-DPSh0H9HfRd1Fj;Z{io;VAc+QM6Qyb5 z=(BQ=)^Q_o9~D8?ZZRDk8A!}a%*%wWT#X|2$bOjU6gl48?T7Qt6KpsQ$5Q8S%OtHQ zIhN`lJAYeiN-YjKx3Tmo&d)4sn+Yd0Ob*=e%CT!Uu_IcW}yGI%Z)R>E1Acz|_CwiPHOz zO(b#GcPHXgU^6HZ+cKrfjF+Wa%_LLmqZ8~7j)@;^%kY_jAgmYh;4fc!g&Ro`nKQ{U zohsGDjB}tHDNmg@AYB|+wX2t@H#TCG=E=FuG(+y{H1ENTTm;PitX4m1uA?&=>Ouuw z1}JwK>&km@$V39)Hz=**>XEc-8RD|-{QQ9ds(bLyxknMuz8l*P(a4%Q2szoZdaLg#OC92u2 zjnHH%Xh$_y8%i(5#A&1Wf2^BQ!dJWVSELH_3#aJ4ml)OgEy_;mp5HBPv+TS3D#0F^ zjV&_&qUV)^-bNM##_2smv0V0s-@K&LNqXFV%mdd$}=(Lp(R?8+yW9h2o7vD z?g;f}h;}_OPwALX?Nngx+hQ4fjiK!B2GNpzXRQ!*V7xU2A17mGb(LFW?CJsEzZB}Z z-(2ZeR+}dwKSRWiS_yZZiy)BEDrVR5SSguzD=Auh%lWTDpXZG_y~(Sy zi2g;c&^KR@9F?`6vo+2%QQ!U@! z{lJ9?lHG8~Sf9fM%*z~|hrK#~wyi#S589~sFU&AX`&^!3*R?j(@fE3rjn6)K+n;$y z)Ufk4$vuK9U;KoP&J@qt;91_^5w%RcNc3Awq~MCFGpu)7t_)KJ=Ry<{lbTsQ_56-! zOPps}>C6G&y<(Q@5e&9NcpFwS}HcLKg(v;_OUDg<4hI)O=&AVKr z38w;Go@H2_W$aUZlKMNQp=pX%KF2}~4rhOrI73{sSzMjB)#6UeKqV^HdYk>WUFNM> zei;NzzDG{6FQayqh<4khhy83;ahfJlaKeAa(*qkP~r&DTwVrg@G&4uB!0e7a05Dq5hto}Mf8nNVxr9tzgOysaH<*nf#8>EhI%CNr1f zS768@k5xQ1-p9!xw&4D6GMb%DYe$RCAFw4_b8qc%EttK3mH-)r{}BS>4@CWs6B0Ej zfk11n#sqqnz<6VXtC!sT83cCdt@eL*)kIP^|932V7D55rk7&j8V?GP+uz0OoI~j|> z8l-aHL)!d{ZML5CeW`z@AVjcUMo50?3AkR4tJ2-UsfAbIVr{5($aaDDH#foI7QeK( z1MO>L=tja!{S^7c7;}0YGQv!c(Q<|Mto9u2V9r+c4rk~?)hgVRo$C%t&jD!=Bjqw! zZG@E*vR0yHM{bxJU*^wiD;1I{f~D=GvdOWwY^ZjT)8 zyH~*9BQbj)Q51b}fk_ZfTF}}bW4}@l%T>MRV{|tft2iV#he~|;lvam3lU`=DeZ8WM z{vDfPd7ab8j&wLr6Pi01M3Rd(aOCYi8C)#dG-h6)aGA%ORM*km5KEf&DC15Hq=oTk z9r7~8qq`R)V`2W1tU7S;D)_P>2eU+DwV5g9sp2Z z2h@y3&D;ktKbo=Io7Av7wqRU4k+cQlrkp*HpKmLj($(UcdvJHOq%39;hjKfY9{Y-1 zBc}2Zm!8MjjC{GPrMcLm7d&TEi{oJ43&nK-ZK(?=L?2f`>v6{?kN{DX6PxDrCuvV_ zfj^~-10l^a%tgpnp<}YvJH5Irv+^kvjC^U1Nzd9hlDiU4IUOy{!dq^Z+aM`&+giFK zOvZAHFpsrHSvX`%HooLstG<(JeRQW{;`5{JS=>3fGbz3PveG=7NIgt-yteaX9DA&_ z(G)D+GjC>FdomdA6$Px#fo`!R7o?;SA?DXObtJ5|3)GAX_$tw;*Z`ghu-=6a;!`s% z7-!y4UAD~zZ7FUkNouEKjgXYJIb8Du5{T#H|34Mp zy$Y(1oL0;R;kdf<<43k|hcb65n@=dFY@+T=gxS;>GaY=V#}CaX361X;4;<`5xlNIg zRKtW%nBPH=pI^ptOUazkM8Y>e*Yd-cbI7;c5gXIXf<)mDTROdlr0)gak`jJwi*Wf8m< z1g!9Qx{pvAT90Z>-~5blloU#dmcV!;o0usTXV|1z9#_d=3e5M*J}2VPUGY#Ln~-mi z{6r8WW=fuRIe16Wfd=J>+m@9d(Cn4IA;$xK^9u<(w)9*KBJwTeKW?BK2U_O%s&@6H z>u2)g6nHaGCE4%~ZMNY+UcX#|9)Q73~jnS{|Y39Y`9(C5BpjNlO+)Wi=i)arke9 z^OB`7_O`NlMvJ6sY;7tWP zOH%Q)|H%7d$CA!uZlpC8G6VN}!B%26b2OO>wbOXS9?`Ye-!L+(-7oRDt%E~u0& z#?oA}7(~g&S~=pGA0NF=P?T@s%JW$n$N5IjlJOaT8oeAN9Apu4{+v?L|IIE|7yad@kx)4klW=-z^H?FmTIt6sMYb!=XA02v1!kJDX*uNPpa%)m zO-pevF!Ie}oTTqLgwZj@-3Q+#R80A$URa{%jq(;1cDllQmwHKo_gZk9Rn26np{kR6 zH;wS|jWC%q{~MVoiYa)Cnu6Lti76QJ{jfxGSPq%9?n$KzdG&6zPT`k|T?`@9Cd_iQ^(Ri-%3&0iK~B%3(`f$h_H>x z6^rRkK96ME;%6}v)Fh*mcIejy;WWGQZ|P_WtsTbqb7X3va)rHts;wcYNqddz=oxjp zB^Y12G?gFDb)f%Ja<5N1IkRqB&cza)NLk`i`SG!Isa=Z&acYIVvRT~Eyc5oF=Skte zP$GqM3s>05WU(KYK`f<_MdrE{c5@vKJ_&!nwjMj|l(1@-d&g9!F_k2A?eEMH?a z=3HZ&!CFkdO?k9whBQX9ES|MJoAE(BYpc_|k$!eYowc_%!n9{Q5z5~U<#sCCZ_IYv z$sRko7f*VR>`4af0;s-4CXJr57EbvDyYjC}qLO#*Ty}n3FSNBlI1;&irbYHcjbI)g z$@dypJhq;%g#Zy8i;q>|Tt+(80(IWyhPo_lHBg(@jEy$(@6rh`ZlocqT|u@{lX@9u zxa0>eV(ocy<)Y1uzRAJFYtBsc_Hr^axz;$lHny3zdr6rIU!NLI>JCzWoni&$7p`&6d_*63bstc=Mkz}I;EhrwW`Xm35^?kk-C=1}>k}t+2LZJwf zREG$X?~TjuP>X%IOTQBlON<>$xpqu=0rBOpF?jRL8)XeXZ_NU%diFF_BUxNG31PZ5 zpeWi&U};jv0d(uuSgc=_bbRE_3dRCyRtms=KG|Mf?4P`nE_^rl zsW#45Gx_@_*}>n=;fd95brsP#-(MJDs(OVzI}soKNcRXDIWi&d6XN$tiq@=TmU#EI z@mB0M=06tz?=hbi%sDy0P{1$K;6>gt4W8o;wSN-TpkIar;Sxb~XM9ebeXep&ompHx zLt+n0k%HO#__TPxy@%$;;~Y?){9z>L$-yawL4oRfU@x_!r_t*GhYnT&&>a^Wvt3Wd zS_=7^i@+Cdk&T-TkAyWm@=4)3*Lt_e-b&>2P&9x=s2gQ<*ShfQY$1jBx$-6o^4c6@ zMZ6W>e%x@xE%fwoYv+22yaLha6LHxfKG7?IN}5PJpY!VLjAy~R23y<6c*Y6KV%s!FS&+{quLttB zNx+S>=!U$=uLrTa!{>PYmY7&29ae4?|67`pHPcsT6(lHnVL2NP5ufM6aw~U_a7~@) zy`K2y;#OC;MC)OjBA*|Z#pUV^k_(AlXB(pSJn08$0dm+!j`d9ts)@K=_sP06#9NBz z7lT9F=fD;K!}@AI5#TNa_M17dMa3XGgoV}|(JQ2g`P;d`G(gOh*)cN!e>WG{3UKRe zpxX!Rx;e0ZV27#y*(lq9PR@?$71{ybIv3ah@TR%IPJlAfZ8{6#u~Zctx@9(yjq~<1 zyAdqUQ(tcpmaFFDI_zOK;L<%`CzZl|tzKEa9mV$2z_z)Zo>Gw=-L}fkCjBQh{aL{H zZk$|A-E=3lTR2reya-mkg_g@725E}ThrBrRR=r;|Am?8uYn(Wzr*ie;RwYai>~mCn zt>7;Q)qZ)O6wEpHQRxcmNBZegb;mh(`pac;NZ5^#Up%jNF&SG}y#8cMw~G$Rt;&}X z8@t^4W^*NQhvkZA!NTz&!8w82kxVKbmT~r64r(n|Z0zXm=6jr0?z!zzFR_R}jjCDE zEx+9sE( zNdpe_ceu-*8%s7Fj&aQt;hvf1H@0NrgHqc6NU2VuRG3s~@sl%P48&x$)`#&Gr?vv8j4|uB{ zs2}jwvuv{CSTF3c{m7p7eF;SM^G|6w#=WKCIg6Ft5tb#coiR$=gOka8;S~ zAoum#De@dax>3_vo3HZk;MR0^l8(WCHr5Wdy~mxE5G&SY+J5(!`N_zhzLO6#-$TIv z`>8!k1ap8&gq!ALP1T#g%;||`NY2S};Lob99L}Dl_Oq*PdJgc#F$F44B8`XV6!Js4 z;=#TTzqloO0r(%6Lh7#V!Ahp~9u(_j2F<-&7oBt-k1kxaua4~bWcZtL59}r7XjfND zSSXnJi z7KbNa0bs8rC=Pjkzj-NMam_c8IcEI&6`_T?-%s!*S z?(n%C{WXFD*-JRm6U(2yDP2B1J|%G~t#0iZ>c`%$?$%0KIzbI_rzEj-Ftv*Ts>-&p zST&X;=5HACxdSI~RlB)JI=_pULi!tSbe;udrST0yl3vhGX^d!e3?AvLFe}7#Q2WhV z5wR&}j~PoT<%{WWCw(iY9h36qVfkP(doa0~iM!}HUBRkcxkEn6%<9}tAXBR`)m#5y za=vH>1(5b;(AXC2>6IYpNa-TX+kmIT@*;n@P;FM<28o9CpO zdfUC^%QEp!xQ!)g6bGla24G#?a_G-GLWw9Tv=d4Bax z&?|Yi`nl?xaaV6=y3}TF183#j+sJt)@*}ge{3pr8(`f>%4Zdx#U&V7CH})&llMj;% z_wWObIGnGM$=IQ%BeIlhUxmBg*HQf9z%hG`n^xd$99@L&a=3nPnt4}bqk_k%hdVwL zA5tRN;+VBbc%|-SB!{KrJh}g{%NaCxf~1YfN^=(u_U|>V;Y*#p970if@m0snAYA}r zdyg@*T-RD$;Q`lhoqRC7A*j8O%xrjImT~f@b}xWXPaaoG6XY>OlaoSoEsEH;aopOM zXVO&%B$}NZv;5gH@&>dzv5Sw?z9yylD0LgF@p(ggUat&CqT9Op;=x|=7We<%$2WJZ zHV;y{vReBY5r+LIf8wRlm9a4J@#D8qF?+eETSRQl9&xzA;iC(PF@Mw8g*h*f4e94k zevp|Lzd0b$6i|ITNaB(B$j9RTw4FRySn~zJm_&C7y8-;q)B0bLTJ#WBM$wu;; z{3J0rDNa8#Bycvbh+bF>5r-hcTtx>bpI5z-cO|HmAOtg^@gWI_R)HPh4UVj$hUQ!_ z^$^$xEACJ+*i%OLSHCIOeD18R0|Tq6|tga zOSVSGp69ypux@t0n_={F0}^A1lx%v;+`8FHTza;F58KRm{5GgA_) z`Y3}Kdgs$pZm7{|nt?j<@?DtgMdasAzeVtQ({B}YQhrx&UekVQO2Tx8eoBH*O_5wd zMfwnds4vHa9CxIMIC#^Ho6-lb|Ln_MVZv=QOz;{NSZBg<12N{lPJ0E>yM-R8{3d0< z`*(OzC!Y`~Cf>*8%>>7^Isj;Z0MtR=(R*ex&m5X7sl~>a zbf;&*Z25~@*-CdxBC=P(wl?_=&nPD1dveT%#x|mjVk4Lza95^K~PY5~GU0W6Bppt_ zU8OG!Y%Sbyv}Frekv_ZW@DyZ_t1N8ioAC0N%Aq3dZ4+KjJnV{>C?Zc26yzloBoh0y zv1)7=DLEh)Z+ED)t8EY$ZscpRg9`v8k$zJ!y}pqs_E(a6LqM>EC6pixSi93PWij1X zyi%)a?_)4et8MRRBdJbRC##`I)JdF2I+#Cliff7xtPA1EahNmFwsbad9m9f5Jf9*OE z{(iTR-t?5bI(e;)*s|fx5}~Bf@%nGZPW|T|K#cU(8pHlBq>Ae2t?DTi3(Z6WsNtDm6iK|Dsq@yV+6j zU9zoo$|jl1aJlO*^YfQ;CO>z%P8fN5Un5E*>#m>tc_fETbfa)9rZp{7gn!#OSC%Nj z!){?)VYhjqWP$sv!ls6MXJC~%UG2k(*KM?AiB05 zFC9mum$xxj@TswvKp3|^Y>&gn2IRJ*vEn1H;#$#JdzdP%eKhYZkM~d1QoR69y@+=UBs!r zPkJh@(mBK)E)JU@86`Yt&>F3KMO4OJXw{Q&#T5~nwBftaTl~zKr~PV|`9f($!hDn( z!dCf(%ANWy%K80}%5rR|AE zZkib?pKn5FUhTm^=gEABeCJquI3aAOZBI!R)xWlN=9Xeq2gMnEYKxsgS%M!+hfy@2 zBnbRlslbnuFPBE(s{Nr+C7jgIO~zj(C8(Ky8A+xFI^e~!7atZIk!?eIU5ufjAmGv84c`W4iVpfY(yp`13l-m zv%vy%?PrMC@LxMNQ?!Qabe%<%4xKCZg|I}9TF9H0zf2}7!X=n}x#GLyUhO97_^=lG z#Yj|Z;dTLekIJukf`oMW7G!;JFo7}XI7dX_^CRieRM z*pwH1QbY<^N+?6pe6Yi_{J_DCma=9X!LTWWp-ll}{#bszi3eyU(ffG_(EcGmK3KSZ zb2=LMPy!L{-yDnw{hP;%f8`c>PfdG;GfqwTg)=zh_$3`cb~5F&3Fs!!?i|?r`Zqcg zo2;NN1>shaiTp@{LM%f>ztCKQgSG@8l#`qK&c3*=$?ryza@%nKXY=qg|aJyF4{8(&9KHZC>PU z!0Y=P3a#VvxiFzl#t{Fi)CqBx+k6wTaK^;uOd<$*ZyMimxx6>GvgtSWd&%1hz1P-p zoCl77Yv4%Nv9N=kn;~rdDUL{xBpOHr+2%GsnW`gA%^>xh3qguG2;2S`*RD+~mx7o} zbslB3@L|lOIxC_v`EaF07i+A|x8=tcUWW!e7fZJGV^tjMLyu1 z_t=ROn_kwoe9hVuqc8R{CRFcv?(On@duxCg z3Q)pAu)0o667wH+;HZ#Z^Bm#)-^RU@H?`Mu{8_zrUVClAo4W1U(Z`!Rc^f^N9sg3x zK~MR(t#^BFf<`pVs8dw04F1lG^N*{6p(_9uv(MZ0&`pv$#h_c=XPD zKlGblM{iAz)p@=qmfLqU>LfS$5y;s4T`{5R(eoDeJu!iqKb-yz4lLo{ivLFD6H`nB zdXpa_oo~{(&2Mm80ruF5i2TE4In41b;MkyEuURD`QQ}K!xd|iU&OT+qqBvzMx}ec~ z=;5a%zr1;>fwYCq`HpsKd~pz{457cPp`wTe>S3DBHGhZ*GCzvriG15K7FXxoDJes4 zvQw&EwV2E&{{UiR3xp{mx191Gm3O+7sogSTifGPcECg8VgT^f$$~glQf})c_`a?mw zOYtpiP;C**0Xj|bB&lVFN)qMjrO+TsSVyaoY$tXjapcck?4)+S;^!O&7-@AEM`!)& z8JWjfwygFrG~%eQX~^Kl{Z^yu$M&#!$)EhKP$rokkM;kkfwNd& zCt9U8vexj`i=D5RyI#zq$+#$*{~}cncjx|rxACRr#z5J;Jp;Vf#?O1dD4wftjx$;{laWXkl_biJ$pCa#D<6uMpRjIP#~^J%?P7{&K0-Y}4a4Ap z?PH+hgXwNUiFJw8xm}CGhXA`+nUEq5kb3V{g(3sq?YAP)_s9>bM#52!8jl|RshI7C zBtM#IrV^Qf!qviD9VmE@3P?Y9dsjlnA475s_%2JfNb15mf?X1kFVQw9uxdER{8OAr z^e7W&(~|yLR|)JfS&UWl9QNXytuht4-NNlfh`w3b2-sAyA=29jl%5IFOW0(Js0sXI z0q;NMmmiDPLSAU)w@9YQ-nI6%mDkn^vlV6wE;`jKcvS)pCuBI+dINH|l$*0_k#Iu4 zJ#O2>8Q_cCLleFVcNv&%O?W~pw#9jhX+lvw+(5Pe1;1Jo(R_7qL&_#h_$+1fW>Z%7 zSa^e;k2R2p3X$;)nowG26OM|cZK9^0_M45gL(Ju93eK7!d!AmuENrs!A&uO5hA(ts zgNo2{hwgPx^_o36slCb0_}vk|v+=ttes{<39{VjcAN}S)9dX2@UMp>MB&6Z za43GC6u(c7--Gen$XhO#n5sMO76%=Alk9Js%n5K4(S&Y41wb+)O#CBFEwquBKK%*>@*ThOBkuf0< z#d!|<7NBKO6G|Zb2sE@%0u;AE+g}M=DJ=K1R zH1F=`o_p`P`?=>Jg}8w{8(p?YD6WUaN|!Xa^u)U{*jf}EEE!r#{T&@0h5S)uF>#=a zJs;SCRS7{G{qGIXIj}`TRM*{T#N~eIZcB{UwfyqWJ4>dtFu~HP)Ze>IAiw{Mzx+Fg z`kd9Fj5{eA*`}n!i$ykfw4B|zsCm|`z7lmIh$N5j$cU$`z>!db4jsq@N=wHRe5}I_~29zIu;@vT`A?C zPicQ5lrJmoJLSB}>6qS-uKgFC#rp)~5yAm(p;$3z$~#=IsaV8{Mj}6zbh|pH*I#e# znu>YHIGr?qFI~);oRrgvu zWmlBLKGDbdyR zs%tqeT0z*R1U@PbTtslhVCkO7a@(iUGc5{|<0rdu8LG=09Gl%3vZlS;DFgi68v~Dn zp~o8E_~_wl=*c5xNoGoKQieFD_NL(K@8fQ>+8RZ@7q4nBdOpi1%G46;yRDE>iRL4R z@!}-$puCKBW9y$K-;GI!YD!M@UFG!dmN`XT!*0tmNa*FxKBCI+67zHox}%X1P3xMSjHD*S`yL-Xtx;6z(6w zqg4;B4Ot43SNinsqn=$8BA-3i=)Qp=mR6Wc~kDvh?K}W?DXVK17 zPvq10UqFDa&l$ZQRgWCc1B$7&xidgOB2&nakyF83N+s+DE;q$MBk$u=Q`0Udf{YPj z9GpTEJX!T3aAk{Jfh77KIBO1m9n0T43l+^2pdlETqPa=xvDr-u0{L~X8hH`DvMufX zn(o+^Mw%RT(*}y(3$QH9W&DvBQuk*?tpT(AWG>m3KACID=UUyQ+v2tcwB3+>-IKic zx~=puqEZuJ*6L<9dDhLgHwOhN z>BRaDxk+|8ZWhG^j+@-TBX!0BH#^)k@(^XgcIlfj1z&eruFZAbHbhzE+QQDA%egrQ zMmN{@ZP(>|C@4zhR#2nCGM(%9k9>$x4%nk1N!H;WoG3?J%GUd)j4YZr$MF+1N1mko5=i%`G|bE56^&H03GNN} zBX-0e?JcG!ub*PnPmfJkWu_8>HlDe>o3DFMO^>?yX^yFT_NT*O2cOaOl*Xz`?B$oe z0HB!bQRp){-ggJzQM9nGMon~=wCqsX_vyV5mDfFu5TL2ngo}{Fs-Bx3Or($6$mFhvLG=_HXB|W>IpP$ zZ=bB>Y~A2YPgGdu$sPdZaeQ&hDW%!{6%Q09N=rhU?1ivH3lZzSY{XT^ne9DK@|HaV zQ*h)zBx6n4TPz;%3lnLRM-`D7k~>nVCHp3j!{Dw#ow;~o)2jq+23aP(wQY$*(&o&+ z=#@aFauX34x!TOgm1)Z)%-C0so4%b)PSNSj_@(1h;PQh3EUg1rS_ZJJi*YaqsUhY~ zlZ=XkL6Y5+o1SVSqiSy^zwR~U%V5fjtF-H+HrPUgB`~Toj3z3=m5ki2WZ)0(G6Bsn z9Q{IS;8cf90G98~P|D)nR95kAYojHnI5E&bv8W4QP0Gk{+B(!4>A`k9W8Iov!Obg| z6=PIJ6?s^LD^tZ413dk0N_x{$Y4JAXSd`f#KW!{q_EH@~+2lC_=CQT|7jMirL^|Y~ zXxC-SR=&wZI{u>mi-$Xah$tRS#foOzSXOja!-}0eqN|=;s{zPJ1E5 zg8M*i4|?yxcfS9FC!vwsD6WnLi(;o5W9Je|0&YU4B|`!X1WbQ!V#@QCBt&obly?)b z7~Lfv^NG!X?cJR=xznKODGFU=~*`ja&{Qh(} zyyh3TWG^*z$ofO6_0Uo}d~Nr~KJvv&o`Mc1&q9Z}20Cnp0vUmMX2}q|K#4D2pu`&? zL&-nYmP#2iq%+5+ST-4=pqinW&WM3B!_DsHBG(37R+H-8bIygo-)nsT$oH8zDzK55@>2qM#6l@wD#cqHo5 zL_&BZLMgx$%SLr+qNafEGSHnQg7D6BGo6F0h3 zD}%umLUqJ$k=QL*iOo{z42qM9CZxF4aDU;vC7gIJrP#luV$4YY+*?_H%UJ*1TLS|7 z>7~e}lo5<$d6+t}1Z2ULIg^$-apP=C23p;UzYKs>bpY_piK~7r#Zq4m?HHK~!Th$* zl4CR9!IY4F481Hqn1sX?OhU4A)o9Fyh>_E)wW9=!Xi?TCvfZ9YJF*0x+LxNzm)xhD zjMa28)|=>fkac6f$6t z;x2qDt&3FaE;;mI;~^_|*-^>VW42V7a(&NCDyJY#DQBV&f%0@8)iUHwy|hcwvDVQpiYGAO$lYd ztTe|uw!2!N=RXRqAwRYdt1v!?XEc3nWgkofCo*$+NZYJ1gg@imHCaIxV z3N6ftEJU&^Y3`k)42Y-Wq818w9#B4X{0DyqA4fl3@_skb4miGuP&>tEO{fga0T=*oz|Bj#cex_z>=NkzOhqSCf%dj9BcMkXX~Vra6{N<#VVg zb?J=v*S6DWD#zJPQvlY%E~pPa@zf3b2A<#{G$7xEbWQj_5F`0&mW{L`i~mS-Y}3mz zM6vqbE}4I+@>d^mW7|HDFApMbq0ioLT9~G4jwSCmkH??pW|ubXg>Kd~5m=K(-npAb zl1BC1CW6J!G*U}BZ@`&mO6eP1>VNRHtl5XIqZaRw=DSi5dj_OnAfF#^04r@j=+fbX z7z@DL%3Yyv+`wmEpvh5GgO~<6OhmN9Ryi|ENqeVgZc)0ON7)_isfd&4;y?fZC2I@d%@YOFbzNw60y znn${J6Eaw(XZKx1w=ee?VaN-8nkDP~DifuTWsKQCp!jz1D~LeDKtvjFv^tIW3H;v4 z1MYTFSF81j1d3NvOxl>6>~|nWkOzQbTy`TkcnCsIUSu zXe0)|>BbU+JUupK(rQbQgicJvb{=6~hfAc`XzwD}Jo8513-4d`?jRQFVT3&mQnZIs zo1bll@Kn|V0&>Kz-WkG;C!$ZZ3P&EMIL&Z&HS>!6?w7(kae>UBA)Gcl`FifEq-qP* z!C0)R%ncuY4dZ1~9eM}7<@JbeC$=xq5qU~uh8W+h=UD;O=y%|h=o06K}Gic|4G{oDXSlXF_QPFs9K4nfEOb%4Z+ z3Wg}Wwd9^z&S|)63918iY&weT8&>qDON|Tns%@;D+;$m^#h2UOux10j%}HDJH}_p{ z+7+`t; zDdfZx}#%q^OexCHxdd;xZ z9ZDoj4^24(j-N^sZb;T1{6e65Ar^TyKsZiBP|W>{))FXNS>jVU*LsXKQ^R@#KHsH2 z5Qq0#X&Bkph>$C|J=?H7)Ltsn@DoI} zdJq#3yr;(hVe!9D{m-pG9fhlL8JC!cS5XN5e(I0I=Vr6$<2jeGQ@p~27bdH#e0r$- z`Q!D-r{WTai_mspkT3=tSp5Ki5Fko(oR8^HL-y@QDZMaiiOCxWyDwAwn#>T&4Z>Zd z3Oz#asznpK2DUS~sNOZU~?~EEUX$dj`Tb zM=x@GFst$q=@74wq73Dw=KN%-RIdxHCdXo=Zf)VIQjhf{Qg3!a#= zo-yRAoWif?H%y#&nK;7|*j#*)UxA;Wujkei5&i9OJMjceIcprvaS$}2d!B#XGaDaT|?rS=7}ESE{J(0PAiu8S`lJ+>?#T4vCq+; zQS3FP6W?AFy({XU3(-=~JWD`KvF=TUQ3;>)aJK$>HP-)KhgRNWFGD7_H8YDmj}qox zVuqf_0?)g}l%BmH(kDK1J)Y)k&Flc|%uYUiO>x`nj3IV&=6RCHUdhV{v}s4#3n%0D zj6%dzh;xbaqi^#k2@lZQNdIPK!kgI3LG~)0<=F@7lQt3dTh-zS6W`!MLE=L{#NAVl z$-)##XT9k~q5c1wD6G@@eraW_RTvj)R`H?lhIO>oL;6VojO&>IH51vy?f;emnJ=9< zSc>+g{p+D$h#nzt*RJ1b6)!Va{ttrr03n~i{4zhQcy;yi6qXP0V-ix?aAL~uwA!w- zXAY}nPwkv;dBe8Do;ji(7uz$ps%69gOPAN$Gu&DLXN^5mQ_IQ_a=SfqRDCkF$LTRg zpMba#o6GyI*eWoSzvIdRZ`f09AG(}nxyf4W#tPnEuxC8H8 zQ(IH0{vpHkiZ@eSx^&`oBhl|f{ZT3qKGg6%-Ky|K;;9%5^KG^co-4+>#`70NDHKh_mQePLOiq{YIqQSw; ze|c1ZHKtVATIFn9p4P`w>I&m-d{43x*MK-rPT`xIbGAqS$uELK0UV00_tIsovxIvcRH~tl7;lny`Fk z*tSrO_>h>&HSOnxBR_BWrqwPPv001IHI2pz_GsSuWaX9Q!%c75UgGxd7E*1*%3i=Q zQ!{%iQJJ0@E*!J0pf|kWCx(j?u|^i9j4i=NI%GFY2-yyP$YH) zS|naQ|2yq$#H0T`Ta`N*FqcUYWw~KRAXxpgXQc+M+1(|CFXiEht6O(V!x z!o@UxVffQET)q-6rmf#F{2C3HuY`+f>o*MFqv5_75me2G0-EzC6&lh{rWw*E{UCtISOP4v%7C76G zzHkpCE*BI!fi!53WM5*`a&TQ*UXy^Mm$MJKJ1qxRPB_b@6Kz*VuaEovwGK*Q77s#9 zwrU&|LTqEOUm@ftV*>An?-FA0c$8Xplp=agx12sb-V@oz>)xB6LAVfuH>BZW?b*uy zXT0Y)RWk9pJ+NW-$YRV0;lci-+Bv)?;52)}FyQoTXqOeg2>Icu0YWM4V#|K6Pxp_; zM;|xdgGL6BSCIw?9sS}!5=r_1Cjy_trW>vC$Ag~o46tD^(Jc5j^-+nHc7F?%d+5H-Scw z5u5f#xM#_wpt%f4F7FD<&;Ystss09_@;q-SCZHy%>N#2@HUm`a)s|pgEo4>?1t+V42|B{_QW7 zv73QT%;4x_pHSq&(Z_{STB=hL?!=To>o$qc$tPibav~DA(H)@Yh@o3bt&OYUrmZ<9 z(Z-i!5?{_q1n@F|DnZS8^n9H zb&I!C(BWicD?5b1CAArg+$+rE$a|nW$e}^+Dydrjj*l0&9+U&Gbm+y|4ov(%kgl}W_1CX3nq-Yt?1uX(&)v3P6bn=G#Jrm?{Cm71ue9NuA+G+LtPXDp4Y z{>|LRZ)1db+`AQjGYEjQ3`AUkMT&}?yeH@}c(op6{qQ4HMR^-39&DSIm*FO^mB%zc z^|xDIQXLktkB@jONarQ+(H9BXr1<*d#^fn4A~Af4GTKUWNFIs9rZJi%v#p3fXgY`h zig7nKnmRlVOMozggK0NW8Cjki)FlgvBjA3Ej5fyhfx7MSy6uC~0vgX7rX2!*-?`=H zdXyt|+ljhuQj*;a_*=afp!K8fKVP@qRJTplZGTy}P1kK7YJijllEP*Dz14f6I78e| z)@@&4tbs^gPF-;40*&bS$QrQ>Itcjk`Y^MJVsU6qvM=i-r;8i*do%b!1nF}~#otf; z`hnW%QlhdhS;;%_^-YFyW1zp|=HM#nO_H>C_LVHUG9p+xEw2JNFz@*(gfjX#;7j|x zXA5}X3Szfnu2RH0X^`F?oX5x0m<(Uzy^J;92qbbSqaJ|^suju@*A^a0P58N3v1z{> zOUn6iF4hw{dAdc~TS+IS->Q;^GocQ~_E=;&IVE%wk>?J@*6Q+Vy5Lk{E&#|;gl?&% ztOiL-X7;j+8xBsTdm?v3?oL2PA`{z=z{jWng$)kL8Y?$$wDW5_V)h|#it;|*YUMc^ zlCW|&q3hDI?$Mseail}EAnQ_#SJDZ!L_pU8;>VoseN;eU{P5%B;^Ycho?bp4)841U zQ0Z<2f(`m{UR3ewNrZzPwCqC|QV9GeO0TwyTL%-Cj02MrW2=d=mBE1+;yYoQ!ifGo zA~iz7$>P@ii1|2}4n~t-`IOeQG0!xE@af|4eguVhz8+dWGw2z%=^&$K#M;w1;*LLV z#)d_n6M^Su6Z3H3JiHj3_W+wZ19EA|TNv_#AeJN-hAWTmyvc0t`PW4sNph&UNyzTR z;PuhJcKjvCRt@CML7s<MHx8F9*BP5_P=P|J;r3*^T_izJ}}yI$ESbr z;?cdf@iLB>I`+mFqVcXrL;*?g*l4lI`+G=P(~qhDMeljvNAY)!|JomX{=6|RJqqfy zSE@0J$SGsFEM9Cgw$fmb!%ff3k8)puh=zmv7+y_2SS-d=_0SB|qg6dhbLZV0y~>wU zzn@Z0JI(Xj{gesOK%>XRlFB5yZplkI;_@R z*X#EN{ocsedmAkYWDT7aFy8;c=a{;!+3RKFWX%dl;3wcn=pv>a`x-jS z7A&!A=r^Z2IG`tFYZ$UkL#$3uEb(gu=s*uZeRB`q=VvO7FSy)O(9{rHa?%LhgvTcLZ)$l=j}3cQF_( z@{4(wh*x^03Z%SQrS<7|;%1T7cQZFsk>lo0i|Jgb%X=Zis#;znmbr^=jXvV!8T@0V z6aR5*^vRU)%*i~XV5$PK5w;YnQ3J-9lb<*VDvRs&7T= zm#0Bpyf~oxWY>oy6uz1I`U=9CNiz~hbTp?n_5ZGwmEo+wkY*MbexHvUlM(a=(q9!$|P3T zZv;IppkHL>0nJN1LOgE{Ek|?;v305L3)PzfrA;ZE;?@Hk$4Nn*6T;CeRS+hf4=p$S zMto<<@|HTj>IxH0omo?|rg#~mLC&l|X;EoQgTT=nr6eygUinF8X44W&V+2ih^30q7 z^~!KbE~BK-77ql@ry*Lo@L|iQ&(bjEVVE~g!vqfkV7Ze9Wa|F6kW=O4C)dMvf+y{w z>?Mf4e3?3fz1_*}8y)XWCc+EFFx#?mGKMvWjOWONiyS{DFRwzdKi#@Y5G3uD?U(o11Zep9n<7bI5(HLREMA*ZcP9PsPVTXwQxdzc(%>5mf3lU|Z@i1! z?5b?+CjxR4(KOI|EFuTxLaq()JA%rS_ z(m}-gV}XLRwZRFe(EPDmXbeum?9UsUY?;){j3Uce=tkI~up|)XMp+VwDNBM+3PgA{ zt*ei)E@K#jH%nJ?^RmHbVK;B8*eol~4&xI7!z?QE5L z2kjNrOL5(hU42A$Mo-EFDH}Bzn-=_8ex8yLDMeh)q!)$Bk@9I1{2RkbfSP4*&Bu)S zs2H;1hgHK^{?M$-=3$4MFU|eqL(xZMQ8sTDW%HnW;#Kd6{vzdX=I}vkr+chWWo^a= z=m13xc2(B4P=!~>Z+6x|61`y|QL4Ua3KN|*(6E{LYcy%dXSR?Qn2#^O++2q#g}hwK zc1i6t;rM>UsAhmH6GIq9zPI|nFfzT=iu?|1`q#)_}o_adEebN?D@4Y?HZdb zwrhoRk&&$`j(RJ0M>$$JF0rWpCne)Cdxs{#kk}x2TD+-Lnd$m4xvg7J!NmTV112Y3 zI|fuARt!*St4@Ro&SZs|BuI8(d;Z0>!B=tJ}naDMA_4*8i>D#jv&j zW+A41a^?KE$8lM?_@tM|P{3Oo-*|wG(@hMs-vgUVzFmpp5+7 z&vpl=fV6ik@(}*qzH)MwpU;#xA-7<^)cBu=m6J_+ujGtx({03yC4KK+9F4V~=$eN! zu#+*kbNEpwzhO-P;i_!1=&#>uN*POPx}M{w{m3Y(%aOoe>r6fB65$F&;iZ46py_1In$5{hUl>Q=`jwx%) zd!$h-47BF(h$XUK!dr%kOHebcEtgO_6Sv*&OB7dmUuDa&kP7{w!W*|C3^7pblivGi zG!tf5wWK;?+oD_94*(Wy6b1ffnCmmJsS0qrdUo)!5H8JNi{|eLwXvfttdKx5Z$9 z{1sKw!4t!Cd3M%piP+{};3JO?+tl?-TrjIii4pyiOM+)uz^eCh5YDAWUIap5lJs7I zdqiUb$o{hdArsRvqiy1TRLV8i#kZ@qq3rszxMT@emm4 zKnVIsg1_e6UI(z%KfuYAv*`xDg#MvcmKts%D9P~CgEsvg8mhM?`n#Yb?@ol0w<&`M z^;0%1)pl%c0d6+K0%!CLeXkr>Azv|jppBOz2o``PBveB59ccLmoTWED8XcKi_m9!n z`v-s~e=+afv`y@C&WnXI^tTdIenb4qo4kJJu9@|GYoNPL-DU zGG|{VJwX;1V!kn`7wSm}KwkZ{_{Of1u5ItV^4?D*Tfad>??wj7(y0J! z;JL11HO2`7tKK6EsRgKypioUN)4eD$HGgNT4Nl4Rkx@lzW9Tfk@os8kNmZy9<$ot* zxYWayQV;KGz*L6sb(}CY6v~t}#Ok|2dHT+4;qbnpEtj>R-&5*waT8k>M;f~%8=Zo7 zfh--0S5f6w&@%vR9;M4OY(V=0VKB@@M6MAnP*i0P1)8eX{g9*$nyRFx`T$H?VQ)1^ zEY2XwDhDS0wWQ3Gm(g$~>Gm!l)DBd?p-6potQ4tl)j?;M%I>2F6`yg#iw4ljH`6T#(!+egOO|p-$<3gG^tc_T{re4e$o| zDFJS7SfXd_FwPoCq7A-RPt{Q`QHarovjv(h#+sT0hC7Ufq~Ee?lafmGU>Y^(edky+ z=i{m@w`K-0A1gDssQT!klr^(O^rQ3Axm`9%FIvdYKBEX{4V-)a=c0e^KWRrI+)F{^ z@xBQ=Kd`pV>YB91yfhPD8@;Yc%xIUF!bEnW_asftWghd2*x+Vgh;AS19A)<){%v+a zQ?$i91M?)$V0Qt(x6SHofbRzxm}p@J>7#fHU=wb>{8 z(`~kBlKD^Kfa;BMVSuoJT(UXVF;rtKXIKoME@7xTHc=6GMqb(#@_ z)mCOxeh3kCZEk8H=C%?Tbh-iWCjffoRx$nOFmTlO|vg2c{ z@pHN21+Je%Fx!o}cIv6!G=&vf?7(tHt$@w8w=)!J@qR58fB+X_b(m^FmW!#Dd|O9Y zL&&)7LxvkQBvq4f3qg%!{c^K-$Bdta1c{8Bo!HDu3xSGm>VikHw7}B(Y8D{Hb#Bur z9HR`srt+Sm?nEun$n`8V1j^tg`CKN?s|0C}5MeJy)l~e$5@BHCH|JqA29-b7kl1Zn zjvU0MO*+2Q|!@Qm%iw5`kLF~ZMMVnkB6C=%NcR8d_h}knNi^m zR?|7ekA<&0=!^L35v>yU75qz6o4L8qq}MTZD>Cp}Yx{B#CO_y2&G1J87UMjjW^Uv3n&C zvV^g%shm~$5eeQvWVY`?g;Z~r**2BmLk-v>^vIlkRh)QXkG-R0??_v`3)*TGFRkht z??z($9lvMudm%qzNVJN(P2gc1(mP}+F6JNe8+i*Kt9XDIvcE0zdjY=zewXokCO@k< zZPK5I;}AcVD{9KJs(irS(J_=nNBbt0YkTAQJ>^mHvF#OmZB+vVrsd1SNLPlDhU^^` z+wRyaq34;Sf9FVl{-B{F`E%d(l5fw=COl-jbn5r5^4*p}}AK=V;HsM}y!Z zH?jiO+EAuk>2xg{4~L zQp*rGvMfhAqZh(WV?|vlq?tj2mlAxUPLmu}l(R{wG3)S2Z{GuhV{ZnMOhS^+rP|v- zM?~^>pIPl7Bt$EST|RfuH=>1SnRj(8QO!F55tn$fjCh|vhaGFkk6r-37>&<4t!mX9>14AnN5`D?)XOZ4RJXS*gki|$>=gq!T0u7 z;%k795;?$U5&?L|gHHgSkW6WA&&lX};#)Q0HQ$UbKkq3MdY`JN+y2ey8}^TpuCd00 z+W!Bsf=_JuR`dqT-_6cYP=NcArr*sGwXxlIX{HDw@m* zP5u)&rHi@$Ax+*Xoz@T~uxaML@V)3;u3TsugK}{jZz;GK;9#MlL;L@*9mcF(Ju1QM#wjbbUVm-r)nykIA9G*&e)MV|-c>`Xh!q@8 zT2mo?OH({GrFmZniz9o_g{l#%)v*_uP92pL=j*^lM6;OvvEMOQA1=96J;}Xk{3UBOfcq=qj?$$)+Te<`1K9kIQOc_uR1`MT=*nTt@F8gP8YKQ=i$=+;e^u{gb#{%kG}L=f}~t zXB%D@5_o!utStG{uv;b4A{8 zl;}>9n299v$SYqco#_90bcf|jt?mUNqEL`zRc_~63-PANsQDo2M>AHpykK#n_ZQKhTfVH2N5P(pqCvDnl?uqj5axybNa0D> z9T{xm35lu9o+c}yCVjFG#m;KyA~hE`FB%ZaMLT_ndX%RLqop-=Uo2)#aIZkdvB>wq zs7jvs$;^rG{VMvSs6PW1yaPvsxXNXjtR5Ll$GrCfKvXa~^3F27i~ZuAG%ha_TM957dLoRuAoWp_A=AOwt2wNNz z>D|SxqoosL{}p{#%KsMlamUI6MR!@&tn7bax{#e!*4d7D)D?C98=%2Ggbvg7mrme`x$!1GLz`F)PmWgx1NheLYpBQIl*c9dx>M2d9Ot&0 zdn$j*x83A;<-2aOa=xTQEkUeO6cmvZTgk7wUn}gs`*>I+Xa!OMxvWP{S@DT=Ic=Ka ziiH*_cOky-h}O~(XdrQDQEOdsDi6!Xa_=#QOQRkuiDD?#lQox2STFKzsDW#C4*7y} z;ry19kZb)^oY`Ac*l+p=^)!dlLvi+n4gzJ=**U~zNx>XAOWh-GeE3p3wGd(15QE)9 zgdCCrI>YF`%ybY0nha>d;VfmLC81}M=QD^IILC}PgK^!0ioSrBi0+3B1Rb=J0Vcy7 zvL}O+@8^Pa<h4iiAXoJw-<(Qby&jR$o8*W>9R2z7W0>dlBbB=7 zU(kOU#`XQZ<&T6w*1j*P%eAZe9&Uh@82U!}zIv3`gi&4swWrI+8ESi5qno7*)#K#D zI8A}2ctJk`{`107`&V%ah1v9>!17@+PfT}N&v%A*SjC=x2FFyj%ZMH;z{m`_6;sB! z+v<5Mh3QXOJ!^XqK`C5%bIVs*-|@d96izXVX%(1pT=s3XzmYTXzhj-|eSi z4>^9EFnSA4?%#CYGB5R{idzPA=wHwr2Ry!o-@fQ%a=$g2G zzQ&xSk?#m1`$6QFs@YY0jhf4A_o=y}_Mn<8YY(g0U3)~$VygCGV@cOOZY-JFXN@IW z`--tN)t)ex=Gu>p#c!$o+Spoa@v>m|!p4HMh!+JZsM%RtsphiUIT{r`F1*+Z3tbN4 zt`Fi~6vVw;&92(jYA&x`tLBQ@4PyGeD{F_;qq{bvCIxxEv7~D+G?q;5Ua=g1G5IYI zvzybfLhUVTcGezJb6M@(YIfD$FXnML075w?k#Eyzx6l`2+O(?Z_)~I>3RBNFSVfFK z&fv7YA3^<>or;!Y$-=2vABRkwF(uDDx=MO4BV{R7934V%nP$bw zq-PFIljhJA$;^$1rpe&Y^z-Lhzw-Y+D6Pf_F~kC^LaYlh2aNy#K!%ViGU zenYt&PinTf=YOGGZ(d`4$^Yi>U9KK;UYI=dyfEqAFYP34xlrEM7_Uos1(@{yP#pF0 zwx2vTS#QYppdlUal~UmUh4S9uSwHw6w&U+tu8s!!?5G#(4N|QCrFPsjx2I%1;D7)3 zZp?*a+C}ZzunSL`W7@@y`e0+DzCCPIPNJYJ&Tq?<}BqO54&rD7yS_R{WWFmk+i{x20*3j2?9t4h|u+>a~P zyOy!)jM&V&=9tv--CBh?T~9^ zgWO`VLGFKSK&9ZE;&S65ImJQ4-yjZa5%XiSW%26HwFY>a>QH0j2S2m$WQ!IH* zqWiLaF;d@Q#ww4wG3PEAnPPXrEXC$-o+q_Cr$-YFeoo*g3KiIKur+K5Oh_QQjP{zX zhPlTLc%Gcp;DhCDOEU07XxzX4259LzG{ZX;PY!-KiCAz1kE7x2IUBiTlcR#t8F&=- z#_p0b>MGN0N%v9PaMJ}fmbPboiGZL4^a=G@h~ksABlm+%@PIB9D`k+h&+yT6Rn#x> z^k5w?Ckx077KKP_A4R-qvBxqR9kFsm`Y5-_RfB|FX+agNs$+81rXp6fQG}%h&5#W_ zJArmI?-x+bsM*oSBj-R*&z4f?#cE%ZsQ`0gQZg-1(M-t-Ll+^Pys&A0;k&iBj%3qy1Eq9lHWioRMGqW)|y8vWPI83Q%(f z;JTN_k0Z%MkfkBn;-&&8xB3k@14-L4muc|y6Plnh64i7E>DS{x2vxB*_M zNZ)NSNTDZBv~Dy6xh(<0(-ZJ8v=r8nw0%){hc7r` zqMKWk9&F{!{LT>F93V0%L}_>1Q8(7qF`a8KC){?9h{TJ)oLtX)r=i8lzq;-D$qhYm zw^eu`B2>QX_M_;t)%H#iz9vkT>O0?Ur?p#A9aW{V`Q}m!jV*f+w^gdZZKt2NxaqYH zsvfHFV^Dli4v@I;qloa0xhZXY4eKcPG?t@7Yp~)5={iW);dbQLehubPO=P+q>*2_4 z^cvGMf)Uc^?XLECl%mwfJwv>W?W#ExMz7B%H%Vv6H|elBnTt0>3PuSO$gpb{)*2bl z;tgPf2y$ps4b-$1{hosyn!u*Nkh?}h+0$MXK<*5_Sp@6~v)e#NLoB=$slF!=;~-rf zJ|tnZ$!~or2#S6J*m1xz)sV(bYLe*&r2WvZ>Y|y`48nrYnaNN+x7YB*qW^L5UB4Sr zsQ8e}frmks+2CG($4ewm)sys7iKWeVbjWkL5vs4hAz-;?OvT1;dLyJ(iT? zt%jk)%s?@4)#Eb6KZx>+!AG5@WFMm9mQEMGPIQ_msTCeGbQTV^JOhZZNeL#5!aCFf zE9Qpx37LRW^>|bJQlP+_$4qAUwNdISF*v(i+h&J@vW0#k^-U#wJ)A2(XG6W@!6?UQ z=d}XS%*`Wku11mzG!o3ro9-22lygAS)(!O#w(FURrWaxi_@>Wh{Q49vx{~$S_)5z3Rhb^S)NrYRw9P4s zlDMf$sVv(}`Mk79*pAjy15F2$W&!C+G6z%41C5r6@j0K zO%MCHFhwGMaB45t63+#*MTlLNI1`2V7(GkWQG&$T@J_Is*KY zBc0zgF@i~h!QO|7N~*cA*9xhO*XCg;i|SwjCdYBoWf8}qCJS|W;b7>v zj-G>O#NpCluN*x(iNXJy?Bmw#EG0Ju_eW6|Y*9tQL}}V)7=)fLB`K!XBX2;u45xpA zay2hbr{sWDnfh8q3B9n2N^ceZP())1x3jLu8&J3RS_PBEzu0I52n6_M2*A1yw@tbrq!GrYtxZdc1<@iq;tV!hIC(~ zCEGS?LT$Rg3^yX+9nrqjZL;zVp_$<`OXJ3bW*TrcQ#%ug+_U6c| zEFjVl(;(RhD3$lu{Y68JMp%oy&3GMvhhDTO4KYkf!%@9CD0!i3DxUY!(g556G$h%{ zfMc&?{U^88@)y7uSk(}zi{0nqodvtmunP_}H^kgI%}rcsvcbo5X?+{*?%pJd3=nT% zQ8#<7h7 zjCCs8JDr#wYjWh9i%qiz;kKNmU~v$$kHs`~ zO!1BDw^|&b1jepdYD5k@I_0nkHWA+v4z_bJDb0GKrIkqnX$uD=%`KOn4*E^LUIa@nZHs+FL<1*smRyVAT!l$fpu3H{QH z<6L#0V;3`PJCd54ERVReGKdVPkWk(n6Y=HA;2hQqvT<-gT+!{rbRBQ)o;BC>gR!pOK6nB2z3A=Jfa(V&R{VYlo zvG@)-ENJwm(Y$lXpOfsgKS{@vEAn(|A>qL(9{)9DpFDf^q>!4>I^f|23KG}9$L`Cu zz|kYz^!YvYvV%krxt_P^$@-+|MtA{jsZC(&6={}Q*;@O&OVli!QA6{ACxlV}|E4zb zHq@ofW~>?~smWM|NzXRz27^QB8Dh=a(~lQ9RWs45&2iH%32Ctr*&eVbPc*hoQrjjM z7jCF;N#qiR~H zr!KKq&22aL<#S)Y!n)SK!kYa9+E5<3m%R>|G?>(5@uLpgG;gC&;CERE3cCP?@E$Di z69}IQ3jpC^U;!Xdth?kJjsdbx7vTY4#)QSyJ?e6n%Sr8ZGv{Ji;}loVoa>7X{s@F; zN>cPdN=0(0+=b2;ji%cW6RJ;^2EU*Q6+-R9+~Cf1W4C4n#hEq6dw#)NP!7Gnzu-+a zv6*w4c_X#PsiperP^3)aFWv(S-crU_eV9po#?!Fk4M7=8C8l!cJMjIklNMgq_y5GzK9p` zk3A6Bj=e=JY}eizdZ>lxe~(DX{*sKXo(s-+i+I*RNXR=xAyDdgKxzaaUswRr97zQ4 zJZqM39&nyDlvIfdSwA6f7JKq%WPR4a@EN28#=LJYNeajz0a=xuSI?%7oL|SpAhI|# z2>d6@J4l5iOOs_9+V2)Z`TeWd$Z%KQs#-T@%gswdk{f?4E9NQDWcNH0_|{!-6WqLe3<~PH6kirI>=l>O$cIV#6AO4$;%5d z^$n^E5Cc@{Q12ifTXK~3k&$d|;>sR^&>^=tqKbdhb`QB8?@!tuXHrPi)#}LfyyS;( zPjNHm6gMUxD2R?)I6uontk*h(S+BTpkX2c6BfDJ|A+gj0$&_AxB~zLl-NSC|^>AYf z&mnuAjf0;QIStnqxG%bl)j&7W6}Z0>AbhKE2D*vYh)B_1)YrJl(bre^;`93aTIT04 zzyM~O3rzOI#gV}e23L%}vwZL!oP?o9*IDzLMXgc-8w&8QDtp#m8p!>>;!UQaO<6Le;q`@Uq#56YZ$ zQV)QJ=AY2)Q&Q#3M`WfOIK?GxQ0ly)VmpV@irR5V@EaG8g5+DV{p8~7BwZ{b@9178 zNGiz{Te-St>SuEHjQj6UVGZot0RKx|47W z37P2obDh_1VMmU|I|87}a$u7Vjg7DCx`N{i@JgEb1MsXpBU) zR{{*t36cgNmRf?ucuN}fUX)mxRvtR}lGr36(y9C($Q(Np9(``QT3sfkxC9+lGaJsrEbAA%3 z%xedS)$)f^U4rLU291GjiLqB)fcKsp#kM(f`Y3HZiks zp*|I!`0~@O#~nWu*!(!PSIN}g(jUriv#zio63;3^d9SclV6(F&wXUn+H~U0qYNLRgl0`zm86GmLSpXUQXEM7bN1&#(aiXYjNzM* zEvt$W4)-t&qb?T_#D|Sfp{fJRxCR*2xE#Ia;pyc;G$+ujDVp$jnrZZW9AM+qC*ZMB z)i7cPs$srfuTEr>Io{79Xr#>VHd=9a8?CszMJsN}+O29rL@BPQ3kj9tvd)6s;RTgU z!aNY)r+EPJ*8(wLI_%rlZlerWQuieTaMIZXz;Xb%GR5uILZ>l*tnr*4Ek1%&H(R>{ zRW3bdDZiV>QVqE3-eK*g{nP{hRT8Dq%a3`h#jm;8BgkaQZab3PiY}ubK^B0J4bvD{kh8BKG3n@>|32Cz>V_70m`y1~)Vt zNQtIPCmy-QS{w5@%Z~6S#*GW_3NNO(Nl9C=?QG43PY8KtvF%yZ%Qbm_hkDmO?x?P@ z5q2~lE2!)@j;fi|cd&6SQ)N7$&}4F@l^@*1*@44(H1~^$H{%`Fz5 zJJaku`s~D!67#&oWG_s-b&sGPXcNsGF<-XUB4=)UZkdzoD!0bmE|J2}6?(eMV%vw} zc&__SY`ga*(9A7&ml?~7)Vv}*U(Ky_S6B%bNo!sosCpGXxo+2A4(@dix7*{XN80O` zz@l69-YEM&mKEtrSHb||HYhbe1iMbcT{-Y>cV(vhC&c?W_~m-s9`93ZjB=~uo&6nT zwkjxWEUsl`8>4;{x5xVjiP+=%J(W+FA2Nga%{0ZFX$pH$Qy|!prZ{^`Tvcxg8%dq= z41kIrw4^B{nQ4mEmMnC%!orHD-d)&pd~GB);2&LF=cb*jnR?w9oLr~WeW%oYXHfSA zx1e?3*--b(+=8k5E_a!gm~W`uE~=z+w84jV@|QQ%_zHK$LXG!bj7#fvWwGe4G~7_R zZmPB&INhc+^_q>l-HFkXyOI|CjMVH(cV*>Mrpb6spiOs3TP=U#VHQaF%*Z$fDjSxq z4QB~CDE~{E;E!m6{CrwR&iRbe{ifp(Bf@NC+gZLN(LK*|ENA-U==M!Fl7PFv`B8N} zLtUMLYp1%F1+Gig1^sDEp3^RtX@QaWYxbc~M z>KJ@oP^)9`Idz2?d|F*01|P-cfIzz3K|eGAe99mv`T`)G$j`6;Ze!0go&HXYv z%~-srYdu`4Rp70azS5@c=C+w`m2-2Z9XVG|qoXS5Ipj-#Hfg&9+mG~>b5F8IN;vC3 z5a!Wr>fNbkMw)3M?<(?|=UD%$itSd2?QDD9^4Sfi(`9AsQj-H`_%FfSo zi0obCi;Im05@tM$Ls1zt?7%cb#9g>FjchMqP+$LL3psHno-tLgW#8VB*9ZyD!zp2k zp{z6c`3>iwYu0-j*xP|QbiSK1QATq<;$_^_`mb9EmoagSNm)j=2t1h{?a1dT!2Q$^ zhYnJ@%^$;U$2Zz>_&QIDd`c&4TG+Jh(~?0kuLvyFY`Hra5;=#`kx^T5)(;DpNha3+ zOOhJ~4P6xJS>H1H-$XbO-G+Ua6e?>sD-zmdbp`AZp5Bi43%d%uk+Txk1J zk%@v>7@bFuoTO&IT_CV?e#4z;12G|i*?)8AJd2z>h;FyB`hk7uncCaJ0GZG< z&d@dsSoH*T>rlmV=z(GUx^<{a`=SHR)q&Tem09o{6@2&*3pRQsrfQbK2=Qz_4;+Q$ zjG-M(`w}k{SPevm2J79-NpAdHQUoGDWqb>DJ%_1TFUs5Ald@}40jerjTiU@JAh*&M z+u~`yAi{&c!{a9nkrk;;Bp7LFh_TDQE2Eno zIOJ6ki!iA{mK|zlV#U_^4bP4hx6NPDZQ>4*(D#NVd9i1HgG!B-2D919is?y&Abj2Y z2A0J=>JJORlJG?Fr|RPb=0eI+tjI{xR|U280&N2y%PcZ%F;FbK5RfSTDga~5#tG8hv8sR5`NN0--Q-Nh~-y_2t)7bBC0iO7MLU{qX_yozzsELB=@d;1=1uF_JrU-z`AhDhY}mE+ z`j)g_TkKSa|0T-IMX5Alz2$6LE^4oUg-W6{#;CWRK8&n!;*RJtt?F+k>2^|e9TUPN0%yL zSC*$oNNbj-7oV|HSZj6)?+a72YV{EYJtkX*v+WojUc7o`)hZcZmFsfmbIWDfx?Gm6 z%QbI&-LB-2gWvqR?-Z7N4;MW!}A}NQWRwuVLZgm z(*GHZfF84~S^vMWal@c+8a52w1MhLWGv$X_{(oE&ta4ZB=-YYy$=qrdwyVf)^{67L zbr#ca+!WlGk~QD%RbF zX{RMSyTFs3-Bsbv?keB3k8JIN7Gvu+-_R7gy<>Z!t)-2{CZM5ty4f4lo2T!YxU><9 z#cou#NAc0<0vk3dxUH1@VIOkEALMPMKfl& z=eR}|Xqk~67}89!$hT;&x5`Ktugbi45uJMTW734-QZ198M`I=SG9@b=15bR)N3YGHIoK?}$!wRlK%=1t}j5ARx%RJJ5diqUK;IsEDJ+C}MPx?hw| zJcceb%Q$fG(T-Plj1GT{b(_g0NOYAqCF?dgk6E{giop5NY%;O&t8%j^3)5#nm=99o zg{_r!q%dB&&Mf2hT3(e}&6Iaq&SdB0*!<{Kn^u!T*IMe~ z?P^X++50?`%4P4PG$(r>aeL3=)7S2p!Gs)xQH4uhV#s(A?t~_Ttx)In)3O)J&#!w+ zkpJ3-&Cp;H+A+JKw|)T4R-0|BsvudG&5v_Ub>vXzbteNKJg9R^MSf6(h_Z4prf;Q5 zJG^at^Yh;b+{{KxJpOyB$CFDv{>$^1r1{UKQGUJD<5!`F&GwmzsC)k6TPPCq=5U6Y zari=(>g%s5iDJG0zh!ls!MxajSihE~0r$d^$P2}!sHGEMdV%%VD|@z>k&BoU09l_@P8~4|A0qp}9VE)D8^e8RR^po}UVl(N*76Z~U?-qpw zyJN6Wx*R|sTnvaySp{@!9gx@zAh8)hVv7T^%bUWs2)W-*j8Uphgh;Du%C zRGXj@mQD)C&GZdaY;eN=eS6`GTrQ^39CFssuDd@h_dH#9e?$x}{ohJg<;5+&e7SJigRs`8 z-+%PIg0Yerr22j#Rnbgi^+fBJQM(yem-_9IZO#=-B6b~p8+;jeb{&l|Z{B%D?Q1}@ zl(ofZ9qKyzQSRpm|AIujq_%#Y4;#eHI?gNqUVNr&FU4-n2sef%t9`8=wx-xo@Z#Lx z0rz_ns{wAQ*n!ev4J;MC(7L)iZ~WF2mv@D>J+M~`r!ac6%`15|cSf6W~Xk6*8-4Pb9Tv^4kXN3AYY zNP3nOM6>`oVi|<(1oP-;B~xza#lhnO@p?@02*ST84oRg&?ee}((~-;GYou`)hw%_v^3ytiis1{X)8%8tng2xAPb!=0y#Z`8_!J}Ce~hcpRUKMTk~ z*01fxXEAL`wTPF}n4w_l#-%YN+$OX+%khO4E^YDdmL+>)?rop2cKbiEg92QB085-- zhM&u?z;7kLbNI;x?pl89`N>j4ioKm5%T(1WCy%qn`5oeS3%}d=-NEk|zZdd*IY0KS z5s|k1CVmg{dndnlv-gXhb@VxHkclv#Rp{tKYZwUaLE)>h3I6 z0TN%Tsyj({$ifx~n-GvCpxptt^R#hj_-^}m-f1ZCmPu=&f=bn4+x%;{2@@LZ_p;`A2 z`2U3eWBh-~|F`@*n6GE}ck|cQ{Sf~$|CRh}{MYi|z#sMa37wCe%l|_DXv#}m&Y#JV zUAPIa#WKVH1^n5FkhE9g75s1I&ykrnjS~0pM_+d0{rs6^B|gUg)BL}{|I7Rj@_&T? zqx^r!|EK(a&i_~Zf6w3d5{VrDUjB%HCYJE$a5(W4kF^)ag$Xtp6Ktm?m_;Yf;=h&u z#r!v3g3;(jNUhp<2|Q3W9;-I~((Lz|`Cc=5C4a2Ji!oMX7-U26CnYonBzh-uQv0;z7o95$}wX;FEaBTW&<+XnfIFcpqUSw`Af{O+E{k7k{xg61!i7v=Bv&8f|cx-hR_SlypTu9tBqUD zez(PWznK~%tBp^X{mW*4*UTT9`Iwncn%RAdVlI&xHjX#PdsFf{$?O-KdAXU>WwZA(-#P-m|9|uYVcZe?Z~B4%Qy;ML5Tt0FWn{j?%ty^!vRPGem6^Ah z`T5X3zcO?DGzHI?`Cc<0G4uG-<*$*X+PK>68a1kocbNTqX0F|0p=RD{=9kUvK12Rz zn0cF-zc=#&Yg<>H87la}Gi7$1CG**4e!|Sh%v^l7{4X%`W;4HFrhkt7x0-pInLjae z*;D2JOfzpa^AR(<&z1iMGoNMV=g+nF|5I};IZwgQGV^vbe`4m6t>$m$Rax2ZF#CgM zK4Rv7n|bW{3O&Qjy=LBL=BIu6|IF;A3uK=(^F^4n|IeG_Ni#2hnu6bJX6J>nzrf7< z&HRa(U+$9svWsL|BVr~vH}5-fK=kMz!(_*~5fe0j7E$`HNc_p?c5wifxV$_#^~}A9 z0L{*G_M5CE&i?GNQf!|N1v1V!!iTdI^dqHeRrD@0QCM?hT}QeeKUbTfysT zy@{KYjc*~rsHP4!M|ld#7(e4j;<4J}ruybX4)caUxZ2oDf!y+d2g((OppF7a97|Uj zkn0zuC;1Y^vS-a*s-<#kc3hKX%rm5dwL)i$Js55H24#hA52JUeQ^5fy(Vo9OsL1~b zi%8ao&RDakY5(jPXFc|8bt-sR(M1r8G@jniq$XMQre=Cwu2zH~ki*UJq;J;*n5Qaz zJ&DBBc7F_;YQ=I)I)^w#;EU7;GwBy-9;zH|fh=0xEq`@LZ_8$_44Rh`Y8y+!sZ0_2nJ)tJ@>XZ$ac2N0IgQ zf@|92%BvL@q+WtYydAfPDnsI@z?*--%-8EhY^2DqJ|?notC;w=gnL)(!Z+5)zchJg z)z70zV5#r?Gk1=6M>fLpys9F-0a5b3V~>dY{K5S%14MA5vAa$I7K6ZpAYlIa^z_>Z z@%;3(iy^*Bx;v%BOR%Hz9d-%^$B#{U)Atf{aP(w9Woh>RIdC}|RPta_;G@W;@u4Vk zX&h{<@EpWj6uuLRYB!x6W+%(7Om*)5*V;2`yqXRt2p?vpl5D(Jc3F{hH4O4R6FI`= zFhi_999hz%eT}aZ)zZ4x5C9bVrfLu923M48l;+Y1yIeY%6=eY~tgXqX->q-Q=#w5szU?aTvm zs*Y0Xv8)~=@Fl@@b?UiFwF*LX!wCFRzrNJ94&U0yl7QPs5_I*0)5+O-Y5)3vRljwr z+-C>j8?Db#gPOh@t6f5QI+?P@p^h}Cb#Izk4f|#Wb<&RXc(X4hm2ajtCml;lmki#W z>5)`Md!p&!IvQdofI;#B4;`Z|&hR(xsxGJh9~UOWRu0#El8Ng<;4Jlcb}z{1A|F!n z&mk6%IMtmG9cttM7zM9PQDR_W2VzSR?AZWJzRBBN%J#&^y zfoMT789Y^1!AK|W2gWA^!-#^ea@XodatOmS<6N>RWal_XlR8M1*A~%m#KXbA;gZ<9 zd?j@6Qtd@VqIP8_i!QONP}Sgk3&}ghP{lQ9#bdk3VoKG+o#<-N8L5x%pL2n!dnqG* z#GHW?`J0t_AyqAeXfTt)GvqW0BZEwK?Oic)adq5DDLyHFn7$QA+$J?vFO3I1sgcEA zDrpTO>Dt_R#He+oT-4w{RDfEKTD6ioH~YkFbx*%Wu)@QE`3B5C44C2uKL=Q+1J-iG zWSjuo(3~m-=M&G_i_WfU@Df*0fKRC!jJ!!}yD2k6bkWqaaMub_=BWs4u?cIjbh9BM zMM?8pGn@%o+dIctCNpzC*i`q+tGZvYY(IY=88P%1ytaf(y|#o|&l1+UEM+YfT3WWq zwkv-RMATPE#eW-w;dTfa2Vp_hDrGV;P38|#N>?BGSWg)~W7TE# zv?8u2^h&jcue8ftBN+!XE&u9n&!1l09OWV$E!qPg`qS6su3Ajpp^ylvnO5mn}M1EJzfg;;cpoS#MVA+87tSGB%iYp#VUY z)s_aK!lNbPvUoF*OOrLu2p$J)eazu8Qauvh9|G4biZy}fGz%Rz3v#q_w~&Z(Le^mKh7@~ZQ)ob`-!g6&=z zCB*N6NB_yYz`e8aH)@_XNy@ioO_};RRAQ5n@)8ar&d#ETmU5W|JKRM~1+ZF3=R z$3O$oBG1=GZ=dc={Tka$Ry*2Rb^%F3F1HYkw4B{(FO^XYy%v{5D0=%}&RFdTQS_~w zjAnY>m0p&#owbv^{jX3IW1W8Adek_In?RRvYBcWFGFOAD?xeZ8$kk6vM}44LO+M$! zT}yf_r!=|9WmA4|2|<^nljk&h64!a!&_RLK>vqxc@$Q*!=)Hs38Xdn+PMx^lgS&nz zmUoBPP;I_+ZAq2>PF%rP4IQ2;S&L9hckG?BwwEzv^Bc7zM*MdXe|XI^;yA83M{ywJ zHw7t0y!(h(Nb!26o=e48W}1DL5fTbSX_6N>6t;FpKQDAXC-^)G^R-K2xDKUE>?~y3 zaf$MYaxrOj<&h;11lNmey8xNJI)dq@k?#ikzk@Pf;~61St>EvO-}}LpV8UGcnVM_A zKyz(7)d8*sKDQO}Ou|2`a7A)+arh!x-U!D$av1Kz@Pdk0CZs9NSG{18St4su+>+`#6Yc{9<2LA*}0+fbEB z2WKlYHKTip|3#6nXs=FjyLS5ti_+z@Ml0#^WurV#v3>N$jV~lpx_tF0m!Yp8JuO|n zarBznbzb93l+8{4M~?Rz-@b%xzR0=6Yy7ko*o_K+ZE+Yy~32a)9rn3ak-|_@4 zZFFAr`=v29TE}X;x$1T60802Xul{$2p4qoiEhD4cMT*?_;CAqGO}~3pb+f>kd$rFs zcrFVZE$lCd72VZNr*C03P6N3|!yEF5nsAQ1G=0m+pP;j}b_INXSniQ~LGF=Xd+w;S zcDWxBX1Sw-P;Dp+1HQ?-Nqx_Pws4FWdG=G5$U1sEt1MeoSg={rNrTJ?ziFZ+Ve{XfRmL#r@=*8slf_3r|msS^bX1Xg04y3pc zY|_L!Hp?UM*PmQEl*tDFhBmYQWMea25&XjJZd*W=&CSQvz!*uEM`~WV7Ceti?*}2F z)i_rvt~Z~?On+NyE%kz58mQnQR%!X*b<8(cMFUMo;utZVEfZUar;TS>jJ}%0%>-Li zQZF%blmsXMQ5i|0%2=t_A{V9|4qmA6+jsuhdv4eZ1h+EXf~Ry3#=}^~4n}#KvEVJb zn2u_^n4h6a^1OpfG?Yb2gG}&jQl;r?*8bGXOtZI=zu3Eo_4!4&jQAweR63KWLgTLj zr-nuhsSxtcOTn0nQr>y@gyKva=z@P2b3U4!X5%M+;%h<6qMiIQY~*t-`6z+n=U2{( zL;c`6cy_LIjVGEKcVxPp+t1We)-1c-IGTv&+F9M({uxjTDBpS_jI6m*@FsvUFdwkIjat@o%Y$4CyKi@Sy8KxQGDT#FjW z;-wA15uTKaa2?1Q^7Y()j^mO8`C7I=@38GpNBDDHD&HysYMve9ojz){W5hcn#5*10 z8n;^L4s`WIs$!7GV7Zt^vv#mgh3_tOkNnBP(kv)L&*5e08R&JyP8NFN67&_iY;IHN zZDHB675XB4yZu5p_#!jFWU#+GLb%%yc3fhOIhj}k^0or?gX2MxOaBWx6Vwghqn?D1 z^&)|K5jS9OBJJ12z#3nR>5NrSSJvT-7WzynWKB#jIrh)qEpTnoB2*jCpaHw_7Xbd6 z9Njo4_|~I*nr7RdX?5&8IGqljM~<5wCvG~J#yXJg&j!ro@|(VcA9i+O@&oz)ye-Og zUn^;>JCN%So&4H~uOwpDCGPC+w8SG_{aq{~tvI!(;JFY=SAqLnY5+V_-o+(2XJz^o zTqnY}Kcw17PTg(T?tT=rsEDrD$Qi>JPnfacp?<&h^kcr&oO=@FJ|cCgUi57mKfhwt5Jy z7`B5INm%z)9zvc_8=Q!kn^QpjbPwkaoksAdtzLtjwI>H22yAqNd$EgZRL!wztR zkSLE^_+s~we6rw-8D4Mp!zwAwYrNG-18>E zd29ZKm*$dk$4ODBt?GIK1^Gv-u2$Xb^2(#Z4a@|jRi5YHbO%J74(iT7>|&{LG7UhQ z;@&`r@2G!#e@8KE9tfMMK@9eDqs%3ys?95v%AqRGFJ6iULewWlQ`V%t07KhD)7_$= zz_nu5{D~z!XentqI8Jg7#1)qGWMY>b*)~T}>*_>sJ#}b6l5*V;yHX3nQpThs&txoY zj}+I&>N8t4RUhA=iXvW5m|`$`J`kJnmbJ(0i{oW_c$msqNljrSpS0Yx7E!T9{#zlx ze*Sq;{jY|3{PUt_a{%zBZRKFdZmS8s zI`F3?vTA7IwW1BL)#C#WFCGmIUJ%E%-2ZA}?jMhHUpXHtsDna(yB{%u7G-fI9Wd(%GrZ?0s1GZI8YaOEa_Y!DIWriR|zMq3^cPiOlS~ zWSPi>v+s14+4tIa@5Euymv{LN)~hu0y%=4x%HUPI@$IUQ|eX>095Z78kD{`{b7Wcw%CnO`5`GnPh1NmZ9%crBxdj;imKy){d7S|d)>?F#MHq+M8(yk1wVbU5hWcg6M<@8 zI_z{QmNjGP9t>oBIRJGDge1H}OrP>HJYte9Cvybjn5t_2NI;#ZSA##n;@-Fl&UBI0 z1Fa>l)$jGK`W?wOZpM|b4Tb6bk9KoleFrr((v@y>55NT9!a+@sHSQylXU=LdY4l)_ zcsT&|3wDvoyo4HN-Y%QOCTu&od0a5BZD*#Uw)r{FJU1Ch8P!haYTcd=-iNC`?0nT{Yn$5bAv^}2Bb$+_Ix_xK zoNpYzy?~F0o2`U_k~5)zyHsa47=fv``gN{kzLn25D(Y8yvnr%-rt{kB&8ob8rUvPPbPRXNf0(re1r{zI>H7**F)GKRK8wMYEC#wsz6A4 zJ()SHpKE%(-c;}w1K@UjdeSp*6bho!HZuIaRhv4uk#k$sqEms=_{NsUyUl}&P<6%? zp~Y9I0|qU*3IsUeG~}&JP0P_TQ0*#tGlSTpnL+F!&QJz_7`~s_D$U~hF>jRAP*XUk zgmBJ-w7o{*vUt~?UHvGEvoxcuY(+tHwyV}fNE7rmP9UTaHiPLy>?o|Sai0PlXm)|p zH!=w+f^O94Has-eztE?C+WKPSha^hAlKl|Roi%(jN@;{MvCHOJgQ7-qKdr`5uScac zStOA~4UOGQwKPsCI-cG{N|4Y@t+4A0fHY$-fT1lTgIv8UBJ9Sf*Hade zSI`yt3Bl^^XLR^43!mmaF);f^+_r%l+yk8IHNFY;jQ09*pu~g*=`ZN|-lVjA?~1;6 zN8dL`-?v0xZn7n-SNhkhE32bz`Q`-Z^ydKYn|?9B=h-^}q|GzObXrmdaO-fSK+%>zBQDnaPdE#JMX`d?`GwyoZe zKm)oE71T=}m{T+_bzn~L=|m3935Gfm0aqttB^~qpQnFZ@`Jf1hBUwrnokOdL2Pm3O znd7F{*EmHC_==}lpx->%cu0knM0IsB>=@h*_DHYxZuxl&6b@F(|);5K&g5| z7=;ZetVdxvzkH&T%SANXFRyMz2AonYSC69!p?=7kew3`DqrNL}KGYL!~kDH&FBeS2t5zU#GB4Fpj=+Ava8CBLbFT%#^SbwEHA@7~*-z(c>wefXQIT`k+``63QZX`$H zl)1+{7s>QwCHZ-E@6luHAm{45YfLB2(;{3T|X+ zt^P(b?r0@;!tS@p^1z|A|D{|w-1rrUphHyy{%Xiu5L24e+x5Q|&L#g|ee>Sd^g6`X z__&A88l}m&09(ARP66sxQ-E5mQX-|X5^Z(q!C{zaRL^Zk2er=X+W`Fp+d z(XhVvie2D$esG7Xuj-vofu~(fp6?3GOZBSB$n{dW&`_%9Zl`4Vyjgk{%i#yFh)c

yc>B`jl=Jt?{MY5eVsVOs_LLV@t1Bq1ek$;{Rp3*Z9DZBe>Cb(Kj|Mb3^)dG1!QF(0b#X}K@fJMlM0UG) zPUr2>0q+rDyOrTUy-jYU_6=J@F1S?sC%DI;2*G_K9`_h5b~2celY0!mp=p?^A7cn<#oZwph6I0EQs~ovr$evQH^4L;7o+zS}_qM+k--K6+;Rn6H_}Dr2W8| zaSo54IsrQd*OK{jg0s1Q9~10P(A#fis;7dlnl!fZdQlu4?mcSw zi;wF25>>J2;}D+Np<6dEbza3O?z6ZI4v!I4-NB>543jU9QF+$U!jmsV-Los!v*U=@ z9yQ{h$H9lH2fW~T>Y5WQj(C{vsN#dOF(Mi;k+>4qKEB~DEHhV%eLv|1x8oRzZvmx) zx69j$D*N$sHt>A9`2;W4=Rm&iSbV7tM02AE!@0eH5)|m z6cRXHyGwf_Hc8CyEKV6-mHkQfV9M+EpwCbYR&{6@Krhk5ca;E6k$&@4QBf}OicxLQ zyF9$lmCyQ$!{di8>}l-@;`o-JJIx>T1zy*TP!4^hw26SHG|D*&5 zq6Eiy&k0^A63Fr*S$O@astAK_aQV=L3K?h~mgq}gHAklDESbs{qn z(a!2=DWz7=M=yB~`H+lrvv*<(K7ldQon+U1%nR<6&+9OB;YwgedU^HSva+#2kM_yi z9M!*$;zZq6uz`eOaGR2sPn(Kj%5%bbzR-C&1a~;Ft{giYRTo5vdJz|4XH0g>{u-C| z8t3`RcCg_F79~Q_<)TH2`UeMvaa#K?Uu=)Df!5p>zkfk|-<<)KXiII8PWU5PgeZMK zB99aPSRSc3kEjLcI*ER+03(4zeIyn9#Ckicm4S9FuW-~wob|0;(&N1to5rt^bnqV4 zMR1=?YX0x^-QS*6_9YNFpCQ(Lisl)1+v4dwVzPh_PIg2fKxJ-r{Au}s0l%`Ki za?1JOR&3T?$l2HCw9aJ{CH`0Hp*ST;n3cUeD=|ig!kfqGiQbNkdw?+9hZ?$TFU>M} zLF*fWG3@h<6Km|@bn`J`ol~e}M|t)5+I>8Fd_q^+A5Zhpan#5(b>cKn8YBwQn<|b9 z*9NyT*-8)d9;Vn#PYi|5%idLSq>dul<0=vHiD%LJJJRd`t2ZoHE}sn6fv3Um$~yLS zu{dLLPQkZySp)A{ZscR&@lpLZz4s)puqFA+|etpJu6ByxFFF`oQR`3 zUiCq#A`ds_`0m+>K(rqEkr&cD&MOn)IMBI~Mwuvd#>gT&r0r2*wZRXIH4YyUBXj5? z4W=hyHv) zMAymaUuCk18g6w9C&~yHtlWM6-OidbI1&C1dL`eYGAtNXZ#9dKMpI6?jl_wRSsd+%Pzx$ZqlW zmgeGZi+6!r$X*aFWYw{E0YsYs-UZicC;m6u>QL!47i;;mhW)KVRPvPR;AszI6=o0T z5NzQm6SyF;BK%(Ihl8&Pv*F;Y`lvVOB_C&bgInJoy#1onS>Ucc-G6iLxMJ}j3)~w# z_d?s}DM`}pyi`(&SWVsozdX<1(Pcvpxw2l=gKd7JdpnD{9J?gR#!zfcHCD#fo@8Tf zY-fr5Z}b=}n17~EYVP0l;WXtjzOGDdZ!RAlerS2MWpH$$iyh2=`D0ifmU6K}CrZik zUASr)FJ$!BDKI^`UWEvj3VmS*!Uz!A&-X@84ShEL49f`D+5%jcwP&rFSPNB~iIu9qD7xh3 z-W}zoyO|IRF?$DTM|qLlB6H;Kl3NfePxhi+YA5KO-~}r|4b^hOPs=rlyP{^PP`*;n zRIN6VblR~VL0&GO+h|pR*$~}DHvv|}St`2dKvE3g@d5b6-wBd@@w2`f(`=`Mwz-eyzz$2IYOFF`> zp!qGe|BA$3cMR|Lpuj}sWiLZzPCk8g<+;z5@1FET<-rFNiHX!st`8x2V(((1gPKvGHBZGTt{-3QG<*&C?h6B#jav^?R0Vi!LxvQ zZg2wex|)J$=IqYqb{gWND|$OZ_pH|~ygiy5-ksff;F9zpiffrLp{F1}c7N7lj_V2O zd@_A$oYd`KJ2qqqo!BV~1{=ssov4blx-WKmuGm$BRK3RZ8!sP+mxUXz;E~*c+Y)y2 zPPeMyO*`@CI*~HS%oBbvAJksrzFME|XUFYOvMLqYQ_MQ7LeJoD-qDsfH zXFcn#$aQh$W%qsgvDkG<<%#e7^&4=7N?+bqx#7~WzBusG%H!WV@Y%Z@c{SmDu}U{9 z(1TYoOIH%6!1lRq`EGybT`XK(xF(y1LuQ;C8mCw#wW#zP^+=kxF6O;7N0qP(jmjqy z&&I=uc4Ob8iK`7AB=g^r$eUI1mb*N*GlY7Td4eoqEyD^#5L{?^LHW?sZCq=qJMi>=EiZ`&2y z%RTLmJ{%=`IPk9K(~%dAf5b&DUvyhkW95r)W1VBweaUS+O=z}l;cavsX1(;bfu!We zPR(R@WUk5W*g23%FEOx%%mlB!SMGSh3%4`LH_XzvP2_mSu$xCIElO9qvngv-Ox z?|gj8t7B;Sqal??sx4p0mrovluzd1BSBzA51STwW8=Qaq^zJXlaJr5Lrwcg9=a(-U z|5QY20kg10FlA=`FW*KVIY{`UkG| z|2?^Si??Dv`t2xAF(8c6sGgjElDG6aP=~ZacIQ^$+h03>%JA(!n(}+YDc2P%Hl05= zT+}msRN+$PJ}v#(9ke^@MwN=oUQvL3=}G`=K-E6~!J_3N9w$ z$c*RnXjHk6w^CUKADk%n9=t|lLlAzRLby1cglKpuB-j5K)!^(jpr4?lw#f@V0*yMo z;R&{SakWer9Y{X~na$1Li+o+eSL z8ZT@a#EdKdkT)nWdVneKoy`HYR}yOJ$tqHJ&m`+Z%IvWP6na{dLJ26;aRi0#brgCv zH4TMsHwt}$9-|gqLdp~WOdh^d%f4J6-fuXJSbrNw9_jU56d?t@{@Dk$!Gl*owAz-K zUV{e*w=W>sIU?EOOrUT5GLdZXU`QNF@>FkFu_-cd`9OJ8nm=gtDK#l)sVXFK@kE+V z@7!{@CS|m82vjq{d4m3P^Q-;q?ufg5x=#0I5zlwfkGe@8Ptc;~B;i3Sbn4rHKh^D0 zIHuYHO<2ZVjO6n6LmM`@!FCL`aU9VqA%c`Utz4VFMiR%Dnpiv?WEkn8WP!J9&fGyD z*UBd-CnhkuI#G>F9#vj{8<1?L5J5Y? z5&j>d_S>F(Gj$>7Umj%TOd#9Nonh%tFD zn3^}Xfn@5GHvO3-;iyr2vLPE>j-TVV-1>tVaoZM`Mjcs{h704?kzeGnY9>Cg&9|5K z94JljYpCH8|A+}I2Iriv>;apR?HK8e60V)dKD^Dbq61hPXalK$?D9R$Wc44^zVX19 zuJf<=!YMc*Bl<++L_OeL9z90$L2wQHBDN1EtuPhvoe+M%Crx`Czt(tk*zQ`0-JQbW_9=R3U*W2HCuTOzIW=YFS8 za_;v68ZVP~YJJh$fr6?#liXv|5(=4V=Bllk4G4PQ;%eCQdDsJ_!C46XDdx&f$;JK_+sN0WEet<#J_YC`J%v1jLgs77 zhW#Br@$%$YNA*fJxCDO&=?EZrqt7e?C`DWb@JmT{9}U8!E|S4$uRj{24Ye5U?DX_7 zSrpgi*rc334(lp}-Qm2j#d>#(*N)11M`O45!*k;cneARNTkGax5*=?%rXhDvA>Z#tm@8SIt18c>kvb;ri{Kbe=c0cLg!&A9cH>6&<$q( z^;{m-HW~+YN|QD-xEq|o4^VVcu>Mfr0iOwgfkF_(dM!k?2bDnVc zzBj7~r7_NlXG6TbS@|0Z#_(qcKh_QgXVOLTW|d!Q!ewhg#np(px>)w) z=y)zdPQJ>M4FM%GLh~@mLd>I<4$Xo$i&n!kuhWN)aB;IEWFsX(@oynuJ_RI2{(xfL z*jPe^x}GQ5>VN#?%$)?^XhS1=PKi*PM!r?;$nlM5lcsUXP~y3j#5Z~Mohh(adGgzl z&FR2L1TTFf7yRJ`61<|7fGgWkf=7=`K)3uN2~HSRX^WRKlS6gRe%Xkd`Agxoz11D2 zMW57MPNh=MH7}a;i(;S|#G&v%#W@w@{H}JK!#{#FeR9Sjk=2JCYC~pt|A25B-fsk7 z-KkGZbCa$*Elx{ou|-#h*m)3`C}gsW>oqSFwYrj} zOS#N8{T5-A9K;^d%-<@P`eydv+$JKEpJebZyzAWMc`sjPxKo~=a(=ufM#ughrE(p+ zkbNC#QERWRRa<%a+LSk|f@SDlr++})?%Y{PRi6sQpHd_?N?y0NMcwXSGM%N{U9a1C z-QM)uNU$otaTj&;V?VZTSI{TvmGM<)9K0XH3*LvhvXjHZlhP$2^&;^geRcGm`IvB_ z%a!}EuDZ{<>LtytT2ay#v8}7NbWvCRVPMT$3;GZpURWeP-;zGob?(6HKF@H>+f&u?t<#RX^Q%6vsAtvx@A^3SMc#I#z4I6Sy?@W1SZ4(~aU*RLf0XxAB+wJYjFkHGWjSc0IqzHP8F zl1;kUF@fenBfKk{8?6+rHCoA~(W*sNH&}hqp|yDIDGpR|Y&ooH|dPI=B<~%xMlhG_@ejd28X>p@a3>~cTJ|h7y}0G4ZvNr z5cyO??|?+*&}$#=AeG};y$RA@D0OvKs2+D|n%C%y$xP8Q=*spaSNqvM+&#&eyC}Nk zI+*Rxr0JZ4yYcAJNv>wbDjZLpv{4}$d>wjp=MHs25A?Wb@XB&!OC9_4mxcdJ=>z@_ zOXRtxi<|k$>963!bh}++!y14Wt%PmG(i0?cNp!BG>e2efRnOOyfzARPAB6A%vyW+c zzv?P_77cwV2z?NbSizJdWocnXsdkoVQV&XstnK-Wl9oS|R1PsEl|xs!fRt};BPIJ5 z`QXJE3rIO=r2NN-p^^bp^q7=x;U-FIZ8QB3Dya1VC8%_|P4kp4pFRW^YK`Zy-=nvO zIOc=`2Z%rOe$B3j_m8U8sQ$dfW)cr6)9aVHK7QPrRntqGIlhvs0whek8O^hpjcfBs z3(>S&j>?OczTc&CvF+uz35yn{oum4`M(;Bj6Ah}(45O&KNpEvR<6JjHenqR^*#cN_ z4=1^^zSKtx=Jcz`w2qQi&9SC6bbG;fG5zTeVX~#L3;1sQeP82_IIqx6jvdPGoij~H z+s0#;*%K^{+cVn5;nA>4Em5-)B`Od`45R6{-4utdI7tWS%gS7N++3` z9M2ZDmkKRo%COl1(BM!`q8S~URC+Sg|4KgAF;#aTWL9T$$TSEESc5 zqbU3v8r@hsz9&^5>v6>&!O@)m&h^0u!CT0!uVdrO!OqL2`ZG4=ERD`({gl+{Oy74H zX?*qzg<;s|*C%5_op}^Or2=6X(1q1{ee0v3+>e1KMVl>B$ME|62-v0*pju?F=d#oH zlBBqHNe@D-lr;j?lMJ8e2>ywn8WJ0nun#gsH8eTbPr-VUQB-cwm_Vk&iR##C>m zAn2_58E}lL;3=LkODr=|zof-e*AoGrVrNs_^L<={VZ>E)IK)-xY`X#LQMp3d7+2kc zWkg&h*p4)=M-f;3^na9m)1Nw~3WJ!bmPbq#l?tY^Vrf)SSLm2ZyEBfd9w!@PssTdF z?IleGS8<;u<|&m~B}OBml^7lAJcFI*uy^#>jc?GtEo2{tu|$Cp6qWeX+7k%gW`(WY zn1v*WBu+mc&-!z$$|E}P$h~bAsm6^WTaH2zhfH8C&$o^lJpLV6oLj>^Z-xIw)5BqH zI^S`R!EIw2_3S-dI1RoBh=n|3yLNL=(oY%BDCVSFKd2*;{Fskwj5DU%^PhS@_=cH#b9(m zTUt9LooHuK_H$9P?7PL+v8;4aWa0L&ipePMrGD`1ZiLEjE;FtTRsmxk&OH<%Al6#} z0!8Est&&eX3m;+eBl0+hLrImq&Pw%CA8BCh29Cqoe5UdlVgH{P!5IW>VvUq=o|8*= zBYI+Ea9BE3F@&{2d{$Ss{Lsli$19UXxT7+Ut^J$e*`PDoi3d^zYo(V<9}fH{%o9z9 zi3-=ko#%<~G*3w#R(dfkrs;?rRDocbFh98V`Mo@~+sb|Q^E2SLFnfB{1cxB33lfR- z>xQDl`JuHZ_42rGTiTP3mi9E#N~Gs78X@50hpL2T9pKS&QwN$xe~}^_<9I+UUP4SN zqTT8D5Y&`&`ondRIUtF6Q;DXg%R1@_@%j*lM8|}jeKi5DgL@*Wsb`fRTFtu%h_KRM z6xTe`h8J}`1jD7Rf8s>JMrc9oDu}m)Yi1AYxQ(+wbC~*-a5JFT9^#NK&Gjv4qpfgf6H4UqL{XVInK_5p3V^Fa zVRzO#l#w3PEjO8;?UpAND@jwa+7{wFp*L+SPUd}E@=nr1cOsDG^O|HinJ(vdNB$EP zPUjO7?GTeOL@p*;k&{8EumiA0#rR?g-N(N`{*k9r4_5BQnkH<+D=PmsDzBuMYt%iK z)>gdGND;@<2AX0Aq6)nRO6qk0(8{#CnW>*>(4O@J+P$#ViMy<42>wg-wtOY!=JGvo zNt~}1Ii*wAyQoxGn4YRUnL+qu&3YlxN>b5GYho!!@j|NQk3_iZ6o4rN$z3o9PyK;V zNf-+Nl6E?^=CZ>!2S{>Y#m^m7%UL=f~GAHQ;iREcf#3|_FAV~H*z){ zBIMK8!9x~;mYPKO0^0SS+qk=zHH>Y+x8c}>CfssgALD*1crnYRKJ8T(gGZRM8rtll z9|!g<@`51*9GNnDvnq~ewxL^Nx=w@XjQyhRmL$0f*GBHjIM-z3bnIHr*8EmE{1NVu zB!j0p0PoN_WHiYB)Hn^i;iSzdx1S?2hrK! ze&())WOy+6D=eAWV*!SS)jM@9$RK-`--M&gzk%R!An4o6s;-v2U=Z}6kse#M_ZVF^ z{z%C)a0mevjq-eitDa?0i5PH-Yx7<)9W3o({k;l43fAJ!V_u^-c|i%Qi@0?AlFMVl zSzo}L_Gl!CgCfGbXbixWQF$Ld-KRAB% zgSXQ$vM;DO$q55mLr-BcSf(-xerPWPuTloC%t!@_F{nM|*LWF5#PAC;B(Dr4U`2&i zR?AOYP*H{iT3*R4!Wy|?T$x$wV(##$Va^rxN}qj;ws+vu!D>U1(u)dL^3|`cm8RPE z0Z00iBdL_g;`rkq*e6WYN86jP-r{ZJ#VD_2Xxx~Ja^sx#O*yD6;eje@G0d{6-BVj? z6CmOgZQ6}xbDXL}8KNXIYupg{6VEYjaX{&+5 zVs^U4$9G_u>g_Lmz5nd+JYU*<+%dM%!Q&3O+rR)ThRS?IES6g=j%PT<%mD{#0U=ISR_y zp}1ZxwjEk}`$e@r|7)*gY8-S^-_suf!t>>b#Exn1cZ`E?GuySSe7uj-seEM*&k@2q5K(ftu%_I+=94-Ia0RAr9 z?q>Wj>vA2)xlF%%WTtbYr)SG2s>J78fieTFp`^=TCo-`j!UI6F&|Oc?!qRjqEMtuD=@&;I>~+{fa`57mQJ7{k;Wt6&{y1;-~5% zNcjyE`U^G*UC)7~mg25m6?#M0fC|Y?pZNWgPv#1}r{2%kD_5{iGGM?h8}Gq~oRDtv zbjPoL95||B)Vq0|u!SeL{}2wk-_We}6>{QOZaZ4jvRB~TG{dCtY~)vT45 zRwhX#&XC13VJ5>NV-aISmc*zn@NTBq_}kxUBB~B_r}#`QsD8y^BS%u>#tEmUZ9vWh z;RlJ>l^k3%ob}J$#`}m%vXNk!`<%P2mgA)(H*9;EXjEYc<&F!)u`x?CuDbdv*WYoR z>jsrI$#fD`P(L`@z@n*%dajUVZgK6XpP9KCin4d_&~<^qqv{!$t!PkF2N(}Dj779b zb#rV3s07)C$u-q-Gc7Oc1{|p3C5j;WEL%v`GHIJLAP{9Eu)pSU)7PO)T;6ep&NVsn z4u)1MEo@*tb2Ph%2GBK~vD>G}|E(fl%>&WV6va`da$1=^0ZrR%c0s4U5`nNNzlroj zdUbl{Svd}@({6sz>3K8jD5EA0dOT561&7Xrn?6L-os63;tAwnx>=#X}eWS5a!1FDA zH19BKDj5?J-zecS@ohF>GfMUE$%K|UBh;;*oXDrVix;tmQWvqX zbRJ!PD`**NonqIe(#gBh;xN}yF;WDnR2PS}5B4O_i>8%aCQfEj7mc1;>`q;Tw;_&) z;l|e>@DbxU5)f&mPay(k(NdXuF8`*EP$z;^ z3Y`^?cDisIf2zfNl1H3M`Q+7oUULJQhCq+7AYQu8)xNfb&QY#prmbgUR;a+HdqLc4 z;`Z@3`&+~HT)W@xv&jF>4u2A{l8RRQlWe45Nq7>N=Ozzk^+sP_J6KZY5rakXm$nLa z*xtc}?!8&ZGDaf$J}%U0YizPy=E_th@#{olmmtn#i9shF=uoh^6F0$rrLB|Qg7Iup zu{lwB^3iCU%mw!)T<~s!+4GpRNV~}Eu_vD}^%em6$?r+>87)Rn^n!C}ADm9FRwdlP zyydBKC+FZ?nu^S@j%TZ6fp$Z34_bHO}{6ub#o(P8$rvfAOb*C_3v{Yosvg*mrG z`dkFHj!EE*sdbFx%01<^!6OVU$<)r`YUH=MNVSAFcf!T&{(c*Osoa}Pt;Wnq}J;65xZX{VeRLddG z${@*tfOKy4>e9X3FCH3KTsv`x+j8Y45hCil4Yme~p%}0oSvffIysw2o%5G!R5$hak z5fA(6EGwT$jxN@8FBAL=PLtwshhjE2OeTc&Hb>JYx;@Dz+jc?J zz814Ev5(8G7L-nCv(w2K=$KPHV|yE|gKA@tnX|mfDp#(-L zu%yzZ-_9Gff0#o@fJZXNW9__g;sV}ypvfEJ3Gs&dEyo*~#4AATB;s?Hnd2<;O5pHl zn8{(pV$@sH)6;mPp><2zq@kT+cRQvVU(GQ&id;)kdYy$L?GU_9nM%>dTbXR?m@<-& zkB>a-^qZ`n&Y*d5@y?i>T1^LbIBUc64iH<&wCs2tHX{8Yu1&=of&L%h4AsAcSTrnY znf??qYa0`E65Tc?{2NZjgfNzrhz5mW5^-ZP9upp<$iB5ZHzuGCa8xs*-;kOX&m*2} zquODOXjn-WTmv@U9RXoli*tU^8FI!i-zJYAbSePmUp7(fhVFByVK1*I^EnuJ@g^={W9tD zPS@9W6%X-RZFc6JaPdGW8R2(n@pOq_dDpw&U0u(f{dKDKq3uHx)${xcifTf6Hso2F z&^|wve3@|BXO-g>$1+wywNwKU?}(oJOoqewb zkCf9s(#=Myco&JqraX?^L;5rAINK&tHw)G|#nB$p9sd`5NPk9RPOFcyhh$qwF8IhT zq)=NuQQG!Bq;{{?9#Z6cv^^vXI(!ew#Xss6QUofrO#i?hQWWR^-9lpid6YdQ z4v3;Xq|4j)ke>ABe zQyc$E`#EeHh0G=Yzuh(J)`ri1<*`k9B=7V6vH}>cUW0V--LHmdw=?#SV5?Z70nOULqK~kBk>EwB*qV;D9Fs zr45FmzuUK2M+T=U1B1-wi%Q$6D+6GeU&pE@Z3y|>JY*+aLFfx#q};SpdMfF)^7ThL zSa%D%s5>l;v&6Ja9i-*X5kU*xxW5o+7z2G;1T+HJ4#)MilR7N0Ue{V59YCGY>1x31lGh zAB|Efj_-<-_FXcU0iy~hzA(V4oQha+d2UOz2bk9HAeY$EGUK)#-_2m>no5`FWiI5kKx;mTpCv)XT28j!Wze$4Y2!~T zp>Eg`-@dLDz?qPcaDiWYYQpK8umac%^HCS>-sRYb+< zZ!nmb{xR>}q=+WGkX{||WRNPKM=BEe^mLc-GH~9kJ~Q`G1Osf4XuV2n65*5_d&rt! zG7`m09M~dU60p0K=ky9U|NN+mc;WZwDa#G4a4`3@(B%^f}&K8f2dXx~2b5&zuqEDxzOae{v+ zxPa>0%ffM=G+;;}MOykOMsmsG)Mc!PJ(QW6jHwInE^Z>zNCgQh(zr46YDm2qy_N}z zOUOU#Jgl#hNXGVp?c_QCe%o&gonwIaN=eIdZ*l;IA?!2N1{N0GlW7#Jpx0Rv|__Xj@`&?SW>mZ2$S*z|f*5v}0DmKBy1mIXgn zwB`NFi@^thf8u`-r8rP74y>q+7Rvq03MHNh$^#TmH`Z%k$`OJ(5^ieno$Z~?r?z-W1j*ik1MSQ{B1T;CQAdwdn(ZVCybBG?3i* zHta~>(ibZ)17Hij=n^9Rlz3@EKD#j%VyO{5&{ZHED2$}B2_Buu%g zH^HpZ`G!WZW&%;HnY~f$9vaD}VoWjHATfezi$nw)J*;1!pP#44S(%66lkTxYzxiHH9C^7;B?NaVa4Q_`kk=w-O>Ew=+}U~w-o3MY z8cmZZm>iP;J(2hhvP}+&t$d%t=orB*pQa{TNo2r1DDgrlS_2VuLxKf4tjh0*48%?k zaY0EO?m!S}XO}l5y^WQ}A<)kB&g{-=Q*9Lp3Ky?ZPLvIm>If=W+0s@Hza|ck7n(j5Q;ZeoV50{`R)htb zvtA$N;OJ||K!{Z`o!ih3W{XCB(f>esvpWX5CQg?~%rA`F!X}aU^+Ig+w-P132{wsD zc0o36+%nGr)RRwUOisI1q7YqQ$9U%;lg#UG?PZJm+XZEF9WpW{F-iwa5`96IO(3eU z$;z)Edg!5r1ZqY&G(VpRCo7LX^w41>Y{qy98ckLXJ#;vY-yRqHNd;9tL$u1H7>5;( zvNdBS5>GzF0bk-X^B9lL$1%fJ&BkT2idl&A)1&;@xHg;9k=9H=g&kIcRuEweVQKPu zWx_T4{hyXF<|<#@sKzE$=jFcLJM;dqT0o)~pRPSLYZRNKA*ceyP!Dt~1C=+dIcUu< z7x$0`EjbPVYz!{2@lS|j{eW-J0;`X4WoYJ=_a6p!7z1vm@&+TwpfZmZO?Ni_7wJUe z9E}N_blb81q2L*GrHCe=u&9p%XwAv6dD*@GIQK}rN4akFD6e#8_cDh|$@Kl<&7*)} zrZ+J>$-bpV`4A-_rswEm6gM@z8P(B98Je0SQ`Cm$F6kWeQo{g1Je?EB+O@+REWDm& z%JM6mqQf&BtnQYYI3!h^nz;IjrW7s$>7a2x>vC{UE(df7?D%QjLUO|cspWH&{iGAy^d%KzXzZF?@NNxxnbN_5Y_gC!u#M;4@u;sY zIGu=@<$DG)$-#-xg?&U}#f4!ixI(=`L}R`Yky8aDXl+|+)4xNoD6^a?s!Oh9TI3aS z2exs=ppV->mhbVYO`jvC#VF*+Jm=ztikJ(O|A}uSLQz!SazB&uh^D#VeS~e2j`Cb^ zpQ7DNG{;N1-~)KX>ZZ<44Q{@Pgiz~^cn2RaHWj^`-Z(GCBvR0y(Sp9;+TW^N@P1|T zOSWig_vV5-a15Y9Tv%;lLP^da!dgEgHME%vf^16VAKn(BzzEn49aW0uvWaRrX|{4z zH59SWkm~fC6apmmF%Y7E+@LuHL{&S~9y%Q3w0Gt^ND~Gt{+dGya7xQbr_tGETGxFr4xO~ z-I(|N=H#x|NumpjvjlYI?x!^q_ z3VYRnvHmaTM#<&D7YV2!bo6+ITK`YiN2fM&{;F!rtLAgToy7TrymiL=f6E@A>n8Tn zRy#I+UbS(KDf|pi0Q=8b#dSTr%{7)#HRn@v9aeoCZzs6WWuw}p5*;WnJK++4a5K9i zYCPu*pn^ZRNBGaH6TLoRg}x{{**V)h{zOg|3J-@d!;1_wk_gAw5Q9={y=jQ`v;4JEzY?E97v=4r z7#JuF*iEqwH)2_MJFLE=cD0B%cEXkZ;28QJDb}LGB7;%iY5*2ZRQh;%rR|sHi@s9I{#|B|T=Nu`ZcdmHKIyi`3yZm5hEnVuYc|)9~xxpsG;w70_LGSd`g#*<^ zbm9Xkj|Vbb_esM|Y1G1JZ@6%@!bdc)j}HNQXpBxV=fMfJlgYf(TOF(DdxbdR`_Kgb z{2Bb2MHL>;JtPb1hl7u*|8tEiY8&eR(wgwwF=J3|}$O zTO26VQ1`0gvC9E)4ZSa0=-U}6%lek2<>WF^n?_cXoTE%5eV#mJNf`?)?O}pK?}qoJ zh6@E7+*YYYnS)EpSqE}OJIEvPF7%;Y@NVV3nk6skT_2Uq9=L?Q*7%%Gz;%MO|G$S_ zqatL3HqlS)`e!~K?*wu5;qQ8&FpI|?6#+(_yP zz+HH{VrPT53HV72zkx$8%iw^#=L9%53q<$sp^cf*K+9ZD?cdeT#_!7AbjE{KsvU#3 zkU>eLGj;#Zk`*AdLqIdODOUVgxd`b-|W*U)W)8{nSy*CvOZN7#a zNc&foR@gLAj7qdQwP_1+VuDksqtg5Ybd?y-ID&7wiX1kc%bed!pAgNEx;CB!`Le;g zgu#D^ZNuTsKjKUNe~I58tcWxE0OnYCFC^;lH?ek4c;|N4`XW-hF1)*z$f3csnA)U1 zEtwPHRV1-SZ6;?c#C0oEgJaj@m1E`_+8i^PTe_$G5R=Uo{cC6E+y%gO)aO&FM8$TI zNlEnBmD3FQP&2KFSIaY^d>fIa#R!d+*5p~^*SZHWvf6g>*{F&8j6xVa3z1B`m8O2K zIu14>x6)&1A5v3WKdmmoAIWlG&uv0Vcf#=IKZXC?RJMELRkFKAO5foowCX8s4#G7N z&00}?ycs!)!{UYMO?zC#A=8RXX^^USibK7vq~99NW7U-mZ=cxe+0!_&Z(po8IlcZX z8~;hHDiz4yR$VQ1lh>TX!TCH>Jt21kI#sZocjhPQf7%eTs${$Ep?QrDfQUV81$Lr# zXk2XAlk;Gx-4`}X=hrca(lQe+dwF{E+INz50%vkK}=sJ7Tcm zgA;fh6dvd3mcW6^Joa^c48H8$Cb@5%+;~4e?7kg5Qx=WN;Q+7v9H<;p%$jVU!FJ{w zFycvw@v&%ZHAGtA)UGQehYoIdo)SE+q*F1F@x_JS%A4`BO-xsaYHh26e}=CG&nx(D z41yW|MmlTtD6{&p)MoHbdZPM}Rk#YRtjJSpg0~z8F%hSgX9+&4iw>21 z^Z8zGET7K`5&cb#+gst?&2X+meO~^d5>{X61#}mvs{C*HNmV6>O(${=gv|3ve5&ii zejaovS7wITbi`F`bDijUrO6$<(ouYZ6N+lAE!mg0WOUpmO-1sEU#?VX*5xuf$0^?~ zCM#ZIjQNk9&qSJn<1{Iy!H?7IJ=f-;P`Tn=YY$OPplrY%)J1>QPWF497IsUQ7i{IW z%aU3)@iyE^P}|OdN>j~Lqz(K~Smw){y+C>Hs>V5H$?tRESuI!6W{GYqo(3TODDxg5 zc^>0qWA_6X-Ihq(-^Pv-S>Phv%S1z&%t0PySwL9*E`I;F!-`^`9*s{ zAX-`k@M59`pK1c~uHI2ud;d)fV4clnS>DzHbsm}1dt1C9E1x~F4_l(cR!LkwFIn7O zsOqEymCH`Q?6S*tm>Bmsza12(Vix#ag_@}J^4n4A;J2N{4!+gpPb}TmkyxUqkA(UI zPyMR@uU@|-jebQpZwfDdEz1LE9`OG$8=i=WPaq8eH=n=}Ck*KyBLbQcd{^p_A9l*K zZPOP1N?gJy2kzV^IJD>S8|O;+$c=+ca8Tr|{s*fXMfA0w#+dpU+Dt+Uc+^ zS}?Zo37+DE(%D|4uoDg+?IYG=0R&hwaUH-e1( zh#(6~xn8CGN?b}=TqzwjM77I|YKkYS=_{(0LPxe6z1cHB$eTUW%(Kiq8#6fm2*NBe z!Wd;feN@UUS$0&)D1##?qXq^E7m!9c91-y-@r337B%aE#FkXw&S%f}})DOJryMB)s z4)6aVTaGB=`WJnkj()^*NX_S5ee51NH>jsi6%AN~a2S$a`8+g}c*SWw$76yoPbF%# z;ms=L;&D#?gG&i=fXq`$9*WcF8yzK_)_{!qaYbNoUEVLBye^e2pS+=KQRCLNv5Z@4 zU**S4!KTLQjg><@%x;>xOk-@(td$=r^py-vys}HDJ@ZYv=^MRDUr!>j9gy26k`q&v z`PaW8F||E4Rq1;QvAKzHo>%GMSYmFwD<1m|kwio)aR(C^_M!?i7lLR$-B<>9&YefR zbSp`^G*>|{cxqX*3uCnja#QvRKs#8^` zoa33ZStbIN6O^4^mBBjyA==}WH8d2%$7APcto%)G&S=fJq(wlEGN+;)FDi1vSY|WM zhc(Gn+O$??Tg^Ky+W1MZh)bHUR%YYOd;WA(_|eL2$W?zjD*R|=HsGp19nz$=G8=K# zpNYxV-fQK64kW&^GI(;-b(E3?s6{ppZqsFm4{s{V9H%hH6% zRez!QaZrkd3`p^6fRLXbqqEqYz?Jxqp~{42nDm!fN4cajH|Ox)96jP&`EU%5E8&b- zwI;PP>yWTC1(ue2*yDKzQmR@jvyur+Q-Eoy2bP5C$*MgDRZDX~^b`7wDfNuVn?z;W3+E38YSx3i#RQwsK#s$zEHnbc&X1>|@58;0<{`cWe(bXj| z0aQ4)zXL8@JSnU-Qt`zvi+7@Ma=!*|)%ozijC8xrxfrH{?0arITlgD5*D(Ah#|`P5 zb@fv3X(w4eCa}Bem@U*0h+4XHYo3nl>v8~=KE74Xe0CPm83Z@ga^qW*$Lh>9gT03V(t8BL?Uo(rmO@v0W+pk<{yDQGTOGvMZ{LWiFe+no3EC-iP8|osUJAc5 zlpGl5=wIM2s~#lrZbLl&a3E@VoF@L5UidHx@wMUKiGLdZIr!)BrwIkzoN#nN+8P)a;c1dQ->-RRIZaon(nRJ2ZQ6UPA0*`;mbP~kaeXq(8b z?R5%xrnZSp+HL~V6&GX;FGOHpSP`Km_ zbDLtfXwHl_W2@^%fNrFM+9q;wFERMw04KS1olnHkHjydUc{OUA*jDVd3h5M1#k1Kc zH&!9K)S(43YC7(<+96zBZos+1%E^F^`4W}2Dpt(5!#)LR zg{|EFW|@I}7c&tE27;qo0B^IZM*kNX1rvjf&;@!EJo|QFgfIj4Fv9$S(Z3*c6`wgl zo6sHKMQ9Ym$XpXx9`KG!QaBs?JbGJd!~BMfvL=z@j^vMbHV3JzFa)t@b|W+=kj>$O@Q>QFIz!!@|)1In+jBLh!IVqaWr^kSzjUY(ukIi^XfZ?hXeG1S{= zA`g}S#f64UAnB@Q>TNP%cLRzI(BBU@!40Xy0htmJrNe0mVBgerAs~{C*8rx={uK=X zb!YO0*c2nr!Q*Q}IG28EWD3DoRY=BrV?YtQZ@XrW-U#~R+%Wlk86-VXs)1A&QC;uM zv=6?xd?ZdGdSeXIz4IYw$ik+s>f0B<8Nku?{@H-mTs1C`DW(ozP{4Qjf;N2T7LK5O z@q5T`evS`Zhb+E}{13Ln3zzgiqpYVch{EHD0^ZR}omx1d|0~M-w8G)=xOnkZaQ5Gg z4^(@}3#&qAIa!`f)%oBlbsvz!P2bvC*ifHdun2uvcAXPUH*5 z%23ucjFr$rX{=O5h5{ZpF}?7*u~M{-O0_%Jfi5TQzVCxmczwPnH=??{bktO&*rJ>= zr$a&V1O}JV|Hj!$SwzqG=+i9*xuEH)O;Io-6{cq?uJB2vp33$*CL6AQf_6f8U?4w~!a4`d|?lRs(!GV~Y zbI>iJrWP_!$2qXV*qMYTch1aW|CvQsEZpqItzqx=B_7^K9@`;{ha#=N zVmyYU4GzzaSCFgrV4c0c&OW=&zE_>Sr_OHG*&!u#(;U{illg;=eRFnjV7Ob&*(XjP zI1!2??DJ6$`&|@cc#d=H9pD-WvBvJ`zFx|G_3~-aT9`q9>dPvi8ZYp!X z#&mqXi37eT2>46;AR_qp`$|G?waL|CE*0P zwWSY-agsTpLakxEKF4=>QO19uN%!qAp$~p$V(jZc)xH=QjE|wpht8IqZvWvcprOj> z2xKS)NYn$D1Q>bBZ^sgI5LQM10sB0cOup}3f7#L#U6{hakg_HJjI@u`($|0`xcT|S zPfDiwTD=TyiX=n!2)?GOA*qh3;b&FDaYmQ*mGTlu--$KB(AgpT>?%kd3R7SQT-bAV z3rkMDj_l9A1TdlT^FafS^=DdvJFthM;Q_|-Cit22RtL)!SjewsS;EOLwD$R0@aJ-J z7XDl!X7`3hWTb_?ic6L89%WpnjLVgA1r4b^s0Qh~-i>o1#EI`k2q}-&dFY&_j-s%t zJqkbN$`ij-k{v}%vo=T+^Eru}X>+&c3OoM=NcvDq`sqEtPtVfzC3 z4p%*b!vXp@XxXk`%Rq2AYAEkIK*YR|F%`}j!k5$~EA7Thv}M4{#Y^&kmISLAP6G7} z1QbFJvRB-oW8g&D*}c$fiOkC03>S7xF{5y$MH&WcuY1}RAcoVHrhO$XnbW-vxns$o zZoeOXxF#kc=X%}o^npQp6TB2!6Q?@^Ll6`z*TBjF`znOlAHXNGNI%=~Yj|l^=%)Ix z-*={;HHTHIGB8I;KQ-6%b$4HWNY@j;Ja3?TYx2ePonQLx68jn?GN`5B_jk?L-D2KW zZa(mWf$j(W4QKxBhF1o>(DysfH2Atd6WIB{^?yEUp!-^UBbtBrnrk2Vv%LXHpYzzx`=6_e zd@|Z-Hv`xF0&%x}e&4@tPVT5?d?Z7U`O>T_escuqvG4nru6zBw;zM4E7cumT->mx5 ztXoS1-7}m`r<4xQcP;gTxh32kdhU+%_Ah~43r_y>id+8qdNt`klJc)y(su75Ki)9V z{lW1!7oGQ1pc?vXhDye#96Qkc%?(*LipgVHIC*QN`Z^efkFXPLr z!8fl%nU;U?Pn(l(R3l%?(9`+*>FERAukF+Mkbd{WUTCV+y%%XU0G!6Je(Le!UoPPRU9+f^{i*~%qY|iLF_ieww`|+!u{@6n< zqNyXhxrtZ&+^GZIta@kBOV!K{Rhi8|f{R~1>YCKkKdlBGq+)fSG0@El*?#|e732(R zDKy#-<9G3@0in;1yJ{sXxD-ndbl-c(E0_G}q`y~FoTE~_G=*;M0F~Gecf!6>Ig;D%JvLyh`NMOjYRPLB{_^`|#JHKSSX$h&I8t@qwpn znRO}b7os)2arfhgeWwn^E*0zcLG&!NxZC14RI%@H^K#Y?bRW6CW$>{t{H_|7RM93* z9O!P!-+$`~pR19v-L1|x^v2$o_MCI^cdN156&@Rb;$!L0mfk45T%|{wiuK~zsy64o zS!)DNOhs!zojtwBPyV(uQNuB+aJ=i_f$qSkXAEzzL$OJvxCY%1o%qe*aE%^~E{bag zx-b3Efmi*sjvkFFufMrvUij!q177=2xzT>`E*0(33%6HG7IE=dInX_GcmrBitXi^= z8?<(y`<6%3pMB=Q7pk$`pf7G5=ziibaDnR%tc#@@9QcxR>}wzY$fL%Sbte#n9AAj0ykE3#*kgA+QZ$>;{NA9lDvNG8>Txx=D+)kOZN`+FR_$+$emIxMM5&A zvSnEA{^i;iPZ<3)h_(35$n8mRP7aW|)_Gby@H~_)7y3|!dOC3JFp|v#&Q_t!w6Th7a6zOt zl+O+tQjyj)CnLc*b`E;d^#Yopx=QAS>BqzMQuydtNa8}6Y zoGP3OLhBqSf>Q6AET!&|g~YAEEo6TTUpe+++7OLq4>==_yG2NlYwZJJ;NOBsMcw8_wNb}eXiA36EUX@K&ikwt5eOQtF!pMn!Lp{&oo-Almi#9^3b5AKj1nPm>< zK}LE4)uB!>Epz75;~^ZJ@H~3yab9oDqnRGR0;wDiWEOoe8FS;{@CM(`gHp`|WaSmv zTGQ=2NobtS8ZAPKUbz&_gqt1u=-zPJUt{36`8F-|U4I;sYLS}dW3JEVJRcmK5*Ud7 zFXf(@D9VZ3cQZQcP(7cAmJJmZAtR@^XB+VNW*4;8^W|V1#YsRfvLRo;{Rzf`VjdVg zR$}-@P$>Q&Q}`zqjd=P>0^=EfddFLDy}UNxBHIEKI{58RQD%h@zz-Cm9@a)<%PMzE zF+E9pv>{h-p@tWTK{SiK5@dT1vTer+GnI5M&L->|C^U)LQUJ##1Oe#3HgA=Njt~_; z4}%z`i}uGudg^JiMK~p{Q2GWVY~wq9b45R*0o(Cnn^N-sA|M&hVMv=l;C2vj%R#}E zKec0RK2|Gee20B6!RtzTHyRe)T>rL6(GLYx-6F*^%RGFj44W~j%qVVudK%*|5^a&SFz3YX6^N!%HcVp=XrK;a+CQY;iR1%%k}>T zaI9$}>7re4^bzobd?)lUQ)b#;o3;>3p$1QmTu7rIaTp!yY0@1SZ- z*(+t$NPWyw^---RypO3H4oaV}A0SF~mGcB;QsP#1a|)YVYI*87`#I#^o>^I|9%TH` zJ1qEvQgD>q6rC!9n8TK`=VZ(RuF4JK2lV2*pw~C0cGeR;Y1-1JRg+fim|}y|NZ|{x zEK<*M+aCuW<|x1RM;*`(C*L6MqFWyI%N$(#C%T97;hPa=X0wJm{5k+Cmw~w`Y=!gK z-=*h-8n1-^pTT0`CqQ6M;4$vQthrTnj$|Jme?^dED7`kR(~9#|a6;`hoLih-4_<%{ z5T=w=p?N%Fl>pxII=$(ej|@*|DXR(z6uZD4OGGOZJ?{xms*@xK@$(`knj!ihg|qK- z6VS>mU~VtJ{VfzMH`||B3wbB1p~*l+KMX&q6mdO5*K|2T8(&K0>gDF;j$~{IbC8H2 zgpRFS|Avk|)5$KL~7?IIe(B8bn(e^@fN@yw6ub>T-NTwbc{ zit_E)(;!fO7j0A@)`YwE<;b^3AD7-M|F>`^agX6c* zp8;RbCn6q53V`XTR~+n64ZB$;2UkcgeJir#QEbftsSv)QXwap=l2dS!xf-*#*+W%g z^{&JtD?19fMk~-L|FO|P2CCt$K`51nTKRz_VmJBo5$HjHrg&27ne8mxV&K|c>`bIU^PEl;|%s=yWZTdlL^cB z8C2|<$ZT>~lw08;#cR;}!-~66z`CQ+YV`-9ZH4_a>R*B0YOX*-wp2&N;Zk2TpzI4_ zSDi8#3qnbUbV_Ft&%4yT18!e!WJD_(D8}&a;vfX0CcY+LUCUk^wNj@Hr8@9nkA=R9 z90Q&^KsPdx-*SsZc99&~8xJhtj+pAr``y9Fs8TL(!1x-h;KWgj8Ab%kj`)9n15D=FcXjaJM%-f%fm~?Wx6ac~w3(wV5Scp6wy% z6{T8x(uH{d;NPk~$E&})r>#G!2DkpOTB@rkxBeFW2Jvd>d)4yX^P>atHrm*xBy{qMW-V^jg<$srE z`ez2N);uZJFMzFAz9m-Py{UX#0DCImfhh^+dLp>^z&262jbWMN$G5}m$w%hc-^bY2 zGeKu&i`8!Y%{dAEi(SH7qKj-LQJjIpc5;I7z(Uxwo?0~R?Hn83?xU&BqO0yRnr4}B zxbazl%Ti`9vn_- zRoQ6Hpq2|f`<91Dl=xwe#~5TF(8stST^l%?vK_vG=y)l{zhTz8wH|(w&tzgW0Q9@C7QE9?DyZ^LXq_ zQH8zUMe4$8KJ+A2_;zT03GS-_UsMIA=QJc_mj?++!K6n)VFRF`F5Bx00rvQwe8(IO zQe7Df>{%#K)`!aZny?DBvBAv>6@kpaP1v@f?2*+d3_=pF!I4wAaC>=h!aV?|$r-VMqRy;Rg4Ry}5@lDL%LxbX9#eC)#+BICo_Z$Hc=pq*_fHwwy z3A|g4U@jx4-z-VLawGC0XKG|6=&MZStN`F(eQ^d;#o93dA`tf+bn z21yQ{A=P)avdr1+4JZwGHC}+?kW^+I8CtV=ZTC7jO3N`!sH5UVc}_DMHKWE2okb(j zn1z@Uf+k2zET`|+!929b4TjBxnM}3Y_n`TjiOyRs$uwdHEcFI&KvLHvBgHRP0>d#N z?2eq!Z3PrLhUXi#`hi_}np=VG422tXU$YQnt2pHkyW!S0i$jf!Jojj24*U5ok7s~! zF~FXos-J-hgu?nCfdK0Gt!l)W6im8ulSXUs3738v_bGy!{lAD1zX99!`$H`mRp+~n z<0vGnszdXwK_ZG9a+Z`o!o@^}z|!x$K^o7zma0>!tc_-BCj~_$E*JNZ8yQc0D-Xss zuvIcSt;}!cHv2{gUOA}dDmL1G!{eHHv((s%Yc;^=HxkX(03ahGS<3k!H?FgUv*)=7 z+wpeA+=3NAA53NsG4sda@nd~R?G2B$W8XWJU1sKSc6N%d=%07{fA4J5O>A^e#F&G2 zl56t3YEQJfXWM%X%b0(ei7M6&JTWsU7pHKI<8+=0gszLflQKGShQm0+bC9DRhXP!{ z1|Em9U_gY-_QEm;mlZhALi58;wZgm?v=UFN@GHE|;d&;ufQr``Y{#4|5KIi&I1q|s zxV-SHs!f+E)`iFf8|mTf@hCgqhL*HO{kX-Q(=1Gq#4VJ|1)S8HVh-eRGnq}wxDa^p zb#9?02-=3JkpvuzOut4tv+rZ=>f{s#ONVuzFBbJU4Ib#S>aq zDFTXgj(!RS&No@5ea^r&Y30l@SX3L0nm{y?3duMX3dDPRuuG9m;NT_p9t3rJ6x#*c zqJDH?T*ly_^(wZl_+&16cn>?ag=;%Q>P{P2eNUt@YY59%813C;sgVr%LF7<;J)r!1 z5j_>^`-*&lk6^C)`cf<$`BM{jXy1Mlt#jdr;Df%*1y$v%C_3z1QB}UC>|7~TzM|AbDeyr>c7hRQ?l!Ggw$|K6og-hijW&bkm4=X!YL6sMjook@Vi^|SrQROGF z_j6}O*HTAICAfH{Rw%NxNQVfhs$copn}u zT-lj_Z{NX9+JnJU!GEDy2B!^V zWY4U02NU|V*=_9J^&O2#G^u4M@Extkfz-PEWkL*Cgd(6 z*nr)lo$0#C3oY_^e3Ur2={pRsWq=3I6o$+}!&&o5=?dCzx-P0Ts_8P^O_%eFaSlB3w@(m=h zn5mTtrB}I0J32ZGQJgBYPTvEF*el3HW!*WgF(9V2(?2(=dh)y5Hp1UR;}zAcjaXG z&OrOP1nt9UKQO#loxqVD$}UqAM|I#AzEYXIu%J-jYwENuQpvbp*gE;*!lE-iY) z0U?~+b;DF%!(B)$J1}Fy^Fa8>Gvn-*hVRcPMp?Qg`C14{YA|U{q5kp^SvYv8x`*#~ zsR!mEFj9DxehGTW@&&6GE?h7<*u;6Q9dl!%Q_&rW&$DdE7(!5CDU359DPesCF6#6jr2pnWXYv2T9-_$a4r6$q$Bj5p5#%?;|K5P>E(SOBJrHfpJwR+0=sZ zKHLHmASi2KU_2;8F8eT@B8!0#hK*O3d)k{o1-IQbV~#@tIzAhxQp~(xZ(9W=*5=s# zDC;W5;&P04TqZ@5I6gZqQ8Y%;s!{IOv5-ua1cXbXl!xlVI2&KOvwx@{)cMh{#)Y5Xo)u+bQO6s)?7%UlLS@BhjLxy3DzY zsNlG}ZqZ{tyBpEwRJ$W@s$Y)$F;|O&yn>xv-rSR5RzB=WH_h8JNmtNm-qw?_Zo}QY zxZNSeU;|ra4~pfN>lbr2BCq($@^F(aX`~R|vaUvtT|t|FQ)MeCNugSUMN~1vvI6 z01elni=T%JmNl6F_Up=Xy~H?W@%L5G`o)hk2Bi=HJah5g%5u(P-kgBX*kVq;`Uw>C z)$yP;tEV{SnynVoO?0|FQN~4|LKO0;>|sRQsbN017^{O@2wvdJ?nx|*%~R5>cSa4x z7H}_)tgP=-*(0X}XZN@AixS~_-_-dYnvPuE*6{)Slur zt#}5p?#8sLHciwcuo0q>Ko^~?GccQ#4ljZ!oGAwXLLiXJ4^Wb2<-+cI&PfchmqO&^N}1Lc8f%U`!w|FB zjHMF}n1yuf*naM98Y|^iGdR#%9qvGTDmatX={iQCk;dxshTwt)9gP%)*R9Hyyon}~ zU{{U`hhSA2aw!sn6Xp)WI6~h3h6Al1!fJUmpFb!l<8~7aZW+O#AQ;AHl);S@xJ3Tc zt|UzDvQ+_3Zco7A)&vZ0OTgf+gsbhWFve5N6VJd$jg0Ha|Jf3CTrqbf=SZ_X9z|HhXWJshhL2b(~%Z>0-!1lS1f)tH7L;&nd;& zkTHEv*cnBCk{>0NpQ40bx+sLvo$4hRM&0?I^6bYM}uJY5Da0< z#*B|;iS(9NdX2@-P2(v<=*iDu>1T;G>JfswAod)>j*O>kK{LgQpm_{B81YCO0iH{r z&hZ&=yFJ_n4$>yeNdcM#Nxmv7C0ad>x6uOWI{_#L(&ciliqs*I+N+WN#z>(Gy(xWB zDLn;GiMKa0N%MVdVToG`^1y8}?!7EO-Vi&7fyGCNF-z)V2h;(m`L5QSeJ zhdNm+V;>gAsFg|E(Ocla?h^sDGQTdh7b5dZ8CNfYgXtHr=J0^sTy3-u7?|=M{Rn10 zxtJy!+}!5I(r^@0cAm(M<7r9-Gy)F=BFA$FDKcc6$ULKO$L(^rJzR+PfRp{Bi%D~R z`|vIS`!S%6y-@cp0CJZ}!D2`#k6DuxY#%i=sFGD)Wsx=!06k&>dxTb|3k8%!7Q?(; z5@}^3Ih6>s{UD>U)%alkDm1DLN=k%6O8cmk=z`A7MA00(o0w_#0WH2hcOIhoK8M7w zVB&SUfLh@f#=i^yEdK1?#VsG}X=rs0gY{qi4+IQxhW3lGPY}KA!DCmkDzgWSg~i-w zEG=eX>`P+K8T+Nc%^LfTnDMbjoH__)o5tQH;R2WzYWG@=Be zaFVb3v96iUQlxV_$0_^U$PtQ+n3L^DVpxkXzg%}|gbCRzkg|Ov&ftf^ysV5_x)ldF zEc+)+4a^7nSOG2T0Q+zvfrIPi`S8;0HE@dN&C%b3#udUTXvR9I8tX_emNPZl?--4M z3Y^iFSEC*6MVlJykBmh)1wpRv}F+{_?BUF)G zjmiP^gG7?1l+`|#IVdte1~T)fm6;G#i|V7lB6gB)naL{8U(<8IVOr%reDj2Sm7a9r z-Bi!-HTuz|mG|}hcG8b7JlRP<3e88~q9>hhZH#h%pt8Eo<8^u*Ll1!eHyzF@*TqeN z%F(Xlw{#o@2ZoiE7}JGK&qJv`z?NS?X`#4QeZ;=`$rD63CnO@g#8|gG@$+#VU{CsVtad zt(LhOad)!7jfHH{|SgF6BxUkF2?Dx3Tr{*x$Z+#W8A~IVV&Ngye?&~-9chEgq z=Wb2!k7=|__U+4oTP|F>7ky{!zp>YH3AAuGxYH1~oj|2iJkjdI{NrE~|k|4;1`YVSo# zym{ji9s9vT8NKu>Y4to9(IqIfH~YAnEu?$`^61IS>_aMqduo_3oWQmsOjtcatM=|m zte$+DQxyW&GoXK}c!cme=KwNeJRKcIv8rVNYH84HJfH_nL3~66@7?>BYv`e5BBwl98keWqSj1l|6RNJ`Gl3 zuqY}aJd|r^B3M7_OoV+Yfa6;MNk26UtHB*ngS*UwJA$3wB-(69*e%_aTz>{7DhyRH zxXq_nP_<*!@gZ^}w`072KXi=F(t6NGiinY>h6>w~i}Hkr3jL;{d}IyoJsuqWFp8G$ zk(4>ruaS_=(Iw#s;2oESXTk2#kRXbN^%2>A>mp7=dqSvqe&4rHXV*xZWEWXPsVgN) zsksqVU)&hWo)*Ll97?E*WoW8rK@+}v6ma%E)l=9%i{tp%>}$n$O`#XxONzY~cl)xo zm1_ltlv%0>!O7F4-uL2#!o)jjQ(3`NaXSs1X!NV&7&B^Aycy(WL|{gQcH? zO0toV#QtW_CAs&k?)$9JPzjs>wdA>{XE8`8I?2MxtOE$wDOCs`>4U0T|A9LC=p^Vt%YK zY{rIY)MmP2%k9PJ#QR1|jnK`FKAeEdUWln2`z|{oTImo>{`6c{E0bAH=@pKe#{7xh zLU^eFWuP*AS6Bu52Z9Rs6&Ut5a^ETGD%k%atng-mQAioSG!VL$EzUlSw8d7l#ey`J z3L_{;e1^Sq>CP+U$K zrY&xDLZM(t8qPJQg>`2l;PwiLz#Ooq1(r#S3}*tv_DxoYlL_u{UYqhr00B57ssYp{ zNfN+0I2TfxquEFfVguo%xjYQNp8O(jpc&;7f--!LI_Pt1?m$68Tvq*K`(Wu}ufPXf znsKq-7+8jJV6SS5Yb3=Kv^6h7<>DP;(73b#R*!`dfUHQGD@4~WCMQX}PQ<%V;=K>? zM3|187{(Vv${g?8i+G0O0|-TMMJdfkwP^gsHT!yCk?+!#*=oSV(mx;e zD-S)Mg{B%5rLyM=2++hlw|GOtnDNF{?luG-9f1;*uZoZR|W` z_aaNz%&kgpYFBs@Q*#ooMA1|#gZo}qQzRUxjICy1H@(%5(yuiJ86LhO`SP_W)>#jFNu8wPmaCW8(M2TuTaE8xU zz~Gbq!Q)u%1JH%*94hYX!a-t~!`T>DLYgk70zp^YDzS?g%{;;CT&Ccb6#Q$+{+Rg1 zGsBoHI+wC;jmmpy_$!yOS$5jDp#pFpdK~S!^i_P~_SZ2rM8HQ?K;SF{ti(sNZ>G<^ znCLwShzp>OTU%uuEjzTiRztUO`_8O-2olnJmVk)YgQ8HLy0hI6*@l){q>jS`;(cA- zvBt25Mc$36@)QA_~zwYiqkRw)wie%pBMLymLv)X$Ab=mucx3U09v zS$ZCjS%2xLFhU6&hIj_ze04+PCB`O_k=m)78eYK8JnbK(m6Zlmwt znJ1;YQsEO!QVDw@=GX%7oMqY{hMBQ%#WxSdEQBSkGIJ7nUunZRn06Mnci}#Z-OLwj z3fuRq+K(T<66x`9zR13MCg8-W$UVU2D45FZ)a?Diu=PZrA8!=Tw@Xi$7-X+L4Qo+( zv?C$bR78yW2Rro2`;agaD${&g^?kqZYES_h)uLLWZpUsn zjK@PZoCK}?>Fcm|JSm44+<`~dZ{Gm}XIJ|UhF($KUWFF85*8do6YJ2t0-k5WuFyG% zHEeaBIEdZG6NfBG<;1}{NW34C7#hj6l@6=ENpd8`;P)VXr8|?es^QEYI3MsFn1@)N zr{yMpuG60=#AVgvK3u{zk6Q8|32aB3na7P>C+1@c%BZc3TqqlNDX@DhcxKYj>FJXU ze#)rmhJN1(sfgtE8gsjTcNsXc z=F|n#%;Qag+>E9`qL7ecHwAVnk0RF1c7;<*;KTXU_OKS>LHcOtt%C%yKD%UZO$Ezsb zKyRGV5qT5z)t8A|<%8l27cs6}kB{0u`U6V%A+%&Y-rMd6pJFAH8Vxju=g@yIY0psN zRA!o^vVg{9>qa;@T-}1G9IlK&nPeHb5^g;p8T75v1CC@o&kB@Dtc?8^9!*^Y0OB*$ zh|NMQsd|D~`Y05ukTtKNMyv?{hS$`3f8@{gE9}@fR5ntHD#5xYB8XcF2RchQBAtj4 zi6!GAza$OaEmOTvB-9Y)7{VbW^PaO)eQ94Rtx&xsuN70|yg?)if6RDI_!Djjt$ zINN+AQyPM;8WZ!6tC1cECP^`pxb2%EZB^98R0G|UiQ8X6e6OqS;w$|Y2pYblf#6MK zJb2jr%ZSp_0A7OUi6Zl%w&mMMSSRy=?&p*6c#1wP^NE3hx_k%3b@>h^U+DQN#aa^0 zUJ8>sIuOxB#=M0Cm%<+hG}tV7B_e4Bwl zL<+>`QIrsUT{7fm#H0)r&1(6k-Fzk6=H>=RGyn&s^$peXf1&g(X8i$5&@k*00HZi2Iot#F`zRd68Vgm>6!0iU%}c?2Xx&LEF#vtG?H+`fZq zAE&^}n0sPU;=Rn*36Ioz_SnbDCtN z$8i5grGsZmN0&1tKT`6W^PRb+pBz8wX)MLjcTMU8T5gs$ehZ52jyG;`YNL`MUDH0K zIV6>IoW4fQA;H8ke{X4An!LN^)cT}QRyv;$x2_wyB;j_?fLjuMxdEGo|4jVD_=Cni zNFvG~MLwY{&R*UwmNr~g6HB=C3pOc{2P=6OX4XFEX7 zI1*QG$eFTcau_R(Cs3`C7#hqkFeNyo!i1}Sn4^ksSeFcO{-GWqn0$_blhrpc%;Om{jD}AG zTWI*V*{*ruCuYR__7C6~dkrBxRv1h>pKZbwiVBGqgszuo5fDd1hm86nTep#3C~aBvOWOf?O| zn~A$LJa=Aa)antyXkg=@WKvC!A%sl~x~M1;MguCvX%lpF9U2iF5+esZfg0(*il;KB z#&c8W{ctabkcXCN`H;+0jq_$s&d;hZKz?sxNva|Z8q!R7=N$_+)!LH7Y%!RBg$@bf z^rkAylrl_8^W6Q9!5~?q3sgW(CCwt2(RbKCAm#U<$Rvl7t`i<21GD`-ga|g6|7fcI zhw3pRLL$!M(s?Tyl3%zPhO*}n6N@dd(WjUO>n|K@VC{MJhJ92uz@aUoG3q`_NyvB% zm4>0xFgtq#>2+wQ=Ae^FkJHjIGzg|j?vn8ekyM3Ph8*SHKRn$T$)p;q;c*pyp>EU) zHgiND8HSR~RO`q|Ge@8!l0AZ}Asjh~>i(i1{0}Nh{X2Omp;(*)56+`JQ-#9Y9 zMfeMQ*^ug3VXR%*%_2H$7gDuihha%m$7>9U1ZJlkp49XfI_OjrPyqJJf*5Nq_(pa=v5B znJFVb;V7;I%<`>7eoQbi!D^Ex-p00(7)s4LF*OTZ-gJhry2I(e_aV`d;nb{= z6Vs33oC#E~W;+6D97w|1JM|PL-mMsfH!lrY@p-QWGUsY#qLxOg6Oi`B6{6zjvS;qR z@~1g0S9Nq`>Aca=;apV>k9DIX!PV$U*j+|PH9T)a&~At4S9SY$C_I+Kn3Fux5N^W2p^^uu!&EEF+( zzeJiJWfj=JMY8&ApW{6$fsTyBG^)m6Q?-D48W~n~bK*w1!zDEyVVxX|nav2E^yv-Z zR+Lmrc25(^oLE7DD!@=Ai`RXEgYyIU0BSI7@Kgm};4uS3m|{7_pt-U7)((UP3DutP z9u2pE+}ZfZyqDCv$4D0SsF9f#W@uxpA1^2AQGcdx`f-4_py;swfFft^B2Rq-HY^c} zE$EY~b%Ei{%%o;zjO0m)f@=r2Q`GlhOlgprG+tHp;av`Qp+ZWIvoSz^>-r^CUKuw5 z@X~5fTm=ogL5`jZ52u<2Q?pJ=g*`pH>cv&^axjXfz@$m!q&ehrOrg~5QO!^5Bmy#a z{2HkB#7BDZQfo~rQe$9Xe@<sn~ET zW(}A- zgtDhv)~{=nlj5<4PUV$;1JTzyou}fdWY^~{`g9WVcd*48x|Dx43Y799(Z>Gm5<1fh zouMoe^aTk@1--CYbzvV?VU1o`D&o#b1k+Sl`4iPxLn`FDlE^R%9C5o&ro6TVx;183 z!KX#}sDiK@xN;{jX|Eu*DZqOoD5`>L(Ntj^7es4s3@SdY$vYsb@wo@Isd z1Z_V)kO0oK8)%Vwy$fag80%Gp@TsQxs8waBumYDHqQ)2+M<~Q=mj&FEQM<+_9(2N_ z2Ya0%%!n_*xR;0OsAsVKYhrienPa@`m@28hC-EXQ62YQ6y%sXp#_T*ir8bl}br2fj zEWypP_ro>`C%<_;YVpETFM@EHD2ux}iJ`_oaQ=4#r@P$n0M1Fb0c(3F+FwXZ4&yw% zoY>mNay-M=c(%&10Wf8Nd5^}o{`5)Tw1CmrpxGd2hxJz`gP!FUkb4_^p-pc z!}S_lp>UTs%jD28&R_*p9_slu7m&~3^l51vrtlST2dEuNLR2NEBI~Ic8t06`F?aPSg#wQ7mF(ozry0cBJ16uv8?~k-mcPse#h9 zg!vFZAFcs*B-8Ik_{`L-^hE;KT)GvZ2bAt0;N3OA&P4if0wmIh30%JPDMH-G&lhT7 z6D)0J%Tw!&esH92iGuo|y2^k$4_0ZNb<(k{% ziZQ(UUbm{!mdSA)?gUZLG$}HLq3WTi%4_NBIlErEjv;;uIk8J zV?2FkW9n^=wP3d=EHlmsI{Uk#{+MacKtTx+HKpa+Z?LPMh`ZMaqtqG(rCcy5n|D1E zLy3TE#ie*$#oNkBppkQ>g6+X&88XT%n`im1QxSx*2y9xxi*eZf)SAdJPDGs~@Rh+)BTBB`9Ap`l_ z)_6i)|3@3)tQnI;AM`Rt^_}f!pq}L=KHNG2Z!mjuO}c3X*2x%sDMJ+tH-s4>o=>_` zDmY7x;^Y}!p1LXaC90cZ*W1>Ul)k#Hr$ajTww_Mm1=}V_v&@$94XT%Y0j~O9rrgzD zCeCUvQ!cNUxu9MzQ-NMDQ!cNUDVNvF+=$cmG8Hy`FAMqRk^=Z8T;`X+Fa6s8zV%jm z7N!>I9D3o{7tw^aO?;lEoOJ)W7maMP&oT4pC4=1n66ND_*cO}*Pc091zgg&{cmgdb zZ0*3ZMvYfC>duVs2=}xXTS_OK2nO~IGBBQcz9azw>H~Y8Zrt49U|5h}VvgQbF!UKX zuYOJtAbO%OLr)fx@NLs)6k1A8BX+6%JTD2&?nCYnQhO5$etD!THj=?PK7f6?B?ydX_xojbjz6q7SAO?s%5CTZL3$bilAbsji*aCrc zBg^d_xqv{r;t0;{Y?{vkkK<1p{}S*K)c~&b%fwIl@~*yCyOOU-NklyZE*zs!qLD#U zn&Q48us@>jLt+(xhs7#->K>t3LMy#Mh;NGbtF%5U*8idPv0A*x#VV;iAy!d<_oP@w z0p7Q06%7-j_drXEMhF-$Fd!i+A>i7fT(5|6w4%Li=;^seJc0pzMpz0iV0#}K{~~~T z^3gf6JeIp3Jrnf9qy(2i>>)zg`}2$HXEvEFsl`U-f%`^`)`kI&bf4s)Q9zn?2dBY7 zs|Tm6H%!#QX*!t}sUZhQ_u7&_+t`0Dyk4Xi%$HpAr>^<3Ym!vz6yMhn!vZ8*n)1n? zW9;7ypC7xhU$2II93g~dT`Ac1a~14QTv*nI3c2Q7&4YdN{qqJ>L#NE~|-m9ZYrUN4tQ9?8)QcR;{?BIIQlNZU`=ENn7B17=J}E z@gBwzKmf-#E`?G03O?T30W!K_TgG<}GKa_$=K|0|!dk>=%&rZr2(Bo!2UcJe5ab6Z zZdS-e)?Az#q5}#0KI{}kg34@k(D!juIJlzK54iKm#Vp*CgsN!xd2T=5e#*~>GG;D< z#GQF2Qg`NGZ{`ghzLp8ug>DT6{nn7ZhP88yJKLcaEJ_Z}R8{8p9fajEG|ohgXG7-B z_ya#G83$nB#eTRQSqBUo>(o#$&W+$9YQ{ixm4bZ$mM2o@52ECsMgnqiP;NeF55#WA z5`^2ILD}rJc)kPA9!>FyV7#}lf=Z#>u~xvoj<4|GsE^tC>|n@nl0z+;k=*-1Be##6 z)Cw@^8#q|h1Uc2i7(VSMQ1ooXbMaLSi2HgW zGO`S{CvEtS1nK_^8A8}%fy^wwvN|F6)DTynwTe?p%|qr2sIxeeqgVg~_eNHWn?hnJ z;zkS%;c)!tfCA@s{&=eyf40@aTu{~P>_Bc-P^z{sjt9Eg0@2_wC1t9MZr}kAOEprc zb$fa3)2)7JcU$)~pFZG%G=`>U+4m!s6|~QUP%fK@&#C%Bd4w6X&!xAI8zS+(gP_cQ zs4*CyzZkQ~(6d-6I_#w=cn&)K?3YocNcKP!!A(U(UTPI3T){pAsdyQ7+RMly_Hhn?04sDg7WdjnD`LS_Jcqo#c}9JrFM#6dTx z{%ZQJLn5C+BA6DAV_{@32V&?N0yQtz+@S75OWM{AtFykLNB=h4OOO%D=`84ERgfY11)S& zBSa3~78pF3JbNW1FEUe22CB(nj3GVM1#A=Mf=M} zAUi|gP$prVUS#A^Ho-8iJ6uRO^@+6RJ%;$&wniJt8cnHctEIDtGt zwrQV*(oB$X;@m6_7P)6=JIDV?ug>wEG@4RzvfX2W5D&IvHxK7mwqc`v9vF{0Ia|NA z;#{KJmmpc5L=AQCd-wGXJD$C80OwcF9^M!p{|8dEMh4TLM`}2daU(jmIl>n){j$9a zUu;w|_v%I^aZnqTy>-WUc|IC}Dt z`k{>x9L3QBP9|Vqj2s%VO{oPlfuOVotU+X3(%8+mWEnAVdY4n_Bi&MSrSWcfLvdsg zC+j-~_zV|B-qR2*m1s%>i~Z4|?SQuxWKqa9=>?|w>Yzc?8R6L?-! zOW5ZVFV`HBL)0T!XRwF73&>-#|MnZAj#gR@5t%7XZkHWV5|tUe{f6i+`=Q8~)H?*` zD?lJI!Gg=~Xh$kuJKT&}$84wCuqN2qCjm{cXR9q#VJ*jCo>(2wf!Pua_QGywBclgU zO&WB2f!T8YghdpNl&Psypy;=PAW9rOs=-7Rgn?W?;@qkEwp?_Xv4XoHJ_OXuX_dPw zrxj;aPODs=oYn>P1X-)zFt^j|@8xQ2E({qa_!UK+*8aZ$&k zu63xX{z07F^Q06;E#H@f!{OAxjzrA2BVpK|Mb^09LAk+l0zUBmD~#2egB7XoD{K=| zMo&kaCb}h4OH;%4ApnN@^j^&TCrP6tc*)C^MRPy0F({(ya8N|m9O$8hQj43Sv``(n zP}gilbEADZCh$?ieAdBi&@wrnpeW{PnYvT6n0UDX_MJdoP3l#KeJ{s%;MpNwgXO+1 zWQB-}LyFK)P^E`%FGaJ5Ow9fSV&`y*@ov(dYK}fii%Udj7b+e~;vi)u>CsYa*Wv)C z27NYV3)Ig;w)RQHSFR*Q738jcpduDKxUk5Yt!m^kOHWWV^-p{fqkN*4SCnzfSe_oP zFg;#i=NfMo5}>jk{elZ227`PW`!F9tKISODqG|{IvQK%chc1Up#dq-te6Ldb-eb7D2RWIm+jo*Law;5@786B z29#L~>G{qcoSV*sTBP%52WSdaH`v9JAl0@C|^}UBNDO-up-wWw>Oi4Ey za8rdm3DbSoLn?X#Hragl^G< zhDyV?c-FZ=ID*yrRPVj~3GL`>sP`t!6ZSKX_9vzPgNF7MANfcK9Y=|4yW9iF{)|LlJH z(dow!q{@{&Om~h>KUs4#_&YUc9?n13oU`F^3abGfr={B_HB@02#=_vTMPITi$W?ZZ5w?k;DrIYZf_FI`N zoPfgchYOQP8#@|qPEo8Aa2+^E4w1khAY9;c0CBrI15|LbSdA1zBnJn%Wbm?En8bQl ztMOn(-6L<3wu?E zWR_I1*H0qS*U8P)ja2LnJ;ADVSy6F0=9JuGht&DhLVz;K)cL%mEkNQtqZr5NdjgQP zQil}uWELm6o@5f?($h1sZ-6aA^O7y2AJyCU4cOqoI3F!CV-*KC%vNAjfPohhLpWKy zGww$(5FPsPd^bEZTY9cFo^?15ECr&ez0uQBozm4pTD;AU0tSk7?IV!R9O%QeZ1jyu zns8wjN4#C?&VJU6r0dP;Wcl%f!f<{4q{F`6YGS>uR*FK|IYia7aAF z?i$eybyJnEj;I{9cyMZt58QE`@q*tuIc`4#N=&qX+6iTilJIl1@(h^qt)4AWwI!>z zj;gJ*YU`@%g17@He-ovN`F6HfFs#LVGvtUsg$bJ~c}L4zqL&u?INY|~ru-AK-RU}# z@??YS=%{ye)`N9PI@@Bt(kbY;l{hkq`I41{YbIT@!!4%N*%ElCwjcG;=$wI3u8&9I)#tMrW^((BZ$IZkSXKr?+eaLKwv$I(w z392$poLMvN^TCNl9}3?Hu=+QG1>y-`O9@3eCZ!HuP{6lmK^wk%6wac3G2d70pMwuv za|HRHytlT09tvqasc~#6H`av0J^KL|4??7e5?Te&1{Z!j+Ey6mzt}u~=6Yjr)0r_{S zt%d9*R{o+yBX}t54c9JcWKXm5>yz{(!Qn|Gd$g55qJy5S4|vjmI@f%ECp}qR@T8H2 za^mhTda|nFNh6D9iE==&y_`~Ny8?=!}A0fgoJK`98V{UT?uyW?Is~ zjNG2s^d^olh!qUt0fRYfs&!##kkUXgxmc3(Eiaa%io_5`S0R#+Di#BnpbC(rRnZv0 zEL4DGri#Y^7H}pqakE!*Oi!S(z0Z?LL7w4E5@_hYhfo=FQ2BZ}gEZ1_y|&Fa&o;!7 zO3a((SGL9T+L~O?#q)yAe*2f8O5SQR<0Hpm#VtT1=@y*X!pZyO$gqO-df8?TDwsk-FkGFcg)SFB*&3EKRhMU}U z29MKnO-<(EIF9TAL1`ss!JKgbD(T>0GCmxp_9gM}#=n4nc3&<7UqXIiCtIZbMcT7A ztv?a#Oj=(MYmC+(i`7zjgn3@j5``K#gi19n$Z-ag`zj3d1SeX0l3&?=&h=>H9AE4| zAr-t^2Q^FqsEQfKK;zUr<6$$G!Cof1+V25337DR5)O*Imf!tAe_--L-P+lb8#q!-x zzWd{g(eHF9V74ygK*OBGI_k-uUW&Ru7xxPdMJ1x_o>y(KvW(LF*SFrPD5Q{|2 zPjI{-zr;=AuU-<H(JZ;u2g1hy(id^hEICn>06AceYOIH3V4;yt0YC9Xmmah-n;Yl-|v zDe*2DzYWsnLaHqZJiM*XL8)mY!Tuy}NbJNn>xn-S@@p|Tpi?V(1G0HFHcS$(s_PUOXvA>x>GHj=gAq&Au-$%lo^9N zl?mea|4}eho8iOxCf|2aZSEO@JcNOqHHKvO8e2cL!)e7cnjPF@lLZjo*E@CrK8F+v zuoa@&y#tV@gaWBE3M~Q1Q+l)}!+s5g4`=6TNnF6TpA$#7HlyZ!~KVNE3R~fV~tw7{cA+*KLb-) ztk}ZtI=Cg;f_3oT`1ar_mX_2Wiz)P`bMY@=>CXThuDOeG`jeJ}7dO!xr|aqBYPbcf zVdo_k>Mn;Nr}6z9f1WX?8Hd^biUK*OuozLs3a9mNhld^wM_cSaLvYj@iAIt;HEUhI zG1eH3;KIlbpv&1lo_aAeiEuv=+XX%#@D3taQzAtAA!ph(LeR?~Fa^G`|BzkaXYRx^ zvg`6uVuUP$v5@`BB&=GEeiqi5jF*bWHICpuCH5T5O8Z{~NhU{{wNo?KZe#C7E2A-7dTj3Behs87O^2YH1jR7m@K&cpzd32FR@1Wyh_}g zydW1j1(-bw@ogNpFk7S1XuK~RjY35%?%G7M3*2H%1^`X$-yywd^y#ACNdm6Pg>wzm zY-F%C91XiY=%A}0o$hSsJi^kj^2&L1_EVJRb^j8HT<_H%^BnuS~C zlF=sILu@{+wHaTqCXD~?;=`{NDIhLZu3W2Qj|>;u3%Z_dNJ1cqg(i+{ASsI6y?x`S z(1lbF%H}jFRbx=8Cxiyq-vT(>VWvXE!PLAVT)oa4ye2KzzKp)@e(TsK!!eHy=sOJ* zg$qvgY6Oqm>LSiT-^^nF(3O#>45*or$yiw9V!t%h_p*BZO2?BsKHv8dH|Fcv*?t8U zsgR;#CF~;Xmwm~5Q7D`Nh?67vAw+ecg+_qmqLuOvfNaecOScCISk1oX05>4m#w-EA8BLvybodD5w1bu-60v)SJoE z&F0Kr3iz4FOmoQo0dOCd9P!YP0M48rgu(!Z6Ieln-56GK&7if$4a8P#-2OGkKkg7$ z@`wRdVg(q2t?65g?)kJ}OHZC(FB2$YVQ-Lx-`7fv{fyCL&`2me9JP!`P=m|9j&g#T z1{YCx9v<^Sb@hbZSbMkDgZDVCW-7Q(7ha-gCdoKfV3w*GJO(H=6UA{*CB4jkDQe<1 zAA!s+s82?OlEDSNLA14K0Q*}bY2^IIxodMxE_|m#wH}jwzlJbJvc=Zh)NH|OaNZEo zI=qfrkA6!vUuoyL7u^gx;&E*g>4Qk}Mwr6>bgj%BRFKj_iRX{l+}BHpW5nk-p?V0E z7^;yU!Y7n~UC;|eizLgzXq8X2;(c|{B zs5&j-R0s^E;P^7?J}?<|Z+ z*XyrW2w7O2okcXZ>4^ak+TIsH)K`Ia~&%p!^QMD=>vVMcDH*jBO~n(kECIB=pwuaMMG&8%0* zfsh4Di44TR0Hez#6onWG+ciC63=+g>Az}uQAOY(U%kGJ6xR}p6M26yfB2%HvOK_n) zT5zEpe=08LYMUspSGzTcwVW_U;j+0i|EfwRas3GJQW3G}*xSobmPn zvO+DdfZG22X{uOu8I#4- zywpPbNOhL4ue}zG{%^Y1ZQOC%@V$gYo<%P(CX-oGY**;mKopyyK*8jLvCJP2EC&)e zO|3$(&1R++;k+`~0hJ zw_3KGF!Q~ies)*gs#B*1%0 ztXLM$ZgNS}#Z~c*jR7oEVb^5i8yVa>3P%}eZ_<;R^~i`^OTL?aeI{_oMgVb{Z}eBx z!K0=gk3FO|r6%RGaq8unYR$054`9u8U%U$YYq2etMXXuf*kp^c%%3tVjenlrJ3adg z$L!w1uBc<@>XET#`tn0Vi+PqhN*3B`@NK#&CO=K-hDJ_t>G~DXhUvU~`pPyyBfQHu zC%5b-7hB`W+zM;6=10~ik%Cm;7QNw+eunjO3vA}2xA}vsc{ZkcEJF59p|CUF zB!@0Op5$!v1!^pPlNZYA2=n!err(ytbEw_xA4I8dZks$GfaEKce*9v*?acuf5in0v z6sAv$M_Y5-M$@git7Sr&`AR145C0sKQ`eh&I5~;&DR;t4HanxKU5-M_@&@`B2H6L; z=R+(OH>`W1j9+nAfv#GIhr{SAS-`y18{vNOPXlUM5F{F}2j?l~)Q z&Q^0|pq0#>MLmeb2yPdIIiASi-1p(lie=W|T+?L^%QAa5-U1wUp<^pez8gG;-pA1T z6DyXFlF`GkpDp$u!lbZK-pxlh&b{xlw$ZNSqNA+`PKyqtXDY|=Y-^BR&O>i5_K=v8 zy{<4v~qh9UG|0C{on?} zNLHf3!U`82bJpFARlQx!*FKi|3k~`sD14SP4yFg6rQdhb?D(Nl|~%~&~}pU5v>-e%2Qs%*v897_0K+OHFT z#7cWxBRr!0y1B1wBx4ss)DI!bpr?WuA5RH4KW;j%=n&rsPz?SE7?R1Dx5Mz z{puHX%8-hoTjv%{1KZ6uudwzaVeOk-Y>fm}m*7lUzcOf#X+WVrum9s8-kIuu{F$85 z{KT^;++cnIrnx%%pCq#XW`6P;^Ji8wEa7srp4$npTTE_4)e$l2#S!7RMDEMwp6!j} zhMX}X@xc}?$GX6QtQ2nlfgEB-~NuU zRH!)L{#xF;3>K5Y8ZtPFqn`_-lb?ZE4{m$D+72aMuNRN$6x?@!^-OpY0O{c5DMFZt zF{4Q@9C@BLQ7*+BTUh5c(jAHUn@!jE5j zwOF66y#~jT@7r@#ywn2u*FeVP8;H8~c5##C;`Sg}y$q7?WO8C31sMJ{mT+EcQ)|w4 zDg`~DwBrg(n<<`_wHUUlqhHJ;2Y%%e(#vX4XjlHQP=+u#eIsjS|K{GuJ`F@aY#?fD zLd0%TaS0acD?D1yy_pi~lo7x{J0k!PVcCNPN{t4--(9Z{H6vRfM-;{A6d@sI-!_4x zQIucQIk15QkC8cpU$cx7c;m05Gz?&0kJFw4`^sZdye6BiO%srm1pj>>~7#JHX+55ghks)!P3c8_nltKBB`U;|DJo|Z7tzeZ}N?xz7=uz zYD(_v$Sx2LK(y59*avB#46=CRgpFFdO{D9or@~@O&`<5hthp3dP%oyDicOQR&Q9a! z`+2k$9pS}Z4$Mzf6Xw*=T3RVhxO2;#=vZ+h2e6l4k99>>8?oH55r+|xJxW);ELxM! zr3g-N|3u&YeG1v>q_nf9ielzi$ck ze$l^!Q#&4Sr;$)ZvmiF{PRN;f7eC2|`nHUEhkT#AbCWITlHqT;F{5t}?|oNOg+*7V zbH2Lpwx(3Up1$2%9vU4uH@SUNVWZzaMXt+ajU?Pn;h~0kwy|ES%vtpQtH{nx+6xmJ zv}hyYKUBpN?}6llJ-tk5J-_-8xNGkwgid@9e!ap_QP@8a<^?*J9(uKZ)W^7f%`<5M zT=Z^i5}S8pkkwa%J#GQ_t!=e)Z_EO73(OlAB7?97w`AgPwkU z^k3++z#ootgS3Fl`N3m6a<7u6w2(c0d#c|a45fvnU5etvf`$!afAOu znSkWT}wdh6u{kPp8zuXTm@XVzS;$y0;T|g9e+9&FYbd5iOaBsrK z>^@@5bB-8u{SjksPz-rbU;WMatr*&niPI#P`6U;Ln6|2a3s=;98TxUaH*#YK+84AO zn74q|pl0n^^C88{7BD3+KZDi{U8pI}$zO{gWRiVXvqzScnO7`qELql#A&mp00~>Oj zvZp0Kh(X$7H%1!|tZ;!#>=<3aOfW{d6&J9JE)ER84ZDn3ynO>$Z+;*77WTjG!T5j1 zFVb?-e?w<>5Ie5s5$xocOE7y=L0Z7GpBm^aN2yw|Mc?{Qk95+1=&`0=*d? zByAK%SCpnM3g@`4hEI<6r^anc*pe+uGRKsmqP8r+`L58m`_$Tis&&Esa6{K+&AJ8E5?G zhP0&53@RF+@=NtT>gdeNK*F`@EdEzqxi7p27vb zH*Vv{6>VN6OoxQMT4B?#`)>UG)Sqp1OqQz8p=`B#g@OWp1m@DFqzt?X1)3cZv4_W8 zqZo~G6V{5rpDnd&${t39uFQ?z`Uj0Q?gNQVd+T~r)PJ{o;kbfRi>`j9UqOb1fv;Dfh9&33V$*BB zAHOVoGl-vrYSh#_=x$0F!G!t(pK4J#u8LLnD8Np_%{1vtDMqm$lQ2X;i(rQn3sW)B}~^llWk2|c-0Tdfk^et z7cc}n=!j)BB4Vo~E^y-zy6T!XH`3k7&6=|SIAX@_YoYb z5aM+2NPi<$SG+Tpi~8Gy#qc~~h#(h^6lWl@NmGYRcE)<6L@Ar-`ATGqb+VxVDO<8r z)hQDl>Cv#{C%L0teSsyh`ogAs`bLsL^`@qPMG6>iAT1RlUM-Dql{j2sZl{1;^G#JJ zEXGu|)`THt?iG_2{b|eHR8ak#Jo{h&gZQeJWye9=i;*(VUc1s+5A;JRmS5{HxpFjZ z>Gv3rwe=>q1X#_V{_~^pb>ZKTh`ae2#`9lBpmDz9oUc0PYtFgfIbV0qH=OeT4%37Q zCDat>_|BG8RCCGJ2hF#jt#!%Ox<8*wV*xk{vP+gx3mp#c=LUO{mr_)YF-x!KFWz>* zyctf=s{Dmls~2J9r$`Q#)Z-dawgJ7=i$7?-4USTe7hiI9hv*Fn=q6JQb9W2-8*IFB5dNH<$!e&fuvUoS7AL!9y?(gxN zw~>~y*xPZ=WB=k{qMcWa%$Dh;(emkMk`asbBdtkx`(z>P7rwX2_UC?VC$Js` zpm5tk&!MP!c(>s--w_k?-EG05-K&oG7P0&un}2nA>%GsZZdLR<_*pkUMjMy`ALZF> zz(=xCU?a(i_NY}7Q>NxkN_-GI;@jv#;i$Y^-t;gO{c@jfO-F7dJ0 zhL0~gEcJj=FA8b+henpt@kOLIzh`lUU6O2peNEQTek69OSJ31D{Q{xpRKjSZOb6ag ztrZAS`M8mr4)WJ>ohyIMP%pl4=$zseL4MEBNkM*Wh(f&pOS)%!fU_^b!!_m~lv>|P zZmwg}I1~4eHck}0C(2{Ba=pv^1gH2(OJ?ySBJ6925O%!BZqXvphBlwDowDXEBgpc- z5nA)U2r=Pt>q2e4o(`h)(n*PVCiNN;B>de;KOlX*cd+T>?} zL=Uz>=xh$3?ub~9EN7`*@$nLu&Gy+lM z_#%8NyVxjFmjeTPlqR5g<;Rrcn9Y$#8Wtv_9AgOBuO(P*oMAQ}hPcaf1#f9AHWljU zDSkfx6l8xyWK$O5yn^jK)>dAtbe@yKeE+ickh**+)op2FRI@xd|%}g?GGyCij zGyBur1q=T&8xOk7KIby~yv@F5`$;EikmTBIZcUbe924eFrprI0X>Z{2 zO?f2W!{#b0+!5Hi-{^$M3`ns*l`oDgng#N8>SqQbJ1=E^3QZ^PCpeW~K2n?o{GM6B z#19>a;9u$B^;+~y{wpUs!x{Q4;?iyb(8Jod&z+4#bz#l}m4YGl$r z7Z+E|f@pBDuLb@e&PLgEox#`4#^24w#&xm-q{S znjx{+A0968rCA`2y6PeL@TyAA0&cFVUr~vC&zAUgylc{wf69cmHQi0<+zef(+g&pR zM^&Zk=0||n<*vivcN`HuT&LSzhb0(3VuE$Kx!`3A<_H9#eGbR}U|rV2!&>?}sg}bC zy0f0(aQK(a0bklTH#IAtbqMA#D4i?N)_(Th+Lxc$tWVs=-_utqjASA?Wj6c1Zd7qyA+7s$6T#sIMC3qw>IUw~EKRQdR#Z&BpJcI$$4Jw~`}p|t(A_6}oVe7U zdHJrSyS1WC6iucw@ns_o+_RV=)Y{_&`3X19-sCLa?~?Ea)ygXxJh2Jb4p4%1mMury zO-Wd@vfUvF*d;A~v9%FCGLQ*&1-nKUFF)#N9?sAoV+sMi)iL9$VDn|sbWY}5D1GQ&Z%lOSDb-JaUk*1sMXv;%%LqZOwUqo`O?sjl;rfN zkGZ-@9`a!%3ZpANS6rW+-IHPUChBD96bHn*dX=oqH=^i+mxI5#8w#1?Mna=*NUV`X zrCFLyO8>8OM#~X1InC7xy>}Lbin%!zI^8czFo&`xz3xSaBq-6HlWJX5f}Kswu}Zzc zpHDn({z(4*B7+W9{^HP4hjQpi2>t6EdSq5{9EZZ$qaF5ko0zD=UK0t=n}|7_L$@9R zA93ish(k9zwQ|B$O`O^@ORdoVt@yyx=GI?h)+`MqP8|=Y+Gl3Gxiu*QnmHBDJurN1 zR=MU9rq9oU5U2J;oO(Ag;?(Y0Eo7axI%niFMN5+~g+rG|yqcKNDJNWObxn#lx|i?f z(&5oguRK+6fV)Rmy{mWzXF6uJv%k;;`%zk8vf7O`jp<%`zvf!uOY5} z(@q$)Uwak<_1Rn{Ae(0VahNc55_7mPwGcW3+$>B#bJc)!Gz;H1XIDeSRRU*mHEf8~ zy0_1jfFrlF6U@NhI2Zggj|{(VF8Hu?`c4;D}tpS zR)VDwzWNC-_GR38u8Ydwd^wP-qO0q*;FV#1hfObU>2}$gb4g3ZR#eErgZvSxU$_Q&%{Yz{Nhab z2=>o!SaiaI{GWC!E^I6QV?4!@;bCKR&t9CE)nx9X49$utsnsGewa&D4Z?%PQ@SRb? z1yQxWgqTBg52Klzn(JSK?<7f1j_PacOszO=y5ftBlxDTEm2~=1ZW?zt)1qPJ3?X#- z5!RXIAJt=M^{(piQ3(A1yR^*|xx$7=C@o6v|6yrosY4Z3Q&3yjus;1#C-9f+R())9 z0fvUQMs@o-Vh*d@b#5v;Qw0q8RJ&(K_3#|q0>gzTTp2Y*+Y&FBsq^B8{~y)$tTwCC zONYJ1oq`G7z~Tpgwe;!_XP16=RQfxk((j%nnd@GANP?*Nmqf*XLCQAOP;K>utKEnE zJd=S!x&$`t-omRp8UVK!{~T=fw*s6`TXp=hQAU^gke}-O8f;xi6%tg!MwayJ9>xj>+K4PYoQ{dcup$d0#t;M zk?&m9D2r$U6^ca1BI_i5l=Dosgi(fK-LknkM^k&6oC7jB5B+Bm_dR{qX-pH5c^Kz3 zkAJ$Hvv@*R-iUR5!}s;Ux-*^z>ul=&r#fS?h0p*KV+>wAYc+v%qxd=dNVc+~zQ2Il7v-%Wr5CBGsUVC zcSr;NrzSp<6hbuxf3~a+%!id7@$4m$7?j=d1b_Th9v6sYJ+85Kfc2x|5X+$Dkz@T_ z?Ka|@*B^#m!WrnKwK>P>jvmcjH&ZZ9phb&>pjtlCLGrM%PB{Fd`ikL5g4GCKHMgef zibJy!ZGNyzrs-OjAFaIWtjh$$yib^!zr8C}M>2e$&+{S&{n{%!KQLOJHmbOxa-vw-lo;>)zP`Rho6=eT?-B;w_uI2)zq7WB6`CS68Y$Sj_knB4%J?Zu6#07n->% z)0JGt5y4EC>l~Qae?OV&+MEeen_ba3z{;zw-Hnoo{5MfHTfkJNn~}0BT9_U=CevDO z&9p}qKX*ZAfwbDAN<&BBNk=?)iI|bdZHrLWi%7kyrDwZnd38AmB~vNMRDZ5()_PV1 zJp(E;YY*mISIo$nJr~k}@i(pQl#4xG9gO)I?&l6mv|O?_BWjN(Go47!ywXtUkBhfl z>*v(b?o7v?(Pi^|`(Xv3xVp~!OvmO;#ZnzwtNeoAyaH%_IOz5n=uxh=%_TAyOy1Rk z1r4lbe2H})6LxF;XD0Ao1@ul-d1h-iPyv`;1v5w|AV)|{2ECcZu7=E)6wf*o;iciQVXZQS19^|rZ}IYqYB&D z6y}*#3gV9MTHJC_UDC}NLC>7fr3dt^Lft{R&Z1mic3G#_Gt@SA{;5#$Fwe^K!sM(} zrR?M>9h?O{niL#F< zPQ#V6aWixjbk&|L`;qJ{!JNVmH~B(y5uOs46U+tjEWmRio;I#eZNNpF>zLmr=hY^d zBxnstbxqDQ&miL5bYRZKEg!{ulIP*!1ucd19&! z*#b8z5M>|}ZF=@p6qV(%G;$cv+(by_1^jTw$XtwDIx1y09h{7&Y7`foR9B-FQ=FNc=Jt)e(*g6RBnjyT-Qiq!( zla@eT%dRt*8~T=v@rS81%d%|9%S+MLqI+z*8-$+OXi4Glqh(||IG2ai&yUFCz`K~- z9;A|%ze!hCh*8zZJf9`1#ayZcX=LLHJe(!fRjqI6N*2{5R!M54MO=E7NJ||(GbO55 zMYdhf!SP;K#J4OSv2CV04z_TBpHM49{dmOfd95=AodudIw~gJbR-W(1&ecuzbiC2N zj${RHD6N;f3PtoF`PRM-yU>``GhOJozRx!g5k=_uzq;57F_qg=6OZ6>_pYX9CH>t}`GotuL&*qXs9yAX!Cr#e4hrUZ z_`LzWOPgK(yF#DYr??%Sc`oiie*U&n+t?Q*c9%%~(^qlt+R|x#q7?C|?7*#D4@6@y+^|uAH~vR{ z$9_v;%-hII022UsW-Gtkug{rn_Va3f#jsv;4L56sc7H@)rBT%R&h9_r1fjRzQ+L<$!KL z`sSBVSD1c9Z{lrX8nTbF?d)LBcTkdCkmO}L(3IMpTlpstqpNAU3hqWNP@^^ZQ5_rr z&ziRg0z5j6t}b%1avgitzWT7mCgf&KT9;+NOD0L~Pscg7++7S4W)Vf}i0dO^Iac|w z&>;fK!nePug{}TRkyo1M`R|g)yw#C~{Wif#swU^*agSjRc4Dc>La;L6eCm)+_ss1i zli0jV$(n4L7`)tc>Js9jMr{G9p*k;@=~fY$2R8F3c9SDflW&tQR|tO#79oC2_o$WL(TvHI__J`G836cX0>1!tuqzI>PLdgWRr6 zl~0MbRo>q3L2I`15q%AN2fM~Q0o9X5b1P zQF)V+XDlI@MeIJU3>{-0dDDNZ$fUj!2ngUEy?qYQQof_%sMd@M&toqWDnTx5z6av+iX+h^ zk|J6L%Kl(6F!z#t(2m?p8~??}X^?-ru<-aaKz>KyCvH-FGV15Rj2n;8$K_ zuO#kWPY8Ez?*LEbwF>%d^@I2adf|jT73rr*qq7jt}Vjn z^^in$)_8eX^;YN3J6C9t`; zrf%Dj%Vnr~kCGp+Lt2;q)Z*BG*3!gCOZa-&q@?juDqi^-d6nCI6pZ!q zE|qT{QvS-&vsRlN7j0%VxF<-7qtBqUIB=!6YpI3Z5xm+JI*fQzlO0>tN5%VYoMOGJf+* z(LDXmfkY|X7zO=Q1UcPe8}$-$Oll4`v5FKl<~{&uZLKKPf5R(7LEK#B(Xn!ugTVra zZ=rmvQ8#*f+5h(j#+AOJB>$Vg;Pp1_aCO`;zw52oOb;Ggm3 za_Ke4;-?vG!xXHgE$A7=))Rrj(4q+Z-vyqnohV#3|8()|QPj_gVnAn8n#EmP$OUp9 zQ|PaoGqcHhPh5oYaIjFuoI~g6`Gw${F>XYc{D8n}S%U=?qA+caOT56oO)5Ud%g1~E zFsgHN@3Trv7N@=ZlI8Q=`?$ffr1LN#+9|~5X8kh0_*LZoI&vS6+~3I6fbX|a!0+Tv zdge05SG7}YvGqH7eaMtyB&c4iKDU4!RTrv2cx%7R<)rcK+`^`$+i~GnXslNM7;XO8 ztdE_nEHK#?DNH1765niT2E(=s*GRTV$)64}{Z#anNub))xiR3z$>(>tV4q-CP-Z~? zuqNMS;tCz}8o^IJmHhlRKi{=uJFQDzg@zy=$e@q1lMiH{xkJO)#(w7_^j2x9JgKi^t{`jeP^i)TmS2}^cFg=Y;o zmAT~g-vZgg!*0+f`8;(Yo~l$+w>gS94TiJkNkQ%Z=<$i7*QtIT%fa=wH~n}qQR~{+ zC>1@8~1%2_`tetI( zb6@?Mf@IYr%nfYUh>ghcG{xCC2PsiJwh&!9Ou^zCO4`U6JB8Y;sC*mT{Qo0(I#w;et zAKX?KQS@cTmRZuileBc%cF?Pm)pUs@9IpoZvUQ_?P04@Lq< z2ckAD`Oqj#cnbA$%NW8;-tTsT#LCpN=Ob!P1x1Co0=3NzYP6hF4~9Z57qw_evR^!ye$U?FS||0?k7 zua0WC&-r9}E4!?#9<2V#Wip6i8RhN|w}Um6Gvk!LNDrYvvfzP9`HI-%b0M31uUz!3 zzL8YcL8jb#K#^gH1+e8FO1qETXb}?w-0uN;_u@gHxc*9W8*EBv5`92)={un|rbvYdYt8L2+J>gyS4)i#18@}4X2Lmtm#2t<{;vbeVhw zsq9MCAzvx-*xnt*M!IqdD?cO~Kd5czgXyIu^!D0Sd^v&J15qbJls_&A&@^a^@~&g# z^1vou_OsE#nO(suNSi+{R4lMqI$xVzz9_XIUYUjwtPYHCl>X1eD{tUC*H-*)QX}WG zII@0nE9u$YFX#oKoDyP*_u3so!-PnxD(Ihr`J5H z6@!F%85F5NUW@@{>?F%&L5FOCHBglpV&z=M=~729el-AoWi{Cr2P`wQD_Wyy%oagC zswoI;34L3JhfSIAm+G9551 z+woymn>o{?!(*i31?T1A1HNT*S725_Sr-Q`x zpO1^+A%C z3x`QF&|cn_2}(;Na)j#m2C80%DpbS3pwLW{L0o=_xa3AMhoq}RH4#yK?O}A0d&=gn zs$?ZCldMUAGf7rLGO6vQE|((8{$(NA7yAy+o@YF5n++;bkje39gJWKD{2Cl-KeqrP zSL-3>1UjOwM5XTF@iDmR#P?e37g8mHE^?s2LV&OYun%c!@O7e7G`Y?eMo z|5L0y0{X&wJ4DI%uZU%*)aB5(T`Wh+#E)s3cA8{FVQH)2Bc0`xVp*CypMWXFv3N2rlq@1! zXIzLYXA`YcBvGE%hXj)84NAb;j?3+O1$Ni0Gp;C?j6u^qGlQo7#-OP_ES@v6&$bdP zvtCSseo(@+6w>@VKgfe<)ViKNeX7=e1H;v< zqWKR8GZn$;Q!w_M&4gd@o!yNs)TL@sY^454W=VhP65X7PP1n{Zj?zm-<~ng^sH(Bt z)Qf~o%`A|qN&8n9kJ{f5=S{qrU%SNV_10dZke=F0<>YSV0+Uz!Tjy`bKafQXZvgq7 zwZ9`&Lej>^356?I1AqFA6+t$$H| z)t`fGAW{1q9|Ji;@4{32I6nn}##$PntVFtU^>b)T>Q3oZ(Mfxd2UwV?g8OV-AEk}! zFi4aZbR_z=u?1{iPd=yZmoHTN(BWOLTXen?>66)#oJsJzTAxKqWVS zqrj!=49nzU*&IcsgZMV~mnH-j_}lAi_tvD+OO(p(0NQq@62DmLx+$&BP#uz*7Y}sG zC>f@UkM>y`sHo>CiHex9YmY7Nxr?(^b1gA`*2T<=l_3x!bQt$SvDLhe&~yNTyP+{R z(iIHU{iD>Z0vUtJF-u^>pk}d3G7;J^wu4E!{BAOv(pa8}Qwcgnq|S#}ZchBO05^l7+-+{fNqZBa!g%CV ztG~>&^u@sB19Db*ecQ@(+~$=oPfF~u?i`C0IO(#KkT9F;Dfp^sR|np=DkFL~)}N>P33;_>?M^sz9_YgT-;=%Y7X z#3XNwC_b=9=yAf)Z5Bu{h}a%et*zye5;Y^wY7tvK6B1MNIQ;}HTBvGLtIQ3x2jPSo zsy%#QrHHdX4Ollj{c)r8zCATy5n8z)D0dDRB5# zU$0j_g^KlCGW$m~0*ts8ALK;I_@_ZPP!2gAg2IdQ8d90}nrFBX>#r-Bf^Q*)BAw^g zl+vDVco#)!-hq_xT?*U%65|QW5`+QCVJX@co7Pn}k81I#Q7@-SB92y}J_A-X8C$J1 zSbcE24E)K;Q#6fc%HpvGWv{<5@rE?pBw6#1fEK3jyfAT7cpg;bY!mS@a%)~Ae$Vr& zj1g!gl}k|Qo_U)BdmKX|hGv7xO0kr_D|hR$2>C!ZxU>2}b{GoX>OLh&b>5#Kz*oR(S*?ZVxCDlhh0Yo24h^q^CIu9Uy_)>Plap zpX59VS#So~d_?Ya?vliZLS23yJ-oHC?fh|oB4#h_mmX?sR*#eWA-u$}^0k0*xW&9d zt^n801*nKv%i$QpQp|NOb?HrRcT4_FoQFN_LFFgl4=O*iM17RsI^zdGY#Uv->zyrk zNir|!w!-e2kJ&WeY)Z45G_ER6l4J~&U8{=f;+RGaEUZ)IR-CDwWZ+fy3)B9CmnJS~ zvBTw0>ib}`lzWXza{OUw#K|%qZIguRBYg8|CG^avO$ooWD4sE+T@MCT>FaSdPG86Gz@UI#m# zNqT?ZT`uXes9KM6vST%GP}#x!(A=qk2uIWJhX#++F|=Jy-6K=~Afhkjb;iBwpHJ563~v(qv@^E&74SnX4P_t_SA%{FK^~exf>`wv{fPV$Q&2 zWYm>1>+lV=rHJdbars0k?dPhCdpLERE-sKF`8Q}NC%H5*2n6qwL?J0oCsf)LBtl-; zAmrjYA;-;4$o!;V`5|Wuvk^5Tb!vJeYUZZ|uv`$1re-Q~=2mz$7ZuYtj&iip-mbXE zRi(zQ4?)*f)uL6mR3Jkv+v3`ic1SW%T5T0VdoopSx7?_lNtudmDcc#@kCZ*KnyTEU z+A;dgWh)l~WiDe-h;E}d)hn%7#&CtGLm zw>Dv}T%_D{$r)0zE=wDMwo&$#ivdE{ymfQpuCsK6Pdk=Tj+BpA0NH?9hdkO-l=g7e zf(0#Z6MY7ZUCC~c1;ana0`$AKB;FA|uerI=LZTT!)HawQYk*jvLC{uI@!G#U%4Yu+ zB3bW^&W4(INTykamoD(_d4NYk;B(3Y(rH7kG9`)uq_!l(R;ffQ1w@Pel zb2;WW%Hc9?jF9`uotZ>zd%}*OOG`pWtTdz3Z%#jYMq17d=tZ^W0%tMG%`)H=Lk8_E z%8vFTOgxEfTP_394=bs)%Wg|NIFpu~-4L;nDCE$>SAlo@cB#}0YFKU8dnP^#n+hxlst3$=Uf#e(kn$()=B5kE=NC?yRqtHp_#) zRd1m-)yl@-H^`(}H>Ar2e_y}+EUcEx#ntS^nE}cDx0EI8?&jE;ufR)Lb>Jes46jZ; z1ep8u_g;vm9Iy|b4cM2<%uN@crRPYUnH&+A03=DjR9U8LKLC(GbQ zCcW=CQNeP2>6A>{_@7`vzm^uZt(I|uMvCr>lgzSR6Jfoyt+EN~GHsEXDqasBm8N`k zCRKXo9H~%wBul$wX?ql!dy4JlP7+G}cg@SpE4LTBGwoT+hGK7KUe>ap*pW%^71yG? za_lFtyU2q*9D^|Lqcm#_Rjk%s#Md-+MI$Am%E!+() zAC>8Jv}7`w@>M_+Infcj1GQ++QaoKf3^bVRsV<^>EBh&jSt~V#JVV#)dM~|JCP2^nunDX z$xqnR8RsFKS~^%^CzLZ&%MSaJty%OPpgq5v2UL>OT)UTw^Zc#(E}^OE+cqQ?$Nv@Y z^anR2hQkQJJ&$W4Y&XQIF8k+EPUOS>j5tK@iYN-MneYy)v|c=BpWWJ_;&jC0)efjl*VhvUoQ5s8 z5^%e8V4KeZLq!V=+=NJYf%WT+|g%jI+x%A(#g zyBgYm`c(<9W!Wd|8lDvf8opFUxzn?%!*>U`Sn?q8_sO3L=Kji##0Oi#ExL;^V(Y~- zA4g!#V~XFxdhjRs;#k02_3c%EDMu{Oq+%x=uqVT&q?D>B!H20&;N$k}!Ja&##%jS@ zT4;TGS^XrqrZl^oypNxQ!5_e;Gq>x5sZSB0omBM~cFC&S{2x>VO8^S7y-kaivTMmy zCDV)uUCkk4&58=sk6x3wf%Dz!pR|PGR;oBs!mWcpYRs_2Gf&7(ONqY~>aPP)xCEQTZOeS*X8O*uQ9J;_q6*Ga+}k$gS8Vj${4tFM(In zeZTq{h!{xM6u>z8z2K;PmY{-Hu@k*cfBaseG=i(i!y5E&ftgYT6o&o1+9ImlM~IVc zcfR>Kq7&X)t~lzm*>-6PpGE98~ZsV^n=%iC_6=A02)o5$;*dWY4Ji zFHp`r5c&&F3UOkQu&LjHBI~^W2d_Cuwp0J9TyFEmR=gngTr`h)BLcwfqslaqMwd8P ze*7=NY>ZYut6!jewdoUgC0;W9jNJ*d_4kT}8VSut+#6I2;|fi)7ArTXycBH6sa7ZV zUEyW~DJBZ{*;;VHqXbj$9gLdYOySFlEbL#un>M@rvy9YXAjJF;9B@Zn9Gf(M#%YqS zx^NYy_dX}_HDsN4CKkJN2Z3~C#$y{G^SO{2FR?GL2szrypr&|R^b$C4RMGbusynSTA&V3BWj&kC}s`L*`K1s+xdFkNf zQ`XZp$g#}@;E&GP+t4WivEhWmMkC}Dn^fHi8^W3;U`lZkR&~Q}0=C}koGE>aqNmTl zA@SDsq3R+f@NCE*Zb+=u4p_uo6+B+z>aA{D)#3uNHJglSzN_BLk9W`XUj0nZV+ps; z>5U7#(!7GL?G4A~C8nP|OLH^$%ELGu^`Y?99k(ANV_QXNvxUqE=a{`QptsW`hI3rv z)ufFE#w!~^C2>o#Z!%C(_D@$5C%1%4AnSRmsVuWN`XyVvGc^@u{(;F9X$}SjKx}19 z2}cxIRN(yx=u}dOhpNXDFr@@);&%R9zpTLRE(Mck8>Lwvi%nm6V`B4Gd+jGpjBX=b zpn<<{mV-od+7)t1pyChVzCe7hPm+1K%{&)?S{sRr9sWLP7mgv?Z^qMhb!a*mOFS0t zRwvL7m}bsbY7tB47Zt#xol#VIfv>r}t{d5o!N%IW<1x;R$8Hj%fEB4}XcKx=Wl;Ty zCiy`H!>}Cgu!~=MfU7H+V)x(<0xLI$fZl1}+T#33Zu9U@+-`XM&ZJu+TVKapr<(Om z6-p=AJ8%cei?|5d=G%oS-MkEJy%zk+Thw;wtu%jCZJsLm(2{pL@Hyx*kHl~(JW;e} z%_{`$^pj3bjf*Y7_>vNCr-)JH_K0y}MNTCCT> zkyA)GP+AnhcSZ1RV`sfEtRDd_T+*zfJdQ6Zv%bkr74~#1w)P^Yq}CGZ#TL&lRjJJ_ z4v7n_$_9=Dz)0yb^J#3KWI)ONmw|A;)Q{b`phf)7n@|LozTKVy_2~c$8z&bKVHXym z>p`j9q3Su%F=dHEi2s$>c~QGvqIH!ww*Q4RX@ikYdmU#jki0j{?_k8?9K=jm4!=lq z=QO7`d=7B40_D~vrk}r$J@+NPxlJRDKEpXec93G(lSvmVWVNlsO=&$q^-3mZyUk_d z3AZSF$e$&we2>37POoztkv7M6H7Wb&^>6s(vxfQ~dI6*>U=$^KJO;ZAx2NCU#_C7h6}%AC;3F0R_!Rhym9?zU#S4@cpVZF zuPthXn9IbPRW1RYJOzhN+mz+j)SSjcVWXNjrN~%``gEAbg}5y_xd{^?T6|C15@NiQ zgp)R5lrC-4@gS^{zC%Q{C2eAxbSUROxWJSg7iAZ_?}AORlup^^-#ARWS>-=V3ZQ@Y z{Q5~-YW{m1C84y7!C3@zd)8mAho_?RL0&b*+twbp)2o-O(V)uN@10w5WBkwKgDH zu_f~C)e*}KFItL9I3+mQ7_jgYf~>4pRoH-=roa1wL?H#35!iJ53lpyhPo+#ZBMpq7 zzfH#NsRL=$yS(#S572e*19MPi>@V94KS2{G-G^sCjI=V-6EC&`JTH<|jh#SYY*n&D zxbOQ`n!3&9te}<_m|FlJOqy{V^CEuIEW2V;p}Li5^LpW8V5kTeRJmP2PTsYY^Eb-C zUOO5|SzPI2w`Y1-VUbCW1-N_9CPTaaBVDHJDKEzHU1l1uzXpttx(e0y;HFsYB|_S5 zE`x+}-cd|r>hkuT;j1NR12k#=z>v3~eVE%O2VveoxoNbBQ+TL?kSYi4< zZc6;e!X4g3fv;}!CmYFTi&yy$(1qz=jVC@B_Dzlmmf9GK+@f5ogP#fA9SGWj*rJ8z z7ZhtjY;1$r`aA3Q%qu8``7al7ZgYeNGv?1^NQ#S_BF0M~H&56I^Ee4x3e!i`5_f3t zs@uF;Y@WWmmUtim2QMwzi}bGFx4NnHB+iCYM3I?T*anm2WkO)1*`U6sA8GCVm&b0$jJL z5N;GmR}-z_GolMhL*8D6aD=6U4x*IzDl2h!&GWLmdn+g79SmB{lkn8gPiX=;LYM>M z@Dp?RcVZ=ryFB-DCTjPpwy}G~#7=U*DY+|a4q_Rl$fAqk7;(D7ORU&}>5zPIy(>F* z!z9dlsY)?ay#r^;O3VH$Zcbcye6r8nrI_h|dT(OSz!tr97qd54V}{o)1M_u7$~I41 zJXXAs*T@zXrq{kN(YsnFgD&L)3zgMD6b{s2-(fz#E``2Lh98@L0iGLq4#_J_zxsWN z%SRa`NZ*$*#JelYuqk03^Ft9v3;#S}zWp^nvISZD{zUm? zo!ZJPnLPb<&(U?yQhC^7JOeg{iFpJYMF zH(wQH(@%UbaZ-4vH~wol?TtUqulc5^u>t-}fH@$-;Ft8s>A0^(Okmh4pk{W=)3Dg# z!OyY%l;ONXdRc2HHo6ovkClg3a~eLoxL{+4zkxw1MkD+)NhvHlL{H(-5dF`V3HSYT z;@R8bjt@PaiSt|ijpRYC-=vII&fX->J|2lb=Z3?p*~j7g}O25-}?Rh_Pc2QS*9BjUE<<8j&1W zlFeGYbsaGSH%!_&;P$`p(}{E-YF-mj^IA*IYwk`IEj4ej)ZBY_;*FM?zqi!9O4M94 zi<&oDYM$+K5zT=S&E{r)nyGPcJLiVmf7d;UM6eEO?un@RQsmw%*U7>n%6^BFh5HCy z5M#sW%hr?Q(Q-U&t0upe*cA^oTzI>Ke28$Q#@dqm7XAm@k&%@7HeM$qZ-S!X9~wFH ziuul#R_ontEN~a=wXK|07P!4cW9|_6cies6hY2lgG@rroWge0C{D^|4AAcZmRw(lr zcRC{el~9O4MI_C4@H-m5i?4}>$6%L4{)E}-EIDn(qngt?5>sXdgC*Yn~BGhm{jv6>Tot5xrxXP$Ntzt9Cqipu^BgMBGT~?OTaj7ln?ULCCD$q27P` zH$O;xlrxU?`Og|QV91(hghG)x-!i#r5*fE9f&PISm^=rv>a}1$ z*jcXdIyyTMu4J$v(GTkhN}b!5qZ)PBeG_>^r@UkrYO}JG zj?&KXi^cyag)BU9T8PytR+@vp(Kc^Fh`1@Cg^FP05uQ!1cLr^wMGiu3E7PrCE}Xh& z-$4F60M<%4BjlLy2$H=zN|ww&p%n<1O)~%FwmvSXkE^7tbyh9`6S1Qyc#ld^*}%*oy})18>n0R%>B7cb!5`~ldCAQ# zh&Z2!vBiXh<_TKB0)MP^OC#FO9@+x)B}BYDFFE$X*4T3c^F6+pEuKS4mfaU5$6mM~ z_S{rur?PNym5cBz=FKGV?3as4Qpfey@toPE3~!wMJ*H1dOttRWTlegfhZ_yYs349P zC-l^pA4p;@m44jemE*aGiqzd!n*IRoHer6Qh+*3B5JL7WX@vDCB=c-;BdjcVW*07; zu2c9B`5@Qdl9Q-?Te;4V|3iIF|KUf8*K-Gg`-+u&VM`$^JEeZ?Z|c&Tt^F5pJ~zd( z2WtPRBnx-@R_X2Df(oDuPwyTcvI@_ydNHCs|@Da{QxVe{gQ zdFgT4T`CIaDeU8tlHoTL#I34Cy#$fjVKp|JF%vwcMsDr5)0ETC_(`G=zSkQ&_at~J zCBxMJgOZ7DV(vo(XuC}z=IO~Yl^IH|fyi%A|g13R> z86b&D$ae0UXgl{HZHAi>&(y2$7@dG!dzBAcKHLQh%ELhg%U2xs;GUY?r9tIrxqU%} z1G_Q59#qa06bCb(BA<)EQsSFQbiM-+`_%k`SoLhC#tf=O z?0RP?rvHgGG2b4hoIdAgiH~rn0+LU2N6p!wH}+U8E4W&&l(@Ymu`B9FT-b@$vKl1a$ z?S6TtVg88}P3`p0vp=8E=l-|+GO?mnyH{4la`Zlqap;4-U!_|QYV%uxq1jlM-PK4B zX9z|eEKuy_w8d_H*CV?WIzvQ{KDS1(xmz_#8_4>1*0N1tvesa~#q31v6qucn#fk1( zPMEQ&NSkL|`zzR3so{rjy~Hs2;-j`uK-pTKa~9!nCNtsEcEnwDw@pxoN|aIw^Lwz- zVbvD3a$CD_wyk~7&$n$EH7}->YY6mPK&qdi1!(@>_`sHr>eID%5lB2eG znl}GQdGD|NK5>N?t|fE*dE+W|dAVOI3*Y|)-G2+66xq2BRfJ2&H@Z!`B-t;qSZOu2 z`6Iwh8B9O-v*U~Hhf=1K!9j61|{-?xw=6Q~M z!yYUv6)OK`f0^v){aJMWpiao2ryu`Aq9;6J)~DC$88uHT;UyUK5?d_ZTokASCNHDZ z>t#i>DZY10|D#VmwZ^<&y8ae^tY}z^1!juRw5!@mO;yWq>(H8=w*aHfl1%en2E(2e zjCRjU4s^w>6f&u8$ZaYTlvE@rGY#h`$ZcvkJ6yxLqjsFa9ayN1gQjnNVw9;Kt@_||wqq6e%?-qF3Za6u9g7P@5uz`%)Id+0=S zH+}dRL|Z65%65*vvnH#r^4@GiZnO9#UFdBzWd-dBSUMbp?(;LX-nlUQLtxb zt8#EAvU0cLI9?sEE{59La>b%pOj;1X ziRl8$I^ys~7v)kqHt%$L*B?7a)g0|KjVOag%(aTK>(hR1rDFEK;9z2*Jsw{>LEoss z`KW>F8LB3X{FyGkYO9Fy{EG(4sX;qc!dB|HRjLz}L{Qy=I_YqzHu~+_$%5)L8-$Yi zN96)}7`dE_>w3&kgJ|0eUn>uTo!xTx_~iuVI$KbLy2qx8zhAKsSs8z|OY55N@0dK5 zEHL;kXW#v3QYMX3dJCxe79NV5F#uVJji9D{zTody;H9wMN2mh*p8{xjsy)y~98octnXGyX8) z_EN%7%6$}DdeZ**BhA5&FcORt-WK$XEClbji1f$5&2P1v0d8$Q_=+bcdq(4K8_I%4U$!u2-F%u>ZLNj*Mg!((VDx342`6f&6N`>j zS##TMk&BBv;-!V2c~FD#!=wF)2S_~e9ey^Hu2^!b^cl;@SsvXvE!El-o8kWGXjd2? z-C$0DKX`{-7+f;^IWJXP11W`$gihXA6709@qeo%<7gc3#$qoHee9)|t z8}i|{wAKKNr{L$*au?2;ZA*3#wqZ0(CwqxHny~z~e6J0}_|Yh#8+axnxeyqpx}(_V ze^hc2k1Yc4J<5bZ^OdluE$PY_q_RoFUP+L0%gEYN|B~R$HlX~mE3{#y2IyxikI<8{ zl<{{{v9NA`%{{*YZmU2>*@zst4!A&>P2F#(%3&)dHI>(U%w! zj6Y5UHfo%wdOTHaYg#>u)#^@I3n7|GnMp$_Be{|Y213?#cdaVJq_-0TH61&(u_Dp0 zjl6C7)~i{ZSmEiuqB!(gVDv}xqM1AVwnX?vYIK>$e3j{FxR-&|B3lAtMS63ri?pGR z99sqeMXF^Ce(}UI2EPQ}NDCIx0Z>U=y~qX93xg0NgWI^NVw> z{kTT@r`x0#!Cf?yJCe$v5uv#b03CbqjMb3Q)L}E3zeVx;I55Vf%g*u2^Kye&Tnj4g znk(rtu#L61Q_hC|a`yw%je%GWm??$2L0ec+z@!4~HnvldiI|pF?nQdF&HZ!Ksy!=K zIS=lni>tkTY=n6%g|wzBFB6@`%gO^#Nk3id}fkoTS`jv$Xxon;a&_wC#FIZQ*v!0+H zcqI+`PFl3;J`p<;m&JGbgsgcEm~N7wTKKaPhyY>ABC%Hk<3`-LVLUdL!LzKgsMJg!V_%s* zx-D1~Dl0n=uW-^KC~x*F3*}zyKhTJAJYVBK@D1vy=^9trf8e-!Y6r7u?1u?<8IETg z!mnh(V^^`FGbv^_rL^b0E3GK2g2l(`zZL-~3UPk-{Fdf?n*wJtY6Oald&I?f`T08b zHgaP!dpm0J6AV?Vk0C@i)y3sh-?F8=(g&hRSbF^2spdY^$libUbhATv36T{nf<>%X}V7u29kFP$U%2wS_p!LbFR*dp+IfJ_#vuVq4me0PC z)rv?SfPP!)JgbG(rpni$DU;HbjY6v0%}8WkglNPf((RK*K|@SHG2gentXT?FK>^XyVC<2*g4y}Rj+BcBz{?yT8M_62XI zVfm)2ko~=F!M}Rp)$o!oA9ZehAs-tsO>c`+~#O_TMW1*=qZhbE@s<39#M{ z8*1BW?eCJ}Fs&_`Bdr}CqPA7~NNv9aO27U;Qrngnb+x^%)bF(R0}s{}*yKyKsr3w6 zZS_acEKMF--Cu{?URQpHLPqM{kKF}P-+(B8>>jkB+ku+VqE5e_5b0NR=OOy_aNQYd zbHFK28I+h&pJ}O2s{REK>eRpOL6Cxe4hCoaWU5)q(LdCW1`q!@C}*vi8Q-=ob^2;d z>hx_>n9r58*F_H;#lzUADA5BFz+B~WjV~E&6miR`pz=}jW}!7#xniye^^|+n@mEf! zl6C&51X$_0Y&TiYwO(Zt0rYuirEV*&qhq^OBN98#r!~dt@o%q$>j1g4{`{l#E0f>DNVnbd4WB=KW z#@fBT;!tI$g=ARuYq-nh(7kfa3&9NJV^Nq~bCU~GEwF&HH&4SNnZ{WN%4o8(2JX#k z-KX%=3AEMS;rc*`oyn)@L# zGMi7Zp@A}0n7(g8@b@9*it$WSW^#i@o9XJ&=;|r?ZGeuLEmhyZppGS8vP-*gwh9Q2 zMz#~+;6)d z|L^bI=c#%+gmGp*@4r8vuKV0`?>+b2{oHfUJ=e2E57Q{!wTfq_4Wq*rGh#t(d^*c1 zB}^pE;$bA;mPBM0!^}KA`6^dB{n4CnEMV1fk&MDNuTVX@@+`8x$u5S}<`+PJ;-=Aw zc-c{(Bq)0%dF9F(1(y)a8OaZB|giTen=F&jDjyl8xed-ZIvG&rb@0l_N?r1dR0=4T<9EjAO3rHnb(b2*{ek;E|QW=yZ~3UExW7h{{_ z?wB#ZIq|rXdMriif$E9fNB-{;60%QGCvnSFn~-?kz4!TM=p=C$mbMgZ;pl8t9HF;q z>oWOU2Jl^q&>KzrmurBC@kH}nkbIO4(ykg_yoS zl!=L9O*p{{WGpvbr>XR6;(VVbrhk5VFMal7z)V^cj7PKP=g4GQ&*n}AAT0{EnJZ)C zQ(d&w3}?KQ^YWZ+S%Np~kdZxP_9mUNH0~iuQ0It^GB-YqM|Jc;T-gV6hES*@0l2vl z)tLEQg@Qr8`RnFUL*r~6hSEcgPYaEzP9#!wn59z*o0RYel(2a&r}4V(ccP!$&iU{r z-u7JFco8J^*s0`b1qIa-yeKgNs3L;Y^^I63{oE}~` zJfUaKh0$xCA14T-?HNa>sYfBev)NV0tDKQa+eAD{HS$`&(nX-zIi3p4yVEQ;a;~&1hUkyh3i& z%iZMLO&;DOiBBYiklFY$BXvs7)(x#Iy7ogK$GiE3g5G?o{a(p$P=_o=)tgmK&+vWI z11}oMK9C7fkuhNwMhjQ<`PtwVY@$xU=G~OiX5WM{nOQ!Md}iJC`rxzF+KyUJ0_2Pt zs!M#%i3qZ(FM#tW6sA~M!Niy9n~@E+Xjw%GL1bpP_vALcie4}wG25Kw$LfRxkAP#eCyrY>3+2qH ze2H{iBh8)_7cY0FS@!0@|Fw{N#PMvMta*HAtWYv1IwTk9vRME3&#=rUhTM5QR$c%F z+)l`zDbp4YY+9Jz&gDUG>hCBZ()~HXk0HoakyGRSncBNB#H*c?#}Nd{WoGN(alUgT zD7ggKg%Spy(^L9jjgTy%a|AcGzpmHUPrZiZWhimw+$jZGAscmjBRCPTX`!+7nm&H- zkY}p(lh4efBRJ+#9rfqWA?RJGTlm3`K#rnRyC%~|z}@gQRLgNjP6btKS2B~_dx%5>{RN|k9f6KRE${6e4!9wM|h#!|#jv$d!<5AFk z6tu5`ls%{P%1}&?@?${@ej#L2BC+E$N~LSoOshcKh8Jg7*kgac6wP#@-vYLE?~e+n zF8?H#3f7upx+HjlKj3LBr$e=ce7{oq;CH~eIDQj(F0KzO$xcn#SB|fn`D$-e@;PJP zIrj&b_5ohwPJV5{iZ?UF5kpU$;PVXaxOGfw-+-xpIYNtaM^j>VjA8`<+n96;TZnBAmR>q#AF()tAI#bC_tfKtnRZo#_FPU zq3LK!1UO|+0l#I!4|?oT^pVaF%0+t5!&<`w*fa+ z#5IBu;~K$Au`k3}scl$jyKAi0ET?8gtR5UynkkHzr!pGFR6r08|&%5KK!W{$eO2&APJmPJaD9Vey zsht3VMUrrGz+#?&@8ICwM2k7rC%Lxx92g}n@{WG(eE}>&82e{ z-}J8B20*6Yw@6=5eD9Dhz;8E>*XI591^Dq_csDCG6LkPB zWF3`o@}ruk{IVm4aG4Q3b++Xmaxdq-2VC2i~wPHYu6^qomRH6)j})aeMA`YG3x;zf+YB z(yyrZlL;&J=I5=`@xpOANc8wemYK>%t_H09oW7=NGfTa-!fE=>+V+kIF(xmfN)~5Z7od~4 zxT}Q{X?pQMwsn!YnbyVTcC}t;ZmzZ7+Afc+;)ql$;oz$ z1s2!GTmL-;#kpiJXgB5Q?WWA6PM~UkucnN4wiPO*?u7^e6K$)O#a33kWp!~;tt_`E za&@`4HdNvmg+}OABlM~fdTTzgf!^M@iNRy-NelBqN1}xtgce?|Pg*#niTQF(%!g~@ zIi*>BwbC#@gLC-l9pNWGmmeS4K;Qqet)r%Hi(8}!8k(dgmyog)c3l!z@~rL!Te?j2 zGtk{UhE=U`D%;fTigtK* z&+rk#?`#Km?HN3m;0M~l>Dw-vp7}h2A8QBa_DnsW;AdWjl82RPAiqaA2I0Ef;w4p- z)zglK4l#HTrpJU=j;qm)wbyDB=GLr*UgHxiNRn+}3LZ(jcJ`bTn23TocKp|oa7_VK z-9riXkNG(-buGyL;D(QrkgpdEgYX;o?}0{8Xhh!J5?2lSkLx%{RBhCjTU^ zPn)fKAoPzK&yHBqpiBTWcOIl;te3panCTet(Td`K>jvG8@d8Ozwr{3B+iRg^V&}KHQKrypn9%DA5Evt1-an|>W z#JKzs=P~sG(H~L(eZ-sxe4aSi4G`iu*!u{quT5~U&F|0|BYrg6ph?vDzhO?n9nx;f z!dUaF<^dY;MJlQrk~<(o^Fg_v0jx^t&h0Tg>ht2^&!$;(N^*M0W{1}oY8Silz?Qh& zgZK0}!AuhHE|qNSEdahEhCgTS*j0{az-aC=eIRC$&5*|g5=|oNL)(Gq&uc!edg5RZ zHeG5jqXW&q0^y2_gwGga(xkA;W=BH0_YB!gl3l2@C5Ayf6>%Xho|B^F`@Le1afPrMEz~TERi8T_> z_p9UJe$2VSg!UzW^n$~15q;f@o*|Ohd*ozV_sK!N^?q|Rt$#2#%(gyYAGy|p!a^y1 zd$R-OEm-f`xxBX5gBTqldt(9Je2Ju{b{J`!11GZYb|U-vydt`!0aufCQJuKneb@3{ z&V9wQ%%#XO$KM?yuOD5+9!lOlvU1XUm&y@#zIqmaQ4!l^QxW{p{ScFX0nwo=xZn69 z-=#IK;C|!t3Q^&!h|8>MW~NJPLKj?gA)Ha9Gn1QCy>9rOc;V5Q0>eoPpNBjzu?Ho z#@^NHFuj^8OmnPWir_52$=L-Hatz5=Q2{ju>C3FP+*!^{jDtZZx}-WDfM3!!|J6j0 zh^iQvocqPQv`05CvH51Ej`F^Z)5y_lyeS&A;ji_P)f)OvD1C;S5I1s+5W6Gg;JC!M zW$55j8ky72l_^noJ9SUaX-Qt9O|9p!#IWle3~V8%4pGEw4d~F891QELWYRd6kQ;Qq zxv~M9cvYVY@frMPwi$h z#(448df4Cm4AeD$BEI6QObs{LtBOv@#xpAmlI{BmWquZ_O-bMbaCZu1gTNiR z#N|;u%44&#okMbtw-b5I+(s?8t#(v)wr#gZBR2c}iB5NvwJ?Xmso*cqcaEZf_#EXP z(sGWnRx|cAl_7fgnE=I>eN)unek*eSQS80|yCT51Blqjh4Q41|Y+T_F^pnV-!2E@= zaRqjyk0EP>xqC!uI^OS0_kM4>_xrJzNl1x*ApaHd&9p0JWWgA9zx8Mw(?xtt-p;M# zAL50h{E?tiy5CH#VNQ&BK+1Gmv0k8iKX9&JqIx)|Iqa46^-nTnZz>NxvAeH46q*GU zd#)nKCLe}lCCV>@*hP>9vfvQ&WP?L-+xL@dBl#|buPHN7P+HTq#*7J^;4U7a-8lY4 z9%B5|TOj6H5wmpzQ$_!Q?5l;i4rh}KW^vcQXK)4vfp%~q)V#feGZu7wY>n28ktFys zq%(KWMSG2XSl}7k*q3`= zKTl{&EDe>^6V(4YeLX8_MRj?&vX9s3``LV;d(&ympHFXuC*`GI-75w{@}mEv4*;K) zD;=9hAWP~==QVGk#y5NLKg})r^2P6Bv+?bC)Wlp@ZM?vBPgU6r$UycuP?7wD1~QS) zBtX>92U7#t;0D@`o$UqfW0%Ls$@Zb{3c|FVZwa}Sn9QDhV~k2i;WSq}C|AealkFe0 zXAZ%ZA3!OI@LBo6{O+PO$DFwi;VO2=&$@SwKkPMr1UB7LX)IOz439^kOfe0i$V?A( zHDFWEH(p0dD{9()?k3 zoge%ddTc&%F&=$xj34t_3Ev=s_7&0xy8w8RXW z!f$>sYOAcj@!Rk;81&-}kNqhX&klFj26J{k*;^aR+xpmB>ux?o3U`XjyX{;!rqR7@ z+GM(|s(JvpHC)dU6JiYel;YF}ycemqZqrY2Crc6|_t#Ktt7~)CtF)>94SslfUQOj= zk2@*BzW{S5qsJ#v-62%s6C}^^RH%*00!yypPJPIr)2~R1P>F?Dr1S0OPm-2%@3gsrhIhO*u zc`qIO8Ca`ETP~O z-lUqDwiO#0#Ikrrswg(3*)eiMsF=cFjM;|??_c1?QAy*OQfG^EFQE=p-xpN~%O*lE z_NaM~$|pVdYV#;QY1}{QxOZ1uob4{sEQi!Mhw0Wn6SO1)99=G_UEHHcZlb0kYk3e5 zn+`Q(p(|N45i$+i!PBu-nkQQ)R9dH^t$K4-fvjLramzqgKCRAX^>@RA3_vcST1_*} zWqT^o1Q#Y|xD3y+WZVqrH!o0K*{tB_tr6=y-Jn{mVF=tB%LPVLVa{ea?Bn@^SU1Ih zLX@_7d5otxD_c99H`05sVkGH_ixB#`fvlVTa)Y`2UdNL%8bC^-mw9;D{?j06#8?OY zEf8vp)~t*KIx(VAKq z(n|S0GT=xT>oet(=EbIQH>z2p8f|zitHDwmxXqU(1AGNAeK4Y%;X9Kd=|so_$$(5E z;0MWoY$D*V$$*>!oc&!lpltc+0oq=EX1^N4TIqlb(kwr4FVXU&h2iZi`8lg@X?S7` zgc@ft*JjYMI^Dyusx=2BZoKbUT-tR8hHIUhb1U#A%`$$t8B+SU;j^99-4+M;voI!dF%+?WC>cSjP z2Khn1Lesm@&2>128W^d`-XOm=qnQ-eul`0;&Dm>HxptEfY{%l^UD%8HpEcb7qjn3o z##Q$}Xt+1fa5T#8aZ>IqR@#kJNfWv@ZmOTQ<777ZbcLWu?KSS9*<8cJ{}j&XsI}1Y zd1nM`6oh{zaonQ4QH$1r)C!$8ZKzl6*?jBwY(5r@Y0W1;<8agcAz1`-M3cIbXIc7& zGnRggF;nCjikVR#o4sjH1~&aCiToSV;Ap&;RJE19yY1A=`wxsz*Sm=S57M2yO<1(xc^egN#d`txcCVZZWHa+7&ahF^UE`&oBSeHw zavf;Tv#8O2Z_}M*X+v|xh3cw~I!I9-xzJ^DjD^S=+2}HF6I;M^&H`K+g1MavvavT3 z`&Se!p$)YWhjNdmS@A2nL(bZC<&W%B>%URki{TlrWHXs~n?4v5>1}#|Pu;b$_OR@R z)Si zb!#k)ZO(ZOvhW}{+oD~Dx^c7{$=Z#5S}3*Ya!Yl{l3h#MsF#wez2snvE1IlWa@ri? zj^G@_snpdUZ@R*ej4kOzXdVobwhjkc8jx-CUzAWOOmJ{JL}+dI8Ve|K{g}bjoS1d@ z8uI|fhV4(eGO^yzS3tC^Cph?+X)pKe4F~(r=S6Y>q!T>rvTy)-PAjsg=wFOhJOp)_V}eb0iE&XSZP0#5*%nJS!}AuXr0+yxjJl zd~hL4@946;DIeGn=}DiFyIpY?pESJwoJ{Ggyt}N@+kua)KPMlcYQsCW9pIex=hTkM z2dMu{1D60-^NmMg+eQ~z?9gx%eXod}ip&w3POHE0kRQE>Dsg(gZr0*10c~EN*L*Jl zG05)b+l?mE2(CVyK`X&i0jl0frFHe0!P(fj$6N=#5MT*qRh}E{rDo5J;@$0?#LcF9 zpNp9XTJDcxW`dbf#Bv4D*yJ+2o8O_nqxM-9wGS7k4&qbH?E4jls}nl8IvSL#^S)3Y zI;4}lK?j7UvxoYHd7|4@QP8lvYL&S0T&y0S@VQHpVon#+qNqvJfpt7-5_1IjI+x@= zVsF;em~*xh46Df}+CB^+i1Y3jJ;u);2O{ZT_#L~HzT+leH+yh@%(*6yho)l zxXuy3(c@~=2&CeaN*i;#Fm2T@`KyM94sM5ni1|ZVbS*AKB7`wh0Ci3JZs4r;VE?J8fSzj;Btg_F$p+-FkM|c zsp!esW$UF}w%)E=y`$xPqr$GvuZJ*!CY-9}_)vOxT9Len{WWL47Uft!cr~bLp@&3n zruDE$-NV^Y(Tq>Q>lu$)bxj{uGjyFRNVX)>lM4>N)b73X}gZJtcC)?4cGc*n= z39#)Vm7F?hOwd1N{8LFf#8?Jee{5Ud&Th6MtEc*@%gFGXlx}i>w&GPSN6!`QM#`2i zaOY2`_U((^jBI%{K991zQ1S6(=uIgP-OX z56Dh_L6&V%b9XQvBfm;vxOd7OYi^*0oq`^9{CR_E*mhHEhf{0Q!h=DpR*nCKgkuPS ztvpq1sKu3x8VfZ*SC zM{a$pS9XUe0`=rE6QVN#j=#n^{LrDoF>@f3>)LMRtM?bN0wAAVFd>B~@X|x6QjK z`*ThPhXOGWPH_KceVwIa04Fc;+e^hIUh_^yf*%E>+X1ndU!ifbPADeAAJY{1C7Q=$ zG4LYsOMKiH?ltt2UT0*M#zr)SYX&bpXYzJa{8o-9nV$==POp)rCY!>UVt&Kag5lk# z-ArTms)OAsp$4e*m-{eCf^3VIbAig({tEh|-FRUAMtwO~ZI*9MUEjyu8nk8S+7veV z8@5I_9qpau^O_$WosaeBI4fA$R6m??zj~P=$qPwOZq5W2DrCQ1@rQbbdWU9FL7aqS zy}>ZYVW8rz;x2EhSj`Qq6MKWYGHc1xxj7CJM;uM(N)FPsN1TDY$)AEdqpSw<%@d$L zm?1Le4f444vlLT^Sx|+XKP-tQGRYvV^+jy$rsU-1aZkvvW zb`~CMtGH!ESZ?IVLw952DXRfHke=*<;9JzIwD9l5}2gY#<7<{7}$$+(I zB>1OCt9awD8H5p4loOr7(*8j>)Q*3Gg8GAKe{?`&7Y%Z$JK?XjQMA*xQ?#Q_hB8iC zTlrtaHOr>8(sN^&LDVx#Xf8DO>GX~+-)uYp_dR~1#r;}bUiad;J{?K9Zcy*_HiZ%x zy8+vkHZ20uxEEQ5FRJ(YY#Pk|b-8~mlO8%#>#AOB8NOi4B{T+1xNJpa0~Cf)E(j(l zOWnmw>)v~m`Hi@jxR_-@5qFzW}^RKOxFU?%2~z>M+2@ zd{1c}_iomtZe4KcVoYb-6z^FO`q-;&uFvYlnZk)@`zO{j^poP*JOlrO%d!W12X1Fk z_^q&{TQX$I-arryj<>kqgh82j7|&)L-4w#J?QYy{X&C%_B38PObZ??+v) zd^@!HjoEyDySK}F>LF5GMj}&J9m&}qgd(DebUxp>bwvFMg6Qx&DV5DOIv9&;(ump z(|mqrbR@HN!-8em$%k36ZzA@c7CU5Xpa-m)UyKv8@tcWX-Py`no0l_X79QH#x?y;2 z@KRD#DwR|!SO%dp(>C>D+LAOsigC=$lqLl5x3nuOdCq5S@h_>*qLyhol=XI=6xI;P z1-zkyZi{DqVWKxzUR2&M_%V7o#c{91c02Et7g?4(1 zXCBM{nbAL77|IppMO;24=Gai}n1OUy9v$n!d)OGq6y*yimU-n14LJtunuo>Y%X3WI zGlC*`+k@Fmm%pVlhSrtih|3ZCB&bF8V(M8sVPmE^rm5Zf?Dv@_weKK?a+1{H z>Cb}EpOvN^MYn|8o_8cY+DvH!ZP8abj9m12kH8)8j%1R%@Put_?@9*Um-LtgotVha zBtv8-r;R{YxY{0F8I#9KEGeaEV{c`WqZx9yn}wB-UH9p#%t&8LQS^)x=QD+t#k-30 z=5~ajra>Ct&DIWoKLBoAYk$qFipX1Lf`r#dxV_&{sl3T!lxp$|{Bo0Dp_+rbx&Ls~ zwllBJUa;_`SkwoK8iY5M<74t5nxG|+3#e}U=GEC}!&j1nX?#!hD|U}JV&=VC@_AEz z_N#AuR~y?d?t6Hx#p2qp{4~7-o2^#fQIpTX914F&(pOqNv;(4qd-&qjEtiLWOKT`X zEN0@-NcKNE8kCqxM{uf=f(g=~89sO)7{r0%rxYQp(8dBfg~{9~uR%%h%Nb%D=EQ*K-g@bvGJ%OQ9)D8})rbQn1rr+P z{L#5H(;f6WG-!6;9@E^xX%gaAo-{MNMrU*JpHjBMg5k)wdT?vuOs)_eLe;Tc&&&nC zPz*(=T|5)xd_%R|Oypg0IhbaTM2`Y*eK@+g#Kj|ogxEgJxhq3x5Q-327rEA;^2(Xg zutS^U{;qv_GxM!(g$`MF#ol|b^UamRyWeustsyy?)@&T>4Nm6sYcv>GG@j2y0YQ7Q zPykfM2Q@X0-Jt{M5-U=I&n|l?hu+KMFaqYIZU}C1n4pxZhw!6VEk9!l%>jf zxt2bh7wNnVsBfMx0uZoWHe=LQh6VCtB0;X-7!?htd7bf!&i*BWZJXcBo*!=Yn?Ism zq6xOKh!Dg;{MxGCxKJ?%OZ8OM*rQAeCBW3bNkKojK#?@|k-A(?Ro(C{Dz#N5(_L%W z_?V(Z`ZoLIwraLs36^2Iz4;8erOlRJu&scEuvvax+%6zm52DsS;Gp~NZ}eXR1oQD& zHQ~d|zqgiHfUKCy9EmtGRJ@&_v9(xf{l*o-v!A|$^&-)0)|JiA`EJz&E^XnA&RZN7 zQNzK%qqWE)zfF(4vSZ5xYl&*-WfxImj@<`%Mq^)KOw{`lm6Kd^nao#jISf>o)e@X{ zJidiMn0uD;aSv_>ZKhA8x+RNfJ{Mff@stpXAk&(_VJ19$ zW|-E^?E!9XH?O9GtQ)kiZa>9r8JSaUEwvOpsbX$qOPs0ZKp}*IUSTc|ZOHZJl^P#V z3ykCQO|#_&RW~cHxQfQFRbq-Z!9LJt0bvnfncSEqpn&BW~I8#FiP*!hukubuCCkS;RaYrP(7AnTtH#AzT znA)JmIQ0sF5!J_p?ZKHr%t-KZk+!@7HLTkz>v|PJbu4yHuFl!Ao1~$P3Z{N}qLrqS zT|oVzA-0NG-0=L34CwGkxqMJ9m&}EtlG+#T>H17pI~AXH)HQXNAfk#>YA7%Q^=Xye z_zl!Kwx%U?5mI_mJ6`qp6PmA~*(2Q~X}!2A_ENHfs=sM8tW45ShlMe6dvUkrugNY9 z?ON#QTs15V$vTv(?5kW6!Ec4IsD$=bIL~*g8)%cL_FU9%&!DJ&JEa~qI^Vf!%^o_b z1-1L<@4P8>H${?L;J9~hvBco2$nd+P8ewD2ZJG;o`Cf-V?eF`&;5~$Aic52q%}~_u zdl}nrw~i$>efDJjeHmhT0gJ|ykhT{N+{%Rh0;A88CrLu-5n7^9GorG<5v~{-# z#VqrViy7Rb-jlUF;Cc<}k_I=jtMP+5=<>tk3E9Z%mK@7Gow^cUj90q#G~NTyJv^~) zQIy=pwvDmk>l(*{#8`0YBk%aHV^p4n(shr#g9INZL3ge^Yt3=mq$BrA4Q^X@>5LLO zrOsPh097Y|p6$1s+RVs5?EK!;@jzXarC3w4xGllJ{xQQ|TEiVc6v6qYSGQe#>%Sbi z)54HkS%3nQ|8@L->mRADqj-%`9D9eSd*?*n<=l?>D0J4n5zdc5uaUc1`R{9e^%RQ2 zupHTPI#XLqzS<$))Tvfz`It-?BJK+=U$F|#Pw#f%n9G;X!5o6w#mPq)9Cs-VGz(`p z-M+;~n9fb!2UV~f!@(Dc#A5J}8%TcYXozz{6LnHF{60@efty^3h^VW6324*^WxcBE zY9-y!7BecmO6zOp*%Kc#=H3x)`49s~%Ie?zk-;ywPBO z{@xL4tTSt;Q)6-GnBMGDMnOd2XP`Ffgs$7!+~wPyV3MbNYwqIsO!wis`gnKq(nN_g zI9#y0Md(eP51>e-+n+ZQwXTV;rI@b&bP%|H<@yl4Ywy8seh`5aw3p7y-62F#E1uDv z5|_mFl&p1zDK)k0v_{<0vF2wX?m1CPtBv#Z?NB~pm-ugD>|mn*Pjxz7l)bv>>NQcn zPQXeNtc|vMSyzujlstFkBk$nKmsOJ{XN`nJu&py*&PFg#UD+xkRR(V=R6joAuN-!W z*RkbDZ^>Crr&}76EUHhc+9V}iqM0(dpI+d3>BZfxinhySL?yiorZq_%B&5N7&-O+O)rj6%PrJiGQCP_8_35_(vF*k zWIwc)zSBlB2j7EwC+j)rYI~rYt2*qT-W;{;;m6)aqO$1WI@JHAKD5|~+u|uu zgrF}{eV7T;$v+c{;8PGs%nZ9+y1(Kr8A7Cv>GsDAl`7kwa>?ZyHyC8e5bd7JH{KWd zXsldUqfgr-(ptOdiHGB&V5?*9A2d#L_|yrdp}@ObydUCV2Qz?X< zeNA89W_3h;&9(8PuY&b*ePuVR<4DR9O6J0Z_Y&uylFQEGDG^VuuNGKUeZ93NWeL8d z*^jfPHxPux?q)gZmLf7=-6|*3dW|`yv02UEvTpSG?v|A{WVMVLjBVYd7##G&f3&9b z?M(?3yq;QVy-@(a^;#T>3gk8pbj6-hexj@;R~?KE*P*yF$`!pyqyuCgq<=A}Ot-<( z6nK%|DfZ}QFya+Lk++1#FVvqb%IdVX=*V8CZdZm9b#hR7l(1C1sW$_QjK#uf$yaSY zqZQjkfSxHI{*v^f%?QU;iR4!Ssl{yS_YhjOHDp}1NJf;ubAQH2Uild!c~iHLMi;Y( z*ep7qsUzg8uo02y(^#N8Mp3%=?~6)7n9(@-%~gJUfRz~u-^Cvfv?vDW9^z1bCRlAbuCkM1!jq=$2TcN zBr%9GnY@+`%XUPyHoC&OCd<-%8kLY{Q*b2giF`a#W-={>m`qCvTJpKrRFW;Lnbdb7 zX4Hr=G9r}LqIXQu=x=>jyJ_T8>Sn#0`ly+O2@*#4L_1C^a~6Xmh)aK&rzqc*u+3ugn-b9VGlKDaX% z6LlWVG#WI|-5YvhY8^H6;FCr;5N?vobfpoE*XlQ_?t!dpT`kCcEXYf3{}}~Z4;|o? z?TBl&f?B^GUF`+3vWLd@th`JZ9PZ!)sD2g(@}qMH3Jo)rIoP}x0tX7tLY^%O1U=5Q zg!6=)$dmzl4$40Mplj$*Ym26vS>5!^-hpoPkZ&Qjqotc3^)x2V)s4Mi0H>wV;Z14r z)!Q9zv~<=bH+HlS@U$YPmTF|VwhT&2Zp*dRzLQIaHY!H<>5Ps+Mu$`>Fi!N|n2_ky zMgv_@<@P}CV7?voCvjBS^x%L;MN(9`y^7k^j{4F#sva(@|H`(|>C}9vwOz~T9QG)@ zp5bM;8_Di15U#?E|E9X_)Z4Nzf6kI&Z-ni+jv(xi=sUT%G}v$3WbUVqAh);ZaAEqI zf2AV0&M7ghI%#xbz}g}oR@J`6lntBfw7aQjKlNTlAyXN;Z0lD22Z)mcZ{=^=fOG@a z)-*S^ZkRj-et%Xb9b0>rwT%tf!eAKaR-;r6dT@1zcQg${c|v}^nVl|;RR+SsoU#6a z!n}#OlE-t_N3WcNDW~Xjrg~{t+dt67QEeAmeEG(qu~ zo28G>>Zvscx(9l;%i41EAld~!uT1vZ>cL6X>){gXFTj>aud4=1K5wF+qK@|PL|Gm! z76kBKiDKA4fqS@&&x@M_8cVP2Y8(Y6ypZJj#SrR+ z^BES^k2}E3j1DFo^U~mmN1eg>%(Np1;A~Apos}Fws+-nEOpTqaD4rdN!|8b`)Dny( zb$y{woBP~_J;8-KCiI8JYC-+!R?;rhz;%zab~kT9Il=LnK9@0g^}(HQPHnaRi9YmL zwfW^<&Atxeq%vDKxN}L}uChBE(Q&cv(+}_xV*6f4w*3m?Q{XcFZPeb}$sdx1%Neg6 z7_~KIyA}J(Qn2BwgPY3soZECdBKDg-jASgFKep+1ytr0Ing2Ilzq|QV zn*b!x2Bgng9^)F_`J$GWc9x5q?0{aiipWyk3_}B|A}zMo_SccYgnI4NHWdluop7Oa1^%@^ zQ~tG+y{WelXxuLo#asC|0_Ga}_vSqgwr@P?D*Rw=$Imc3_do4+^dv?!?lYqyusuMlg zV(T4LfrUrl;Kh1}v^$PepExnZc2&o_kOu`Ueyx-%7uI&?;-CZ8tnPj;qQ_us)5Y8x z&R^E_#8JnNlxkrza(Qf8QIbJHxF<#D=^8*AS$zVMG7(96Nb1SQ`9M<7G*pJ^F;u?O z#rzts)+|ldUz}=mVwNS!BA7XW3TMkYo5x(^;ESeF+J+waK4iLa5|`fVN_VZXHp9SD za2%-GEmWN-`@^nzrZ;Rm=1_Gve6?B!mi;dXBmCw?GJp1H@J>@z>&`7d`F1rzY2|dZSa2aADrVD`Y9o9 zhqwTNToQ-Izr(X=&X>M}8QaFg>Xsa)J@(Lzzq0DK-Y)-1QSbqbN72R&&lh`B3bM;+ z!J}LQCPx*x=qfP|)@4Jx+_u-yzP*NO__{l=OctD{ou;wnvU3;ZlDJGTTn(@C0vHvU zsOwyHbVO6dGwhVl%>|;dz!~}t5-1zRg{fn$kI z_I&>jO0q&FsYX+!-M_Ud8%x?TbdI~9s+^_4BiHRQs$+Hy4bAk_LpI&MQ^d^#A&qti z-x2>1JwxMQyhWoJ?irdm+W1d+&+ZwwMKVq#XmHewKjOIwev$7@&J;&rnH^51uT=pYixmrVIxLZ|HQ5x2PF25^ z!fw1Ghr0dhw3}Y)rUIA|(aiW)rrzZHxU$}Q7oU<|S`Eq6N86(Z)7lSl&J8o9t{Q%EvN${I(pLQlfpMvofzGPx z+wE@+OK<8<3Zr-7JT9<=>X=B_1?!ZKfRyXB?F>zpuHOoowVdA8fY1_W|iwO$)2af~rGQnl93)Lmu1Ln7Pf-erz@o4d=b zCa)gf?Cqw?6Y>BlQ8so^Sh19?yA+8`&9zP`gIp^qjK6U`H6(*va&@@(VI?Y754U4q zy*i*oj8Pp`?&Oo6cel_nsO6T+n5T?BdoE4-2FyqMTeRY(b7atRN+|x0aj2>IO%Sn4 zHELQo5+d)OwduV?U^h3bQifj%w@~Yt0@yukv*4a7<9xe2*ONDWn`MjgmDFxH=SzxxaFMJD0Z$Fc2ovyhD(|M4ERBFe{Pf4grR!&Sr#FCWgwh zDNUTsy9A)Z+kkfqP)Y!H2%s9bBpg|8evcrk^BBop0;tksz)k^F>oMSN0aWcV;JpH< z-ebV~1W?7tfcFbfu6(EsxJQ7nQrS_6qsZ7;d12)}g=?bXeL#Rkl@AxLivafuuutW^ zh3g~0eF7}5>>T;K2q1e#-O*;P3?CD?NzJ%SR+2 zUsaSN6M(M?a8v^Dbpeh}05FY`E+3Nsz{jS`$0h*Z65zPX)$PLkqX5TOcCNZA6}q2uZQ)od>WAJ zqA1^2l+yuR9|3+Kz!?CV5kO|O%4b$~u8sTEV*;F&0Q^vZvlD@|pzTX9BEE0DdmO1qr~D z0$i8?{2~fN_ke#D;A#MIdxw7( zM>KOs9uiSfH+*W@P;6;^tm&b+qs{qZ) zJ=u8S_zwXlE60X+Pev2xe+qI#<=(sFj<#EXjR4~EJ}bbB6QrilIxN4Wa_>EH4B4D4 z-&D!G_p(1Y$~*z4D(}8KCPbzP%Qpjvl7ySng0w2{{&-A$Mu1I~cV}akAS*x!AYLbO z0G#gDyNmGzl^5(5xQ)uaC&ie$1beAqoklAN_Odq2&41kjzPt^zO6?Ks6%H0RU$0=g z%a=enQ?OS}hxG}jYrlzj{enqi0W8Kh(98I*uy;yEBp%VQY#j?I2Rj_I%^g57Db zU&IKxTa>Q6%V7T&!vewHZLsX+QO5fVrgPfL&SDI!3icks!h0W%XP}yZcL{j!!*Rq> z!FC#~J%s9leZ&y9r=l^zJ~|z?RIrathaDi;#}hE|f854SR~|?JfsG6H;B*+a1k#mH zI9S|+4;1W^(_se*_65Q2Z4OIleK3gzvI_w<5{OPcB1xrtdohMjk z8Z6v=zJOT)?`mf(-TF$-VE5b;EwWOvuXG7^U*YbEz_o%E94sdK0>QcsHgZ=)^o4@; zOiz1}V7=k=#1{)Vb9&-+g7pcub5%^tdcg(+dveuX(OUaL!3G6;UH-0!=t~5fCD<$4 zuuBCSieO8@R_nXVLUcslIw1RD`7le;V0 zL~Rgko?!R3YdXA2!1MQ%g&JSi2a&%S1OCw>`oUkpVgfwoKgA3h3V5++2Jc!QATMw7Xb!hqAJ!+=X9>Lt zS^vFwxdtJJ1C0CRUwyw5HTpguA5bl`jfHOZ#z- zE?Mn|OgVg4Z0pfl_C%&j@y9#TrXbOrqVU_s4%9(^CDTKf1yh zylK20sS{TLoz;J3;VQ7Wtcx1|DgIh6>2w0@WXWa%Wcq4 z{ebDm_ly5TR+moco&yXp(rHT(#o%O%a_Dqz`mMF5 znj)>I2u3}aDfd4-qz%jyz0#_W`jBCaX0q205lK`>guohaU}C; ze^>?$byi+4c4*L}*LVRjN^5#+r=T)_BHt46n^MoL46ik~ z(20G3>8QXg$<=2^zNX$6;5`qSGM$z2_<9ujy1>>|T>2s2+z{>OMw)%0pRS*jH8DQ6 z=YsDNQ|eRur%Pjgx;A5Y7Disb4-orY=u-{k1J$k<{D9xK_LCGV{?QA*rw~6-y{3mJ zid2qHU`*G%aWW+gen?1l#B5=4k=qZ_oa}^NWnpYL5W)Kc^Z<7&aIxCVIwU62IWC#Y zaY^u7Wf7dpY#jWWPtHvgXlmk?k`sUj4TI}=;;;=za5_n>Pc(UMnLEuV2!$#r#9)@N zx+` zyh;Zaw_XB9<9$h0kB-n^)k;%p8Moy4sS}|}e-2td66=b@!CZ^AWhFIx*5;7K$Oy0| zt-2VaB^q5(6OHb|X=%$2_o4q;i_?z6xMzdwAkYQ;KWXv*B#XVYxWKMcL}#a6)XI>$ zd5HNP^fue8v?k3_0g8djD?llTsk7G)j^N`KL5tPw6i>mxIRBoz*_G6hdUVYl z%C-@c&`aRGcn`e6Vgma)2q)h4e=~!3p_bI!p+%QJo=bqvgXm31yoKKMAj8M2RN^6y z5~=?j7zb~`gP|g(gVPv8x`aw1yG$4V#`zruUit{9A3MW z8w~D?mD7D(SNZa@&xThm>j{1Paw)J_(hs^4$CN+zrhZ7`dKVpmCk5x~HqMk4d+NKu zy(ufOeXp53nU&%e#VScFuL~3|AJ2um;h0HD#v{`N{#DqTCDPLV<}+9wyuNw)Q558R z%-T1_sa5>?knc76h=+2}Eh?(JBr&D1(Nm%#j~(L|m(~5)l7XnQHC?2dNdrNGpV7lm zw-Hdbm-I%WYePS@_LC7aM|PrES9PG@BVkmStK!ngV1`&1rnlfo6?qy4rC3wQW|nyw z7>@%qWELE-DBE2d^3yqNGPtVzo*1Fr>es&mO|He=#ic*TeqlRE3Xt3h73toT@Nq}m zoTx7_Y*I(sDKGqCcGt}upt@TqH)^HL)4LCWET*(%$&4<}R%dhbBY52m`d>s|GT-dv zDYPg?KmFh&KK9IB9r0u`Kgu!}cE6BrD+)@phN&f0V-KRP(p^IfTiH@}*KN9aG4HEt zP*m(f+8hgdMNw)!{CtvX*!jBS7N*x+wXDDS_z0ckS*5T}lJ+;OE~KxLX$xg=)p!^E zO<#jrLPubac`9@2AN4Yg)Wg1IJEtSIT4;C-$i3YJ-LK#e{eD%RMdOwaU|&#(5=dHO}3 ze$iw70vmFPp26JVP^pO4AJVDMQmSMA%l>eLYB}l;QCUMFpg%lGfB65q$bB=CMR1vh z1?y|UojeK}wV3M%<555GMthxY(co08T<%La^T{K4)keBOQOuh1TX3=p=w?cFP}^Aq zCn_R_Gw4+XF8Cba&93IM%SQTA8gyZ|Gtn8GB<#OJUxin42_CfIL|FY7Ijt_2)4!a) zprc}*a)hK)aJ2y4{6u&tYe=-;=ih0kT!Mq0}y`*&WRh_8mV4>nZ8qr*z**7C$ z^|?yLsVIPx#-O$PTBKy(^&$(;eihRe@S3{q?F?21H6n~k8PqpM^y5=zf92Uhj&t>9%YlgC4AV<%9;kdO(z|GCi0KedC;}!rmL4 zs<|qdj|Yy=*_gIb85}d8{>MvLGNUT<0ah_sDKNGAP8WhRD=!UJ>K4i!<)xb+XUf8P z!Z|;Yvug8Cae^gevH53wwI6Y2I}qd|dE-ac^GZES_`ZBEts{1@mtl=ndegW2Em)1!aO?08Q6t2R~J)U%YB* zp*iqYV*kbb@Rpmwd#o0q0IS=nT6gXVBnoc?$>?dG%;0EsP6w9&=*iEXIMFz78K5`> zNacvsjMUi7*mokniT!A&HxbrO9MECd^m7F(!sY;ZI4_Rwvc=#m%D5z7T>#O`Roqox zsd2C>Bv>O>c-yUC%D&{J<2^r0UJ4FVf@p44@6z0gHeJQ*n~@FP&g|U~w}HioLWUan zAtlXLvpGFAGX6vGo%T@n;_yDNo-41mdW3=PDz7c~29K$(uH$N$&r;u2o{Q0Rfz}Y_nwo#EZws#6qog-`%=Z6Sr89yA#JW_#Te=Oc-hh> ziQX=opH@B#b==5_Xg`!~5^+KxiMeFe9~5agjx@%SgD(+bbQnmSq&zm!r8_<=J~b`X zp*qye&zXi~&NL){-$oJ^P6W$_L^gQWrh^w#kkXo2>Ds|adxDqXbCcre!gL3-OuXmD zh*0AnqHZKwt(#9060-D5`pKajtpLh_c7IoS=~#iEiA;HEZ>f+DyUgUUN|BFh=7@)+ z;a?|P5fK4pQ$6R8jX0pcbbv}nA2zC)776EZtaq)aWjk}Mta_)Y|w{THi57h(Ki zS8^-&lIIiz?dI0oL!%b=>N@z3O(KofpJ zoP+qAMU<1Jx)2Y;rzy+}R2at@X=%!o|7BfasM{}%r~P@$^3DC2`nqci(xq@bot^_g z<~6%(Gqc6`{+9W3$9j<2=KW#hw(}+yHg6<2^lw9j*h}BGQClUuQrEHcnJ%px9U^Lf^C6-p zOn?givK-68>Clr7&fvHDNuNymn}3}i(;FTe@=9a<%_H6h1{K?_rkEicUN=0^7dArz z!hh3Bb*-#=9_@{G^A!DOpPgYZjoI~l-=5eu*$m~X*wkN0k7D86&HjgJ_V3Da>5-L# z%@g++&k;%DdOTCyrbQ^8&W=2P%AbjGj{i%Je1{mVO}GBtd7i~-J;P6WbYH^K3i^u+ z%IN#A?mMgR|8U=Veg7xlwhZJ`7m?A4TE*t9E@EA9NR2*cbs9=pQ)|2e@Gd#tAWt+8 zW`fmP>+3VBaQQ}0-g5W4jG#0kx17s=Aj*3nWBDRJneAwvZ3(m~x3UFmD7IHD2Is5z z)1kDMK@q_iy}0BVnoLGzmTX3am8*iry?G^b`AL+>j)`q3Au$oPL&4_}C6Bh)$;oRX zarbbT18hVxFMC6)^Nj}-@r=AZ`_r2(AL@n`_q|FX&tn7wnR<8o-70%6BP)X)35-b- zAUs=jxI@6rSU<(ia^+@fJ=?sKo)i!CQp?( zp%yN}VC@C8798J2I77kbsH=KEXBMXs!RHd*4ETaau`qo){#G~r4cUX7ts7chIM(sf zDb1j#fPARXHzR=W(Npbj#z7Kui8=)*0~Xz%LI9tpS&rpKd$-4>6Cug1wm>k;x8;?z zoMpwN$unolt&4|^GLz?l${9S?efTG9GD^5d3hqLuCFf8gX3*7`FVbAB|Dk+|Tbmc*E4L z!Apdm7e}Z{ zcB5l)(cjSuX6kqq&L_%af8t^3c{$6%;v#mXtJBfcrh7-_y`r7CuEh4zWot|!OtcZ& zr3y*64iHqAVV3D*NpXo6T!BO6O*MvWeJI$XFPI6<-^I~X6>jQ@Q>9H& ze1f6-dWC8q@PSf!g0xM7I=Y#r@w9M&QnzEF5@yUMd`!!EjE4^76j!kaI*}TeSkk-}f)ERW@ zIXsVaCj*4%kqYduo(Q%PjW?~{DyJB{Z9Y=Xtc$X`&x?X1zrB|2Vnz^4kj)N%$NAT; z?(?H09ni2#(E+$bUInA`sX5u;bt0GZjC622U&SDNhX9%m(y3(;)up{s9bt~~X){xb z@R3f{dIYZiyvjbkhyJAU>2FYPgG}$HiplK^(?0{qqc4@;$=R>+^AOk7=7$rtc_&0| zK18)i-&7y)oAp)g*{^XBw%A)|D%j0qY=2W{Y7R-;BTIGUc39KGtkFjGWbPFXr|k>Y zk#l_|L{;JLJ__!K8(%{dCjNXr-MEidt)>maEv2q5-yoM)n}2{dC(_syjFI`|yG7tx zATqn~&U>~98rucmn-2OoH!$Kn4$UI*B5dOV@0x%!#O#K`97Nk*?xK3ADQ#HhgqHmQ zQvte_sYOu?(^-_rlVrL6jyU(=F7lP02`}g5f-~W+PvXAyxR-Y-CM<4e02}|QS6bi8 zt}56`^w9z*>*dQY(ygnmVOVw(mlFs2QhrEg3;94!I56z3Eo3WSM3}yOra9g+=Vb!E z8%!LX78fyt9TB`=KHA(*?I7*hA~b5IYgf`t9PQQ8i@y1dZya`TK5Z!w&0jz%nlDmO z-1*I-r_Wq*L^@pCI-h#;uf{Se?giHrvP_GgV={gGsO9}u^rmn+{#ar9%O81wKL-tl z4MrCgx#j&@o6i9QORo^+u3o#Lb)Nji-LqP2_+W;aGx-4#&Z>E?06&Fj%|FaY7b&Jc zB?NE;7n^VQtf|#}wARU2Y^|4*ZoLr4HfJn{QXD}c#Ue}zMU-Uh#^yg92+ht|oHr$W zr8N$%#j}hIzCL}sNS|6u6guh=@Ki!%5yqCm0bhcTGPQvYn@e;7VXaFQp=9LA)`apZ z9&l?!aIyNpA0N%0eRO5q*W&3nuA;nE1_s+N&)IYceh&v#ecxks~Me7gTx+9^5) zy^*tTcj_tY_3J71EwneL6?-Zv&k0mg%mq%MlFtqLBf}iiJdJ#7(6=k9?xAdie`AQ{ zfStb-+<&xiKZe=Uwtp-k&OuuBId+uQ2fngz?q74^V)A>H^)Hc0OMOhmz4@d37P8D! zk5i5y%L-Y1qQH~OyqP-rAZAFb-sETGNOSJv`gkNN|5vo5XIkfFD{Wkd*E(ENA8(_b zdVtTslSJtYei$G*s#yXUNCrvazfJ+)8f+E$A5Y}xvU;A3vdZXg-|~sFNW=`IZ==bg zj%<1m`l>}=H$oTq!7Hgq)}Jp>$juf4i{N&2txqdr)bPPhQN=Y;0gJ%{suRY6MY$ij zY(7<($Zqdw6Mguh8Em{`%jrTe?cwd6HlA~=cO}#Lmdf>sa+$Ve<{PbI&Q}&Q-uI7Eu4&HC2 zbNHBVdeJZG3AgDd&><&JZt&|EP&&R#=I>Ov-Vu5Vied?&d(IkD0t{s#SNLan(SS|2 z`TJ&sas1;QB={}KCr=mEqU`gIvfz&@Ci;Q$PkmWHt*T-+ZnGZzC&CL^Grpqx(FY8| znp@nj5;xDPjx2oc+SR89zanBT&q(+kAMmzp2X>ekCp-R)oUIRtQCC&se5Q;Sbb{K^sf1xM(Vx$PR<8rR@cszLqiS%aZ7tf^%FPDM}^{TbS* zLMlmcx^4s*_ih%zRiUcqi&3uT#?5wnoGCB*c(>_i&rDsOO5}$-6+xN)rJbn)$TR|w zsQ{f!zoblQ3%OHYmq#6OMwu46o4rw)>F8N-EiFb-zD5-PJH~U-0#*0I@>wo02tCqy z#V1;ZRf4Uw5TPp4+D$rd(={Fw@w3Y11^ zNznu`xs*ZQ@`RIlK`x4ifS67Ch__kE(Ku!{!PKWWxlFNrp|qEKT8LWH)ouRr+$~{e z%E<_5J!>sJ^!3*5wK~C3(8FnMdkPlY*z5htNep={O9@a;=jOuH~&5S_wqlJ|33cv`5$<|KX~xZ GrT-7*ZWw$3 diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.wasm index ad623198fb1ad2be266228fcb9b08e70159bbaa4..b1b5021d64c1fda7e8a8fabfd2135c1af447da49 100644 GIT binary patch delta 1137 zcmbVL%_{{_6rXeF@ixNqm9NM16$>=8z*RPiLX_+*6y;?h3Qt+Fu~F2kn=EZuC<>E> z>6=ghqySK{zmTuy?zlS8iS6{}SK^c&u?9m-9@ zAa#_6pu1={kra;OxSp#*IkQ8${j6@$F-m0X#6s_%Ej;?Gp?Z)WvJ=QoP1=X&XK zbo6Ryd3thcLrn(_j+%N)jouznBs+n4!x+lhviM?kkDkEmJ%fsPphGl*uw8<-?6@Np`73qqBl74pNku8`VTKDIF_^XX{RBvy0DTJRl)%$xtQI^ MP3P7DjYWXfPq@UtF#rGn delta 9359 zcmb_iVQeGEbzaU6XUQQcYPi%=A|+9|Gj)?CsXLz%CwGmLa~!*_9jAA$yO`WE7azKCOSO4`#0Re})NPxmZe-uTV{%(H> z{oc$jxs>iM{Sp1x*?I5HdvD%*^WNK`zWF2ezdvMee>@l8?>J7*aa3b{fZ=M*Ib6Wl zsyTti*kzY$PQ$#pcw5vAFq+B`>)bQK`4&b1)eeBXzd7*0q`vg^BA}f>-{&~u%}zs~ zG~=S36BDT)1ZX!GV^#CuaM=g_PY$cip$nWO>70nRKtu}Aq?62+%&bh>5V+v#FM^8c zFW_mk5c)&3ET><=;AIsBbF~BMQ$^!cQ>)?KHKkR*NJWVs6vh5Y)7`A5KY&TGGqnSC zdH=#-lT6x76>Wp`m`OWJdJS-`37N4kacE7=+d5|6cxvCoyiH@(Qq4JHXOHX8g8Qtw ziN7^>YUY=qe4doY4tW3M;M1ghBURp5IinvZ|1VAzTs)@WR6px~!*}B0#BLObJ_1mX zU`XfvX9oz(tM%1XaB8&^WS~wGh_G6Gp8+(JNNpwKvVM<&uV}L%qcL%B7pEGxi}z4D zG3jb*(v>uHm(5G1=Dg4{Z$7U%*6@BlwY-nWw;}G$3H^EKQ<%%^F~;H?H!-hx-j4ZX zF4D6=)W#5rb8dC>U*@rZliV||^DFRC6{d3grNL{ib9Fe6b99}RyaQQd;8DX=uYkqi zEnuTQ-a36T#2J;>2R{a=#&jK%XaktwpcHNlTX@@r`FXg?^a60<36~pX!=|1CGCa>> zgJABsKy=L=X@`m(paTK1mWIF%i*{JD!?GFlIm~#dj!8*nCdjX@|1!k<~v=_!e z!KUm6$r{mQe3oKO3|DD2E&do5D_T6Ik)pY=C{{M=qAfS7qFvpPqCK~f7wyVsE*$(6 zTNhsg1E!(77!){c*CeYDzejMSNtvk{4Woq>xm$E%(kNANF^eNhOi}G-7FU|VEoD*V z8Pv=wGU}9L%dCnMP2i3UZaK>lQISEdWKq~!2DO?+!HOAFyO_lxmQq|yo{?E3A}U1^ zu9U?gz_Pe<7Dquc-Cetq#ZlyBaC1{!EOr~S$m$d+b}7~}3+J;q3cw6bWpN0AEUuQt z;aE&@vD2<+krd7urZW+N(?>^Xv_|83rcna~b2Wm2PEtBW0EqCz>6B}DU4+lr1IYLo zNsr^WAz(R9z7tcFLL&!0QSLPa9h0J0Wg{XG=6RS4gYblfT)`=EoezK>ZbDSI=NcL( z9L0ICj=jtIJh5@eEaxO4B++=J?)c29i|yZHgByLWAFGd{rr z{XUvKz(&Zt+#REm@#*Z;%L$DZLf}>z+fkZ5zNBJ$fKN%kdAn-Ud>q^ zmbht%q0au&k2INze1Ncq#?(m3a^V0vqHuAK z9D)p7PWK|MeujBZ2>qzpcIrn&zd}IhUk0>e>`ZkjnGyj^5bpt`Q2d_xR5HA*!yS ztn4lAV~3XW;86-rlmfX+1kB7Mn#))uBC5hHj?fj$9utWa2p~Z?26TKBQk8y{b_GePD{PhG zz~_OV=e@x5^MvII*5{t$TP06JW9f?_B0+SN7}FWS*j~H6wV3d~y){O_aNkqjVss94 z$`jEC%}8DqBdUbaFBw1;{q+Ojc+mpSqcVd0(BB~^bsAfVyT%k_fnVruC~ri}RpEBJ zo2sJC1E8K@=ikqvyEDKsxE|TxLNdTMMHPQB)Cd?FF5_*A~;j>Qpu+)OnBmQV=MYK2oD(v6wZG_AWpJkto>|5!*$@w+MhD7v1nX2 z#7x7RV%`Cf#egV!8e9OHqRyx54N9_rwG)tGf($}jN`pDLtL#-+dt<=}^ts{-8w)H@ z+z^(LZw!Bwq)JDB5^{QKFppKtM3Vhf@KVHMM-U=KTt9*+6vglv+WIR=cfuCw<49^` zZ#l-vq(%j&hNtaIjQ%AH{*D`MlQK0n!p#A9qh~RTeglutLW1a1Gh+lf0ywdLVYvFdr^ zxON8`;C_=h8p;`t6o4-w9_Y{QS6H0gM#5072dcqeta^6cE}st z4eavKlx{>s`nRA-nC_&M_$vYSK`HlVbWA3?z@mO{M`)0ED0EXmKYks83oD2FgNmm`Af`0 zp6qip9-#{e`QMo7>!=aAO9>5`(7l)%)L8KfWMr_WD1=r3#G60z=W%zsv(7r=-1w+( zoA-9+i%=unNfb%85sw2`5KB|k@&G?X(tAv2!J zInIf_Cs)tTpZhAdE27^6?YUjN?tNwT!MR#qe+*C@2PFCHd*4}IDt613Nn`K7R-e8f zd5?Gc{(AjTyavMI?_+sqm!L%*;XS&F$GT0?{{yZkA#1bvoR!mi20}jMW%!*!5lZ>J zKIKQy8Gg4OUhU_KvSDjUy!XwuPkvy8sx#>3+kgp;I5oEr zuJa|VeQB*|mNl%|?m)WtjkT}EuUbXhwOQ-_5q9`Fn-pxT2}?WZgQ(;GJaE1D-g(_0 z1BY)gomp=QlY@gWXO2#I0TV;>w#vwMhu4p@pha+5s=$a8*hmz}E{1Y9fV&fm87*G1 zGklaFsr2)1aQod!T+)Ghcant4S=CHlGdXBX8l>qoO9KsdfU}e{GR*-m3dcDGD^AW| zoY=)pzB?iqM4r2d0NzJCW`sMyj|bNC&mn2)xAle67%eB z*FN&rQ33*$SwVjW;zYPl3B`QtB%;8AKowS`6cac+`s4G?y~(5Jogh! zrhZjr-6ePTey(SU(h$1WTKM9-Ne{omRE2^K7MXZBLpVo-^zi4Hnxo1H!il3(!Z>iR zRf&=wewC>z)jUv6Jf2d5utbFP@aLJD*XV9QIPrUiaGnV1;VY(;e#sC%l$tF=SjPTa zH}OHx@@q`hsJQ{lNepBt(Xh8}(!=+e@~Kk*;Up3=giRu(hhJx^u91*HIPq$R5Q|$k zV|w}vOfBe_4dukS8OkN1q=z3c73e=C!n=f+#Fv3RNzp6hvE)|EZ!py`zXyf;NC8Rs zfCNn~(GbjEWNOjm^>BX~!m+r(@MDCKB5Rn2;?s_wXEShuvt4! zLLh&IsTKXaA;I=$wgWB%@>f}`R`r(+&3lg15Xf&c)z%{-5z&|Kby`pgQ@etrwA;SR z(GtAJBP-}% zA^)ylBVUCk@Cmu32cfv~!7npNwcOs6n#P>b=c16VNH8eQJo+1eE`{$L)zXbNfv|-5 zg@Bxud{nvSs@t@7Mj&(g5Qx`12s9eppf0849Y8RB1a~i9qFYU}3_2w=4o>&3@zbtm zTACX%F_PlIE#Ws`q}Oh_@Z`I}0p0St4!RuL`Ee!aa|G+`*9cY6?AM44O5K+5CQ*i; z=8y`7d(kVr={0b_ky(5;{+DD%de9G#sUgjL-FjehDqxjg@Ts5_c86nuQ-O?n&r@L! zLgLM;`4qB^J6R14*m0{RJ0-uj=Qr1k5%&gOJ*H%syA;;buQm!Id;i_A@s+Hc1eavV z{}Q;K7$RLD+KlhH^L>n`?_ecYifg!E&6T`f%ZuKCU86t6qp?}>qL`*Z^bI^gh0@8& zh2HxLBV4ucUeAt|Vm5fQ*A~T0?BY7=&%njlF0ssfHt!`l1lMiZv=_s_+_?zN&yeOX zOK5;gu4loiSHYDQz38jhWk}mbsusPI!rQ@u^s5T_BrSmirQa*MXu|%0*3j=Tl;P6T zaT0QBGjdSbj|xiG-a5VURxaKc{yEm~QnjVulIe&+MF)pjaXNs8`!>XU4~$rSOm@S7 z%OxI8z8A9-T%V=OY)WD&&4UOj=^`$>CiR}%Q?%d?9`-}Sm>VU~INEi4&7gCm09 zl+13RG3~yE@%>~%6D;(LoiG|%z05CmuiN*Y&on|Z*-b>R+t?wEFr`tEOp1gl=|@Bw zaqIT$WVuAvL(V7ghCep^TVTgXx18y}!|U*Ens3v5_(OU{oN(4YygkMT31B}W7}WJ%Nj#@8-X+nR27J}6-GA_;)O1B zt02O$Anltc8bvZf8KNKt$j_NTniVM1$_TX2kWm;+N-~06;t7%h()+X1< zf|(7aVO)rdRiWA@0%q|V5dp4GBH4msYfyfqTN9ZrVU1ew1UG!cyot%L9{G`G)rD$ZYq-q X69XdydrE3?NkB;vBaoBA$e0HJ7^-eV delta 5591 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 delta 75815 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 E035xO=Kufz diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js index 252ca509..c6dbeb58 100644 --- a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js +++ b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js @@ -1,5 +1,5 @@ import.meta.url ??= ""; //! Licensed to the .NET Foundation under one or more agreements. //! The .NET Foundation licenses this file to you under the MIT license. -var e=!1;const t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o&&w('WebAssembly resource does not have the expected content type "application/wasm", so falling back to slower ArrayBuffer instantiation.');const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; +var e=!1;const t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o;const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; //# sourceMappingURL=dotnet.js.map diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols index 40b3d263..f8ff37a2 100644 --- a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols +++ b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols @@ -86,7 +86,7 @@ 85:dotnet_BenchTask__RunBatchd__7_MoveNext 86:ut_dotnet_BenchTask__RunBatchd__7_MoveNext 87:dotnet_Interop_RunIteration_int_int_int_int -88:dotnet_Interop___Wrapper_RunIteration_2022265694_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_ +88:dotnet_Interop___Wrapper_RunIteration_1052663206_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_ 89:dotnet_Interop__cctor 90:dotnet_Sample_ExceptionsTask__ctor 91:dotnet_Sample_JsonTask__ctor diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.wasm index 15f96cc8957b34bdf040dcd6113bb9fa86ff8bcf..4769d15bae04ed8ce5e49a81f47df6565da45c93 100755 GIT binary patch delta 626 zcma*fH%|fq0EXcpV!_^fL9w8m9!ERu2#396!QQah?!0;sR@a0Q9f9ex>it1ithL^XWFTEO#>5zi|PK5z!NJj=TVMG?Pk%L_1As+=O zL=lQnf>M;B92KZU6{=B#TGXK)CN!WCW;CH0Eog-WZD@xT0y@wM5jIG$!vQB;a6^U% zUFb#+deMh|48V&)_~3_v0ERG(5sYFC#6wud3Rba(b!=c0TiDhj@tqG# sa+j)cS5=K+>|q}VIK&Z-ae`Bv;T#vZ#1*b_gInC;9uJyod<_5o0sV0#UjP6A delta 626 zcma*fw^9ND0EFQ|#Bk=E1BwCVltZGKaA(dKFel78+u2=h!6RsE!_1X74yBLaP+IT+ zR*t`KK=BnjyR(VsZ+!w!QQce2@b&ugk*-E#I;234R2Yzk|1JZW5RipzH9?@;1p*##|18Ng=^g47I(PEgQg0P;om=^q$Jq@ diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.wasm index 3452c457ed22ab139445e42c0d9d997d2c992837..89056077d29d36f4fe935f3010b80e72cb991071 100644 GIT binary patch delta 470 zcmezIk#*`P)(IyVTPB{=XH3}mbF(XB{N}Z8@yzV@tbYZ?7}7Tjd%a|2Y~TFXdowq` z2kUF|e1^>A$`TL7`1tUm#DapU;^ zDM<{$9*#z)W(?@6L3ZeSIwdgP^o=x4R^agmS^xuiAhyC}MMg2^gg(aYRr!oPjFUJG zwzCy7eq-`CW3XT_2SQ5*BZgE4V}?WqGazZgkOUP^0*V^}~He6T=la%qXy z=7S~qPXrQw%yo?XaouTaBICRKGe6dDcZg(sDB@ydVPcVFXku<@oRnyqYHVs?Y?^49 zlwx6Qkz#0>Xr7v8kd~HaVPwX@z`@AC4YC#tq8~dwW?=LUU;^^$rl;mH%CqYAF)~z5 z@62PAb`33HWC#j&3D(u}mt6Swx7&_#71Iy83C9?Ls`X2Yi}Z8ylM{3F)ARGwb5iv) z@^e%5Q*u%>auf6N^u1C`f=h~06LY5@%45{_&dJQnPEFBI$uG%EEzv7TNn!~0a5OSC zV?Z|>nUbpnXF-7BB5hjBYwA>%hDemv#l delta 7 OcmbPQ_M>#e4=Vr>!~|Oa diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Collections.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Collections.wasm index 6b5dc09aba97d42c632bc978960024cc380572e2..6118ac89a49773b6cc2b1b49779cd04c6891dad9 100644 GIT binary patch delta 37 rcmexSI<;)W4=Y&)X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd>mv#l delta 7 OcmbPQ_M>#e4=Vr>!~|Oa diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.ComponentModel.Primitives.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.ComponentModel.Primitives.wasm index c88ec6057babe0150bb57e8e5415e48c280b0882..0adb79cbf8c7b15ec1464c55e7bb9ed6f58b17f9 100644 GIT binary patch delta 37 rcmeyNJ5_JP4>4H=X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd(-#S1 delta 7 OcmbQL_d|EX4>14^&;zFc diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.ComponentModel.TypeConverter.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.ComponentModel.TypeConverter.wasm index 11f84ade62bc28211eaa85c1a557407b335d6103..e7fa1cbbb3c8ca361c511ff4e8e6ddb325202b03 100644 GIT binary patch delta 37 rcmeyNIaO=J4-r`gX_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd(ZLB= delta 7 OcmbQL^+R*R4-o(krURV- diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Drawing.Primitives.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Drawing.Primitives.wasm index 22da9239f2520de3d4ea4d41cbc96fd54c20554e..5e6b3256c3c571603b6b3b3b587fc20f3a1e9c33 100644 GIT binary patch delta 39 tcmeydka6lF#tlCLWErGc@)C1XnM9Zv7#Y}8Qj1FhN{SePoD@dJJOKWO3Wfjx delta 9 QcmbQbi1Eil#tlCL02ihN%K!iX diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Drawing.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Drawing.wasm index bd56a230db1d493192c27757ab15306fc70f2e5b..79f2c19c22d6dcb3e200975a9d7a09c2d7312389 100644 GIT binary patch delta 37 rcmeyNI#q4M44H=X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd(-#S1 delta 7 OcmbQL_d|EX4>14^&;zFc diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Linq.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Linq.wasm index 4acaa6b7c76f390cd2454a785cc776a0ca872fc3..57a297a8d3958f31262457de24f26aae82b0ad4a 100644 GIT binary patch delta 37 rcmewnJ2h^@4?S51X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd;~xpy delta 7 OcmbOl_ak=04?O@7$OIn% diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Memory.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Memory.wasm index 7584886d9ecf92416b61ebdda70dec623b72aaac..97d03a8bb2dc0e5da8c3a3e293df9f46de3f21d0 100644 GIT binary patch delta 37 rcmey7J2h{^4>MT?X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd=ywVN delta 7 OcmbQ5_ak@14>JG}a0EvH diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.ObjectModel.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.ObjectModel.wasm index 485d0cd91ee5154a21eecb57d97e45a5094b1afd..aa5f86d147f706fbfd4104c307db85e0272dcb99 100644 GIT binary patch delta 37 rcmeyNJ5_JP4>4H=X_mai+*BqJCI&_Z_LS7(l7NyTMj$7JkueVd(-#S1 delta 7 OcmbQL_d|EX4>14^&;zFc diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Private.CoreLib.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Private.CoreLib.wasm index 2c87a32e5482f483484bb5dae8a889f71818de92..6fdb528418f395e12a8a6f31b72592aec16648b9 100644 GIT binary patch delta 75 zcmew{*K_JT&xRJp7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQEkZy1WErGc d@)C1XnM9Zv7#Y}8Qj1FhN{SePoD@dJJOGnB6#oDK delta 45 zcmbO_&-2Gz&xRJp7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQEkZy10CElw AL;wH) diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.wasm index ad623198fb1ad2be266228fcb9b08e70159bbaa4..181b4b188992a5c95e03430a766b0f7001b5ed59 100644 GIT binary patch delta 39 tcmeydk!k8CrVT%4$TCQ?Gq!yP1loT-nIVp^cc>oM03h)2` delta 9 RcmbQbiRs5irVT%4000=t1vLNw diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Text.Encodings.Web.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Text.Encodings.Web.wasm index 73d05914722e22b37c4938619ed244707851cb19..f80baa4e4b10309288212d62a42cabf73f609cfd 100644 GIT binary patch delta 39 tcmezIlyT}a#tlD;WErGc@)C1XnM9Zv7#Y}8Qj1FhN{SePoD@dJJOCCL3orlx delta 9 QcmbRGjPb`)#tlD;02@37bpQYW diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/System.Text.Json.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/System.Text.Json.wasm index e510e949c23751bef04d9f84bc718b2e94fa3c26..6f461d76411b5d88f88a4d0324a40ae3aefcbe29 100644 GIT binary patch delta 45 zcmew{mv8DkzJ?aY7N#xCKl)@Dq*?M3b5of_m>3ut*i%xAO9D!Y7=fG=M#ekWebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o&&w('WebAssembly resource does not have the expected content type "application/wasm", so falling back to slower ArrayBuffer instantiation.');const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; +var e=!1;const t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o;const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; //# sourceMappingURL=dotnet.js.map diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.wasm index 199c9a5a4e587132fa4087e73ff6d4b09cb072d7..6d4f5895b3fec0a423823eb253d10c2248ab3c88 100644 GIT binary patch delta 482 zcmezIk#*`P)(IyVTPB{=XH3}mb2A6aveTR&v0;qgyw)wAncbfCub>!1`etFT zmyC?@;_A5@y>S&~|m zSdy8a7jI}_YGh_+Y-C`z`9Mj*6M@Uk7xflDpXb%VqvYC}&%v?XA(HW-h>Mwpxw)lL zs&S&3u}Kn;on&NWo?>8RWNd1YoSK@HYLc7^G$SpQfq{dOfg5Bw81QnK-C$t!4PXND z0;Z?tG0L+t^f5B{Oz+HNl$KL3U}Ojib_qV1Klk9FcRDt58yVzREp1?91gh4LpZ+qB zQQIXYza%fUM6Vzvi6Pj-(a6+{0bMo74t-Cj1jd`bk*3KCJpMonU?2~~R+y~FD8`)7 z$GE*JpRtE=`hk2#gY9gEjNh32%@`~g%z@C7!H6N1!I&YD!3;>6FeE|6lYrtzK=~8~ z12D^&!4xQy3{;y6RFeu+31S-qTR&v0-f7yw)wAnLUy9ub>!1=VoEA zmyC?|oBw)m=H}00{V$}-5FEw;1kDVSHt!FgAv1Y?iMX(lfsv7snW>qj34@KDWqiCv zyvgK)1!9v+OSCp0EXjW&koaS+W8{zPPFoWh-{qhAv39#dB;!L77b6Q3izGu6b4%l- zMAKAbQv+kuM9ZWU3uB8EL(4?-)HH*%v@{DNGX@3@Mh0$>wO|na*y%9?qi+BckXJW7 zHIGrARj-ecp=x?(9;38tXaOTbP_Rp|u9m;#!oR=Wc9g4_e$Y)g#t2lcUs_zGpOc@Q zn4_PbpP!zSs-Kaco2s9ZlbVs6n3t#Tm0A*9Qk0sQJN-}|qqcWWW?pt`ihfFdNnUD+ zUO`F{L$HUVk*OI2y4fHX+5A2FLALt*;{$6M&eZ~)0|WCwY=y~+jAE=4K+Nr4`HVe` z+t~^kzcKk6F<3B|0C5t7A&@p_uw*a>vJ)9h8B&2PQw9StnFth5Vn_k1GX~-mpju0y h8grnUG@yz!FtlJWVldn8UBbAPiE+br#&X8*i~upamizz! diff --git a/wasm/dotnet/build.log b/wasm/dotnet/build.log index 1a87a5c8..47c5d182 100644 --- a/wasm/dotnet/build.log +++ b/wasm/dotnet/build.log @@ -1,6 +1,7 @@ -Built on 2025-09-16T10:18:00Z\n +Built on 2026-01-15T13:57:14Z\n Toolchain versions -9.0.305 +dotnet 9.0.305 +wasm-opt version 122 (version_122-92-g7508e81f0) Building interp... Copying symbol maps... Building aot... diff --git a/wasm/dotnet/build.sh b/wasm/dotnet/build.sh index e8b39898..828fa629 100755 --- a/wasm/dotnet/build.sh +++ b/wasm/dotnet/build.sh @@ -17,35 +17,34 @@ BUILD_LOG="$(realpath build.log)" echo "Built on $(date -u '+%Y-%m-%dT%H:%M:%SZ')\n" | tee -a "$BUILD_LOG" echo "Toolchain versions" | tee -a "$BUILD_LOG" +echo -n "dotnet " | tee -a "$BUILD_LOG" dotnet --version | tee -a "$BUILD_LOG" - -echo "Building interp..." | tee -a "$BUILD_LOG" -dotnet publish -o ./build-interp ./src/dotnet/dotnet.csproj - -# Workaround for `jsc` CLI -printf '%s\n' 'import.meta.url ??= "";' | cat - ./src/dotnet/bin/Release/net9.0/wwwroot/_framework/dotnet.js > temp.js && mv temp.js ./build-interp/wwwroot/_framework/dotnet.js -echo "Copying symbol maps..." | tee -a "$BUILD_LOG" -cp ./src/dotnet/obj/Release/net9.0/wasm/for-publish/dotnet.native.js.symbols ./build-interp/wwwroot/_framework/ - -# Net9 and Net10 use Emscripten version 3.1.56, which emits legacy EH, see https://github.com/WebKit/JetStream/pull/188 -# FIXME: Update toolchain to Net11 once available, then remove this wasm-opt call. -for wasmFile in $(find "./build-interp" -type f -name "*.wasm"); -do - wasm-opt "$wasmFile" --translate-to-exnref --enable-bulk-memory --enable-exception-handling --enable-simd --enable-reference-types --enable-multivalue -o "$wasmFile" -done - - -echo "Building aot..." | tee -a "$BUILD_LOG" -dotnet publish -o ./build-aot ./src/dotnet/dotnet.csproj -p:RunAOTCompilation=true - -# Workaround for `jsc` CLI -printf '%s\n' 'import.meta.url ??= "";' | cat - ./build-aot/wwwroot/_framework/dotnet.js > temp.js && mv temp.js ./build-aot/wwwroot/_framework/dotnet.js -echo "Copying symbol maps..." | tee -a "$BUILD_LOG" -cp ./src/dotnet/obj/Release/net9.0/wasm/for-publish/dotnet.native.js.symbols ./build-aot/wwwroot/_framework/ - -# Net9 and Net10 use Emscripten version 3.1.56, which emits legacy EH, see https://github.com/WebKit/JetStream/pull/188 -# FIXME: Update toolchain to Net11 once available, then remove this wasm-opt call. -for wasmFile in $(find "./build-aot" -type f -name "*.wasm"); -do - wasm-opt "$wasmFile" --translate-to-exnref --enable-bulk-memory --enable-exception-handling --enable-simd --enable-reference-types --enable-multivalue -o "$wasmFile" +wasm-opt --version | tee -a "$BUILD_LOG" + +for version in "interp" "aot"; do + echo "Building $version..." | tee -a "$BUILD_LOG" + + DOTNET_ARGS="" + if [ "$version" = "aot" ]; then + DOTNET_ARGS="-p:RunAOTCompilation=true" + fi + # Use deterministic builds and don't embed build directory paths to avoid spurious binary updates. + dotnet publish -o ./build-$version ./src/dotnet/dotnet.csproj -p:Deterministic=true -p:DeterministicSourcePaths=true $DOTNET_ARGS + + # Workaround for `jsc` CLI + printf '%s\n' 'import.meta.url ??= "";' | cat - ./src/dotnet/bin/Release/net9.0/wwwroot/_framework/dotnet.js > temp.js + # Silence warning on ArrayBuffer instantiation, which we intentionally use + # to keep the workload consistent between browsers and shells (the latter + # don't always support streaming compilation.) + perl -pi -e "s|\Q&&w('WebAssembly resource does not have the expected content type \"application/wasm\", so falling back to slower ArrayBuffer instantiation.')\E||g" temp.js + mv temp.js ./build-$version/wwwroot/_framework/dotnet.js + + echo "Copying symbol maps..." | tee -a "$BUILD_LOG" + cp ./src/dotnet/obj/Release/net9.0/wasm/for-publish/dotnet.native.js.symbols ./build-$version/wwwroot/_framework/ + + # Net9 and Net10 use Emscripten version 3.1.56, which emits legacy EH, see https://github.com/WebKit/JetStream/pull/188 + # Only the `dotnetwasm` main file is a proper Wasm module, the rest is WebCIL, see https://github.com/dotnet/runtime/blob/main/docs/design/mono/webcil.md + # FIXME: Update toolchain to Net11 once available, then remove this wasm-opt call. + DOTNET_WASM_FILE="./build-$version/wwwroot/_framework/dotnet.native.wasm" + wasm-opt "$DOTNET_WASM_FILE" -o "$DOTNET_WASM_FILE" --translate-to-exnref --enable-bulk-memory --enable-exception-handling --enable-simd --enable-reference-types --enable-multivalue done From 311a014403116adea7203ff344c19fd90895ba64 Mon Sep 17 00:00:00 2001 From: Daniel Lehmann Date: Thu, 15 Jan 2026 15:57:14 +0100 Subject: [PATCH 2/2] address comments --- .../build-aot/wwwroot/_framework/dotnet.js | 1 - .../_framework/dotnet.native.js.symbols | 2 +- .../wwwroot/_framework/dotnet.native.wasm | Bin 7997676 -> 7997676 bytes .../build-aot/wwwroot/_framework/dotnet.wasm | Bin 96533 -> 96533 bytes .../build-interp/wwwroot/_framework/dotnet.js | 1 - .../wwwroot/_framework/dotnet.wasm | Bin 96533 -> 96533 bytes wasm/dotnet/build.log | 2 +- wasm/dotnet/build.sh | 11 ++++------- 8 files changed, 6 insertions(+), 11 deletions(-) mode change 100644 => 100755 wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js mode change 100644 => 100755 wasm/dotnet/build-interp/wwwroot/_framework/dotnet.js diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js old mode 100644 new mode 100755 index c6dbeb58..53c18d73 --- a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js +++ b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.js @@ -1,4 +1,3 @@ -import.meta.url ??= ""; //! Licensed to the .NET Foundation under one or more agreements. //! The .NET Foundation licenses this file to you under the MIT license. var e=!1;const t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o;const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols index f8ff37a2..5a5521fe 100644 --- a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols +++ b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.js.symbols @@ -86,7 +86,7 @@ 85:dotnet_BenchTask__RunBatchd__7_MoveNext 86:ut_dotnet_BenchTask__RunBatchd__7_MoveNext 87:dotnet_Interop_RunIteration_int_int_int_int -88:dotnet_Interop___Wrapper_RunIteration_1052663206_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_ +88:dotnet_Interop___Wrapper_RunIteration_188686094_System_Runtime_InteropServices_JavaScript_JSMarshalerArgument_ 89:dotnet_Interop__cctor 90:dotnet_Sample_ExceptionsTask__ctor 91:dotnet_Sample_JsonTask__ctor diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.native.wasm index 4769d15bae04ed8ce5e49a81f47df6565da45c93..0d37ca4fc0bd442bd016bf0b83698eb93d86ff7a 100755 GIT binary patch delta 626 zcma*fH&Oxt06?IX~6+3 z9LIkIir4-5iPvv^0?$$1Tg>qC{`-}pMq@gpLXR{Ukd6#wA`1etk%L_1As+=OL=lQn zf>M;B92KZU6{=B#TGXK)4KSh+O)#MuEoem>%xFgkED+I&E?8lM9o>-NfD|puh_s{0LweBN)XP#xa3OOko-`n8h6C5yS!(v7|*~%fTO$&+C%x9)}`2 z1F|GairX*BcF7|;Wvf$>y^_mo3uu;)kl&b8sz%}=tY8&uSjPr7v4w5yXp#8tr#ZQ$ pD(tDM5XL?ZaEK!u;{>NT!#OT+i7Q;=2DiAwJs$9=slrqE?;q`5B*y>% delta 626 zcma*fH%|fq0EXcpV!_^fL9w8m9!ERu2#396!QQah?!0;sR@a0Q9f9ex>it1ithL^XWFTEO#>5zi|PK5z!NJj=TVMG?Pk%L_1As+=O zL=lQnf>M;B92KZU6{=B#TGXK)CN!WCW;CH0Eog-WZD@xT0y@wM5jIG$!vQB;a6^U% zUFb#+deMh|48V&)_~3_v0ERG(5sYFC#6wud3Rba(b!=c0TiDhj@tqG# sa+j)cS5=K+>|q}VIK&Z-ae`Bv;T#vZ#1*b_gInC;9uJyod<_5o0sV0#UjP6A diff --git a/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.wasm b/wasm/dotnet/build-aot/wwwroot/_framework/dotnet.wasm index 89056077d29d36f4fe935f3010b80e72cb991071..f03c7f41c80e004db296e1074ad007f46dc2a76d 100644 GIT binary patch delta 9601 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 delta 9622 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 diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.js b/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.js old mode 100644 new mode 100755 index c6dbeb58..53c18d73 --- a/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.js +++ b/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.js @@ -1,4 +1,3 @@ -import.meta.url ??= ""; //! Licensed to the .NET Foundation under one or more agreements. //! The .NET Foundation licenses this file to you under the MIT license. var e=!1;const t=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),o=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),n=Symbol.for("wasm promise_control");function r(e,t){let o=null;const r=new Promise((function(n,r){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,n(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,r(e),t&&t())}}}));o.promise=r;const i=r;return i[n]=o,{promise:i,promise_control:o}}function i(e){return e[n]}function s(e){e&&function(e){return void 0!==e[n]}(e)||Ke(!1,"Promise is not controllable")}const a="__mono_message__",l=["debug","log","trace","warn","info","error"],c="MONO_WASM: ";let u,d,f,m;function g(e){m=e}function h(e){if(qe.diagnosticTracing){const t="function"==typeof e?e():e;console.debug(c+t)}}function p(e,...t){console.info(c+e,...t)}function b(e,...t){console.info(e,...t)}function w(e,...t){console.warn(c+e,...t)}function y(e,...t){if(t&&t.length>0&&t[0]&&"object"==typeof t[0]){if(t[0].silent)return;if(t[0].toString)return void console.error(c+e,t[0].toString())}console.error(c+e,...t)}function v(e,t,o){return function(...n){try{let r=n[0];if(void 0===r)r="undefined";else if(null===r)r="null";else if("function"==typeof r)r=r.toString();else if("string"!=typeof r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}t(o?JSON.stringify({method:e,payload:r,arguments:n.slice(1)}):[e+r,...n.slice(1)])}catch(e){f.error(`proxyConsole failed: ${e}`)}}}function _(e,t,o){d=t,m=e,f={...t};const n=`${o}/console`.replace("https://","wss://").replace("http://","ws://");u=new WebSocket(n),u.addEventListener("error",R),u.addEventListener("close",j),function(){for(const e of l)d[e]=v(`console.${e}`,T,!0)}()}function E(e){let t=30;const o=()=>{u?0==u.bufferedAmount||0==t?(e&&b(e),function(){for(const e of l)d[e]=v(`console.${e}`,f.log,!1)}(),u.removeEventListener("error",R),u.removeEventListener("close",j),u.close(1e3,e),u=void 0):(t--,globalThis.setTimeout(o,100)):e&&f&&f.log(e)};o()}function T(e){u&&u.readyState===WebSocket.OPEN?u.send(e):f.log(e)}function R(e){f.error(`[${m}] proxy console websocket error: ${e}`,e)}function j(e){f.debug(`[${m}] proxy console websocket closed: ${e}`,e)}(new Date).valueOf();const x={},A={},S={};let O,D,k;function C(){const e=Object.values(S),t=Object.values(A),o=L(e),n=L(t),r=o+n;if(0===r)return;const i=We?"%c":"",s=We?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[],a=qe.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${U(r)} resources${i}${a}`,...s),e.length&&(console.groupCollapsed(`Loaded ${U(o)} resources from cache`),console.table(S),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${U(n)} resources from network`),console.table(A),console.groupEnd()),console.groupEnd()}async function I(){const e=O;if(e){const t=(await e.keys()).map((async t=>{t.url in x||await e.delete(t)}));await Promise.all(t)}}function M(e){return`${e.resolvedUrl}.${e.hash}`}async function P(){O=await async function(e){if(!qe.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document)return null;if(!1===globalThis.isSecureContext)return null;const t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}function L(e){return e.reduce(((e,t)=>e+(t.responseBytes||0)),0)}function U(e){return`${(e/1048576).toFixed(2)} MB`}function $(){qe.preferredIcuAsset=N(qe.config);let e="invariant"==qe.config.globalizationMode;if(!e)if(qe.preferredIcuAsset)qe.diagnosticTracing&&h("ICU data archive(s) available, disabling invariant mode");else{if("custom"===qe.config.globalizationMode||"all"===qe.config.globalizationMode||"sharded"===qe.config.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives are available";throw y(`ERROR: ${e}`),new Error(e)}qe.diagnosticTracing&&h("ICU data archive(s) not available, using invariant globalization mode"),e=!0,qe.preferredIcuAsset=null}const t="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",o="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",n=qe.config.environmentVariables;if(void 0===n[o]&&"hybrid"===qe.config.globalizationMode?n[o]="1":void 0===n[t]&&e&&(n[t]="1"),void 0===n.TZ)try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(n.TZ=e)}catch(e){p("failed to detect timezone, will fallback to UTC")}}function N(e){var t;if((null===(t=e.resources)||void 0===t?void 0:t.icu)&&"invariant"!=e.globalizationMode){const t=e.applicationCulture||(We?globalThis.navigator&&globalThis.navigator.languages&&globalThis.navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),n={};for(let t=0;t=1)return o[0]}else"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){const t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat";if(r&&n[r])return n[r]}return e.globalizationMode="invariant",null}const z=class{constructor(e){this.url=e}toString(){return this.url}};async function W(e,t){try{const o="function"==typeof globalThis.fetch;if(Ue){const n=e.startsWith("file://");if(!n&&o)return globalThis.fetch(e,t||{credentials:"same-origin"});D||(k=He.require("url"),D=He.require("fs")),n&&(e=k.fileURLToPath(e));const r=await D.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>r,json:()=>JSON.parse(r),text:()=>{throw new Error("NotImplementedException")}}}if(o)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw new Error("No fetch implementation available")}function B(e){return"string"!=typeof e&&Ke(!1,"url must be a string"),!q(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}const F=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,V=/[a-zA-Z]:[\\/]/;function q(e){return Ue||Be?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||V.test(e):F.test(e)}let G,H=0;const J=[],Z=[],Q=new Map,Y={"js-module-threads":!0,"js-module-globalization":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},K={...Y,"js-module-library-initializer":!0},X={...Y,dotnetwasm:!0,heap:!0,manifest:!0},ee={...K,manifest:!0},te={...K,dotnetwasm:!0},oe={dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},ne={...K,dotnetwasm:!0,symbols:!0,"segmentation-rules":!0},re={symbols:!0,"segmentation-rules":!0};function ie(e){return!("icu"==e.behavior&&e.name!=qe.preferredIcuAsset)}function se(e,t,o){const n=Object.keys(t||{});Ke(1==n.length,`Expect to have one ${o} asset in resources`);const r=n[0],i={name:r,hash:t[r],behavior:o};return ae(i),e.push(i),i}function ae(e){X[e.behavior]&&Q.set(e.behavior,e)}function le(e){const t=function(e){Ke(X[e],`Unknown single asset behavior ${e}`);const t=Q.get(e);return Ke(t,`Single asset for ${e} not found`),t}(e);if(!t.resolvedUrl)if(t.resolvedUrl=qe.locateFile(t.name),Y[t.behavior]){const e=Te(t);e?("string"!=typeof e&&Ke(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=we(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw new Error(`Unknown single asset behavior ${e}`);return t}let ce=!1;async function ue(){if(!ce){ce=!0,qe.diagnosticTracing&&h("mono_download_assets");try{const e=[],t=[],o=(e,t)=>{!ne[e.behavior]&&ie(e)&&qe.expected_instantiated_assets_count++,!te[e.behavior]&&ie(e)&&(qe.expected_downloaded_assets_count++,t.push(he(e)))};for(const t of J)o(t,e);for(const e of Z)o(e,t);qe.allDownloadsQueued.promise_control.resolve(),Promise.all([...e,...t]).then((()=>{qe.allDownloadsFinished.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),await qe.runtimeModuleLoaded.promise;const n=async e=>{const t=await e;if(t.buffer){if(!ne[t.behavior]){t.buffer&&"object"==typeof t.buffer||Ke(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof t.resolvedUrl&&Ke(!1,"resolvedUrl must be string");const e=t.resolvedUrl,o=await t.buffer,n=new Uint8Array(o);Re(t),await Fe.beforeOnRuntimeInitialized.promise,Fe.instantiate_asset(t,e,n)}}else oe[t.behavior]?("symbols"===t.behavior?(await Fe.instantiate_symbols_asset(t),Re(t)):"segmentation-rules"===t.behavior&&(await Fe.instantiate_segmentation_rules_asset(t),Re(t)),oe[t.behavior]&&++qe.actual_downloaded_assets_count):(t.isOptional||Ke(!1,"Expected asset to have the downloaded buffer"),!te[t.behavior]&&ie(t)&&qe.expected_downloaded_assets_count--,!ne[t.behavior]&&ie(t)&&qe.expected_instantiated_assets_count--)},r=[],i=[];for(const t of e)r.push(n(t));for(const e of t)i.push(n(e));Promise.all(r).then((()=>{ze||Fe.coreAssetsInMemory.promise_control.resolve()})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e})),Promise.all(i).then((async()=>{ze||(await Fe.coreAssetsInMemory.promise,Fe.allAssetsInMemory.promise_control.resolve())})).catch((e=>{throw qe.err("Error in mono_download_assets: "+e),at(1,e),e}))}catch(e){throw qe.err("Error in mono_download_assets: "+e),e}}}let de=!1;function fe(){if(de)return;de=!0;const e=qe.config,t=[];if(e.assets)for(const t of e.assets)"object"!=typeof t&&Ke(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&Ke(!1,"asset behavior must be known string"),"string"!=typeof t.name&&Ke(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&Ke(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&Ke(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&Ke(!1,"asset pendingDownload could be object"),t.isCore?J.push(t):Z.push(t),ae(t);else if(e.resources){const o=e.resources;o.wasmNative||Ke(!1,"resources.wasmNative must be defined"),o.jsModuleNative||Ke(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||Ke(!1,"resources.jsModuleRuntime must be defined"),se(Z,o.wasmNative,"dotnetwasm"),se(t,o.jsModuleNative,"js-module-native"),se(t,o.jsModuleRuntime,"js-module-runtime"),"hybrid"==e.globalizationMode&&se(t,o.jsModuleGlobalization,"js-module-globalization");const n=(e,t)=>{!o.fingerprinting||"assembly"!=e.behavior&&"pdb"!=e.behavior&&"resource"!=e.behavior||(e.virtualPath=me(e.name)),t?(e.isCore=!0,J.push(e)):Z.push(e)};if(o.coreAssembly)for(const e in o.coreAssembly)n({name:e,hash:o.coreAssembly[e],behavior:"assembly"},!0);if(o.assembly)for(const e in o.assembly)n({name:e,hash:o.assembly[e],behavior:"assembly"},!o.coreAssembly);if(0!=e.debugLevel){if(o.corePdb)for(const e in o.corePdb)n({name:e,hash:o.corePdb[e],behavior:"pdb"},!0);if(o.pdb)for(const e in o.pdb)n({name:e,hash:o.pdb[e],behavior:"pdb"},!o.corePdb)}if(e.loadAllSatelliteResources&&o.satelliteResources)for(const e in o.satelliteResources)for(const t in o.satelliteResources[e])n({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e},!o.coreAssembly);if(o.coreVfs)for(const e in o.coreVfs)for(const t in o.coreVfs[e])n({name:t,hash:o.coreVfs[e][t],behavior:"vfs",virtualPath:e},!0);if(o.vfs)for(const e in o.vfs)for(const t in o.vfs[e])n({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e},!o.coreVfs);const r=N(e);if(r&&o.icu)for(const e in o.icu)e===r?Z.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0}):e.startsWith("segmentation-rules")&&e.endsWith(".json")&&Z.push({name:e,hash:o.icu[e],behavior:"segmentation-rules"});if(o.wasmSymbols)for(const e in o.wasmSymbols)J.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;tglobalThis.setTimeout(e,100))),qe.diagnosticTracing&&h(`Retrying download (2) '${e.name}' after delay`),await pe(e)}}}async function pe(e){for(;G;)await G.promise;try{++H,H==qe.maxParallelDownloads&&(qe.diagnosticTracing&&h("Throttling further parallel downloads"),G=r());const t=await async function(e){if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){const t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw new Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}const t=e.loadRemote&&qe.config.remoteSources?qe.config.remoteSources:[""];let o;for(let n of t){n=n.trim(),"./"===n&&(n="");const t=be(e,n);e.name===t?qe.diagnosticTracing&&h(`Attempting to download '${t}'`):qe.diagnosticTracing&&h(`Attempting to download '${t}' for ${e.name}`);try{e.resolvedUrl=t;const n=_e(e);if(e.pendingDownloadInternal=n,o=await n.response,!o||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:t,status:0,statusText:""+e});continue}}const n=e.isOptional||e.name.match(/\.pdb$/)&&qe.config.ignorePdbLoadErrors;if(o||Ke(!1,`Response undefined ${e.name}`),!n){const t=new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}p(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return t?(oe[e.behavior]||(e.buffer=await t.arrayBuffer(),++qe.actual_downloaded_assets_count),e):e}finally{if(--H,G&&H==qe.maxParallelDownloads-1){qe.diagnosticTracing&&h("Resuming more parallel downloads");const e=G;G=void 0,e.promise_control.resolve()}}}function be(e,t){let o;return null==t&&Ke(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=we(qe.locateFile(o),e.behavior)),o&&"string"==typeof o||Ke(!1,"attemptUrl need to be path or url string"),o}function we(e,t){return qe.modulesUniqueQuery&&ee[t]&&(e+=qe.modulesUniqueQuery),e}let ye=0;const ve=new Set;function _e(e){try{e.resolvedUrl||Ke(!1,"Request's resolvedUrl must be set");const t=async function(e){let t=await async function(e){const t=O;if(!t||e.noCache||!e.hash||0===e.hash.length)return;const o=M(e);let n;x[o]=!0;try{n=await t.match(o)}catch(e){}if(!n)return;const r=parseInt(n.headers.get("content-length")||"0");return S[e.name]={responseBytes:r},n}(e);return t||(t=await function(e){let t=e.resolvedUrl;if(qe.loadBootResource){const o=Te(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}const o={};return qe.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!qe.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),qe.fetch_like(t,o)}(e),function(e,t){const o=O;if(!o||e.noCache||!e.hash||0===e.hash.length)return;const n=t.clone();setTimeout((()=>{const t=M(e);!async function(e,t,o,n){const r=await n.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(n.url),s=i&&i.encodedBodySize||void 0;A[t]={responseBytes:s};const a=new Response(r,{headers:{"content-type":n.headers.get("content-type")||"","content-length":(s||n.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(o,e.name,t,n)}),0)}(e,t)),t}(e),o={name:e.name,url:e.resolvedUrl,response:t};return ve.add(e.name),o.response.then((()=>{"assembly"==e.behavior&&qe.loadedAssemblies.push(e.name),ye++,qe.onDownloadResourceProgress&&qe.onDownloadResourceProgress(ye,ve.size)})),o}catch(t){const o={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(o)}}}const Ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function Te(e){var t;if(qe.loadBootResource){const o=null!==(t=e.hash)&&void 0!==t?t:"",n=e.resolvedUrl,r=Ee[e.behavior];if(r){const t=qe.loadBootResource(r,e.name,n,o,e.behavior);return"string"==typeof t?B(t):t}}}function Re(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}function je(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}async function xe(e){if(!e)return;const t=Object.keys(e);await Promise.all(t.map((e=>async function(e){try{const t=we(qe.locateFile(e),"js-module-library-initializer");qe.diagnosticTracing&&h(`Attempting to import '${t}' for ${e}`);const o=await import(/*! webpackIgnore: true */t);qe.libraryInitializers.push({scriptName:e,exports:o})}catch(t){w(`Failed to import library initializer '${e}': ${t}`)}}(e))))}async function Ae(e,t){if(!qe.libraryInitializers)return;const o=[];for(let n=0;nr.exports[e](...t))))}await Promise.all(o)}async function Se(e,t,o){try{await o()}catch(o){throw w(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),at(1,o),o}}var Oe="Release";function De(e,t){if(e===t)return e;const o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=Ce(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ke(e,t){if(e===t)return e;const o={...t};return o.config&&(e.config||(e.config={}),o.config=De(e.config,o.config)),Object.assign(e,o)}function Ce(e,t){if(e===t)return e;const o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleGlobalization&&(o.jsModuleGlobalization={...e.jsModuleGlobalization||{},...o.jsModuleGlobalization||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=Ie(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=Ie(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function Ie(e,t){if(e===t)return e;for(const o in t)e[o]={...e[o],...t[o]};return e}function Me(){const e=qe.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleGlobalization:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets){qe.diagnosticTracing&&h("config.assets is deprecated, use config.resources instead");for(const t of e.assets){const o={};o[t.name]=t.hash||"";const n={};switch(t.behavior){case"assembly":n.assembly=o;break;case"pdb":n.pdb=o;break;case"resource":n.satelliteResources={},n.satelliteResources[t.culture]=o;break;case"icu":n.icu=o;break;case"symbols":n.wasmSymbols=o;break;case"vfs":n.vfs={},n.vfs[t.virtualPath]=o;break;case"dotnetwasm":n.wasmNative=o;break;case"js-module-threads":n.jsModuleWorker=o;break;case"js-module-globalization":n.jsModuleGlobalization=o;break;case"js-module-runtime":n.jsModuleRuntime=o;break;case"js-module-native":n.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw new Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}Ce(e.resources,n)}}void 0===e.debugLevel&&"Debug"===Oe&&(e.debugLevel=-1),void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),Fe.diagnosticTracing=qe.diagnosticTracing=!!e.diagnosticTracing,Fe.waitForDebugger=e.waitForDebugger,Fe.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,qe.maxParallelDownloads=e.maxParallelDownloads||qe.maxParallelDownloads,qe.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:qe.enableDownloadRetry}let Pe=!1;async function Le(e){var t;if(Pe)return void await qe.afterConfigLoaded.promise;let o;try{if(e.configSrc||qe.config&&0!==Object.keys(qe.config).length&&(qe.config.assets||qe.config.resources)||(e.configSrc="./blazor.boot.json"),o=e.configSrc,Pe=!0,o&&(qe.diagnosticTracing&&h("mono_wasm_load_config"),await async function(e){const t=qe.locateFile(e.configSrc),o=void 0!==qe.loadBootResource?qe.loadBootResource("manifest","blazor.boot.json",t,"","manifest"):i(t);let n;n=o?"string"==typeof o?await i(B(o)):await o:await i(we(t,"manifest"));const r=await async function(e){const t=qe.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});const n=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");n&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=n);const r=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return r&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=r),o}(n);function i(e){return qe.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}De(qe.config,r)}(e)),Me(),await xe(null===(t=qe.config.resources)||void 0===t?void 0:t.modulesAfterConfigLoaded),await Ae("onRuntimeConfigLoaded",[qe.config]),e.onConfigLoaded)try{await e.onConfigLoaded(qe.config,Ge),Me()}catch(e){throw y("onConfigLoaded() failed",e),e}Me(),qe.afterConfigLoaded.promise_control.resolve(qe.config)}catch(t){const n=`Failed to load config file ${o} ${t} ${null==t?void 0:t.stack}`;throw qe.config=e.config=Object.assign(qe.config,{message:n,error:t,isError:!0}),at(1,new Error(n)),t}}"function"!=typeof importScripts||globalThis.onmessage||(globalThis.dotnetSidecar=!0);const Ue="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,$e="function"==typeof importScripts,Ne=$e&&"undefined"!=typeof dotnetSidecar,ze=$e&&!Ne,We="object"==typeof window||$e&&!Ue,Be=!We&&!Ue;let Fe={},Ve={},qe={},Ge={},He={},Je=!1;const Ze={},Qe={config:Ze},Ye={mono:{},binding:{},internal:He,module:Qe,loaderHelpers:qe,runtimeHelpers:Fe,globalizationHelpers:Ve,api:Ge};function Ke(e,t){if(e)return;const o="Assert failed: "+("function"==typeof t?t():t),n=new Error(o);y(o,n),Fe.nativeAbort(n)}function Xe(){return void 0!==qe.exitCode}function et(){return Fe.runtimeReady&&!Xe()}function tt(){Xe()&&Ke(!1,`.NET runtime already exited with ${qe.exitCode} ${qe.exitReason}. You can use runtime.runMain() which doesn't exit the runtime.`),Fe.runtimeReady||Ke(!1,".NET runtime didn't start yet. Please call dotnet.create() first.")}function ot(){We&&(globalThis.addEventListener("unhandledrejection",ct),globalThis.addEventListener("error",ut))}let nt,rt;function it(e){rt&&rt(e),at(e,qe.exitReason)}function st(e){nt&&nt(e||qe.exitReason),at(1,e||qe.exitReason)}function at(t,o){var n,r;const i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:void 0===t?-1:t;const s=i&&"string"==typeof o.message?o.message:""+o;(o=i?o:Fe.ExitStatus?function(e,t){const o=new Fe.ExitStatus(e);return o.message=t,o.toString=()=>t,o}(t,s):new Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s);const a=""+(o.stack||(new Error).stack);try{Object.defineProperty(o,"stack",{get:()=>a})}catch(e){}const l=!!o.silent;if(o.silent=!0,Xe())qe.diagnosticTracing&&h("mono_exit called after exit");else{try{Qe.onAbort==st&&(Qe.onAbort=nt),Qe.onExit==it&&(Qe.onExit=rt),We&&(globalThis.removeEventListener("unhandledrejection",ct),globalThis.removeEventListener("error",ut)),Fe.runtimeReady?(Fe.jiterpreter_dump_stats&&Fe.jiterpreter_dump_stats(!1),0===t&&(null===(n=qe.config)||void 0===n?void 0:n.interopCleanupOnExit)&&Fe.forceDisposeProxies(!0,!0),e&&0!==t&&(null===(r=qe.config)||void 0===r||r.dumpThreadsOnNonZeroExit)):(qe.diagnosticTracing&&h(`abort_startup, reason: ${o}`),function(e){qe.allDownloadsQueued.promise_control.reject(e),qe.allDownloadsFinished.promise_control.reject(e),qe.afterConfigLoaded.promise_control.reject(e),qe.wasmCompilePromise.promise_control.reject(e),qe.runtimeModuleLoaded.promise_control.reject(e),Fe.dotnetReady&&(Fe.dotnetReady.promise_control.reject(e),Fe.afterInstantiateWasm.promise_control.reject(e),Fe.beforePreInit.promise_control.reject(e),Fe.afterPreInit.promise_control.reject(e),Fe.afterPreRun.promise_control.reject(e),Fe.beforeOnRuntimeInitialized.promise_control.reject(e),Fe.afterOnRuntimeInitialized.promise_control.reject(e),Fe.afterPostRun.promise_control.reject(e))}(o))}catch(e){w("mono_exit A failed",e)}try{l||(function(e,t){if(0!==e&&t){const e=Fe.ExitStatus&&t instanceof Fe.ExitStatus?h:y;"string"==typeof t?e(t):(void 0===t.stack&&(t.stack=(new Error).stack+""),t.message?e(Fe.stringify_as_error_with_stack?Fe.stringify_as_error_with_stack(t.message+"\n"+t.stack):t.message+"\n"+t.stack):e(JSON.stringify(t)))}!ze&&qe.config&&(qe.config.logExitCode?qe.config.forwardConsoleLogsToWS?E("WASM EXIT "+e):b("WASM EXIT "+e):qe.config.forwardConsoleLogsToWS&&E())}(t,o),function(e){if(We&&!ze&&qe.config&&qe.config.appendElementOnExit&&document){const t=document.createElement("label");t.id="tests_done",0!==e&&(t.style.background="red"),t.innerHTML=""+e,document.body.appendChild(t)}}(t))}catch(e){w("mono_exit B failed",e)}qe.exitCode=t,qe.exitReason||(qe.exitReason=o),!ze&&Fe.runtimeReady&&Qe.runtimeKeepalivePop()}if(qe.config&&qe.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{const e=await import(/*! webpackIgnore: true */"process"),t=e=>new Promise(((t,o)=>{e.on("error",o),e.end("","utf8",t)})),o=t(e.stderr),n=t(e.stdout);let r;const i=new Promise((e=>{r=setTimeout((()=>e("timeout")),1e3)}));await Promise.race([Promise.all([n,o]),i]),clearTimeout(r)}catch(e){y(`flushing std* streams failed: ${e}`)}}()}finally{lt(t,o)}})(),o;lt(t,o)}function lt(e,t){if(Fe.runtimeReady&&Fe.nativeExit)try{Fe.nativeExit(e)}catch(e){!Fe.ExitStatus||e instanceof Fe.ExitStatus||w("set_exit_code_and_quit_now failed: "+e.toString())}if(0!==e||!We)throw Ue&&He.process?He.process.exit(e):Fe.quit&&Fe.quit(e,t),t}function ct(e){dt(e,e.reason,"rejection")}function ut(e){dt(e,e.error,"error")}function dt(e,t,o){e.preventDefault();try{t||(t=new Error("Unhandled "+o)),void 0===t.stack&&(t.stack=(new Error).stack),t.stack=t.stack+"",t.silent||(y("Unhandled error:",t),at(1,t))}catch(e){}}!function(e){if(Je)throw new Error("Loader module already loaded");Je=!0,Fe=e.runtimeHelpers,Ve=e.globalizationHelpers,qe=e.loaderHelpers,Ge=e.api,He=e.internal,Object.assign(Ge,{INTERNAL:He,invokeLibraryInitializers:Ae}),Object.assign(e.module,{config:De(Ze,{environmentVariables:{}})});const n={mono_wasm_bindings_is_ready:!1,config:e.module.config,diagnosticTracing:!1,nativeAbort:e=>{throw e||new Error("abort")},nativeExit:e=>{throw new Error("exit:"+e)}},a={gitHash:"893c2ebbd49952ca49e93298148af2d95a61a0a4",config:e.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],workerNextNumber:1,actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:r(),allDownloadsQueued:r(),allDownloadsFinished:r(),wasmCompilePromise:r(),runtimeModuleLoaded:r(),loadingWorkers:r(),is_exited:Xe,is_runtime_running:et,assert_runtime_running:tt,mono_exit:at,createPromiseController:r,getPromiseController:i,assertIsControllablePromise:s,mono_download_assets:ue,resolve_single_asset_path:le,setup_proxy_console:_,set_thread_prefix:g,logDownloadStatsToConsole:C,purgeUnusedCacheEntriesAsync:I,installUnhandledErrorHandler:ot,retrieve_asset_download:ge,invokeLibraryInitializers:Ae,exceptions:t,simd:o};Object.assign(Fe,n),Object.assign(qe,a)}(Ye);let ft,mt,gt=!1,ht=!1;async function pt(e){if(!ht){if(ht=!0,We&&qe.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&_("main",globalThis.console,globalThis.location.origin),Qe||Ke(!1,"Null moduleConfig"),qe.config||Ke(!1,"Null moduleConfig.config"),"function"==typeof e){const t=e(Ye.api);if(t.ready)throw new Error("Module.ready couldn't be redefined.");Object.assign(Qe,t),ke(Qe,t)}else{if("object"!=typeof e)throw new Error("Can't use moduleFactory callback of createDotnetRuntime function.");ke(Qe,e)}await async function(e){if(Ue){const e=await import(/*! webpackIgnore: true */"process"),t=14;if(e.versions.node.split(".")[0]0&&(qe.modulesUniqueQuery=t.substring(o)),qe.scriptUrl=t.replace(/\\/g,"/").replace(/[?#].*/,""),qe.scriptDirectory=(n=qe.scriptUrl).slice(0,n.lastIndexOf("/"))+"/",qe.locateFile=e=>"URL"in globalThis&&globalThis.URL!==z?new URL(e,qe.scriptDirectory).toString():q(e)?e:qe.scriptDirectory+e,qe.fetch_like=W,qe.out=console.log,qe.err=console.error,qe.onDownloadResourceProgress=e.onDownloadResourceProgress,We&&globalThis.navigator){const e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?qe.isChromium=t.some((e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand)):e.userAgent&&(qe.isChromium=e.userAgent.includes("Chrome"),qe.isFirefox=e.userAgent.includes("Firefox"))}He.require=Ue?await import(/*! webpackIgnore: true */"module").then((e=>e.createRequire(/*! webpackIgnore: true */import.meta.url))):Promise.resolve((()=>{throw new Error("require not supported")})),void 0===globalThis.URL&&(globalThis.URL=z)}(Qe)}}async function bt(e){return await pt(e),nt=Qe.onAbort,rt=Qe.onExit,Qe.onAbort=st,Qe.onExit=it,Qe.ENVIRONMENT_IS_PTHREAD?async function(){(function(){const e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",(e=>{var n,r;n=JSON.parse(e.data.config),r=JSON.parse(e.data.monoThreadInfo),gt?qe.diagnosticTracing&&h("mono config already received"):(De(qe.config,n),Fe.monoThreadInfo=r,Me(),qe.diagnosticTracing&&h("mono config received"),gt=!0,qe.afterConfigLoaded.promise_control.resolve(qe.config),We&&n.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&qe.setup_proxy_console("worker-idle",console,globalThis.location.origin)),t.close(),o.close()}),{once:!0}),t.start(),self.postMessage({[a]:{monoCmd:"preload",port:o}},[o])})(),await qe.afterConfigLoaded.promise,function(){const e=qe.config;e.assets||Ke(!1,"config.assets must be defined");for(const t of e.assets)ae(t),re[t.behavior]&&Z.push(t)}(),setTimeout((async()=>{try{await ue()}catch(e){at(1,e)}}),0);const e=wt(),t=await Promise.all(e);return await yt(t),Qe}():async function(){var e;await Le(Qe),fe();const t=wt();await P(),async function(){try{const e=le("dotnetwasm");await he(e),e&&e.pendingDownloadInternal&&e.pendingDownloadInternal.response||Ke(!1,"Can't load dotnet.native.wasm");const t=await e.pendingDownloadInternal.response,o=t.headers&&t.headers.get?t.headers.get("Content-Type"):void 0;let n;if("function"==typeof WebAssembly.compileStreaming&&"application/wasm"===o)n=await WebAssembly.compileStreaming(t);else{We&&"application/wasm"!==o;const e=await t.arrayBuffer();qe.diagnosticTracing&&h("instantiate_wasm_module buffered"),n=Be?await Promise.resolve(new WebAssembly.Module(e)):await WebAssembly.compile(e)}e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null,qe.wasmCompilePromise.promise_control.resolve(n)}catch(e){qe.wasmCompilePromise.promise_control.reject(e)}}(),setTimeout((async()=>{try{$(),await ue()}catch(e){at(1,e)}}),0);const o=await Promise.all(t);return await yt(o),await Fe.dotnetReady.promise,await xe(null===(e=qe.config.resources)||void 0===e?void 0:e.modulesAfterRuntimeReady),await Ae("onRuntimeReady",[Ye.api]),Ge}()}function wt(){const e=le("js-module-runtime"),t=le("js-module-native");return ft&&mt||("object"==typeof e.moduleExports?ft=e.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${e.resolvedUrl}' for ${e.name}`),ft=import(/*! webpackIgnore: true */e.resolvedUrl)),"object"==typeof t.moduleExports?mt=t.moduleExports:(qe.diagnosticTracing&&h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),mt=import(/*! webpackIgnore: true */t.resolvedUrl))),[ft,mt]}async function yt(e){const{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:n,configureEmscriptenStartup:r,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];if(s(Ye),t(Ye),"hybrid"===qe.config.globalizationMode){const e=await async function(){let e;const t=le("js-module-globalization");return"object"==typeof t.moduleExports?e=t.moduleExports:(h(`Attempting to import '${t.resolvedUrl}' for ${t.name}`),e=import(/*! webpackIgnore: true */t.resolvedUrl)),await e}(),{initHybrid:t}=e;t(Ve,Fe)}await n(Qe),qe.runtimeModuleLoaded.promise_control.resolve(),l((e=>(Object.assign(Qe,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:r,configureWorkerStartup:i,passEmscriptenInternals:a}}),Qe))).catch((e=>{if(e.message&&e.message.toLowerCase().includes("out of memory"))throw new Error(".NET runtime has failed to start, because too much memory was requested. Please decrease the memory by adjusting EmccMaximumHeapSize. See also https://aka.ms/dotnet-wasm-features");throw e}))}const vt=new class{withModuleConfig(e){try{return ke(Qe,e),this}catch(e){throw at(1,e),e}}withOnConfigLoaded(e){try{return ke(Qe,{onConfigLoaded:e}),this}catch(e){throw at(1,e),e}}withConsoleForwarding(){try{return De(Ze,{forwardConsoleLogsToWS:!0}),this}catch(e){throw at(1,e),e}}withExitOnUnhandledError(){try{return De(Ze,{exitOnUnhandledError:!0}),ot(),this}catch(e){throw at(1,e),e}}withAsyncFlushOnExit(){try{return De(Ze,{asyncFlushOnExit:!0}),this}catch(e){throw at(1,e),e}}withExitCodeLogging(){try{return De(Ze,{logExitCode:!0}),this}catch(e){throw at(1,e),e}}withElementOnExit(){try{return De(Ze,{appendElementOnExit:!0}),this}catch(e){throw at(1,e),e}}withInteropCleanupOnExit(){try{return De(Ze,{interopCleanupOnExit:!0}),this}catch(e){throw at(1,e),e}}withDumpThreadsOnNonZeroExit(){try{return De(Ze,{dumpThreadsOnNonZeroExit:!0}),this}catch(e){throw at(1,e),e}}withWaitingForDebugger(e){try{return De(Ze,{waitForDebugger:e}),this}catch(e){throw at(1,e),e}}withInterpreterPgo(e,t){try{return De(Ze,{interpreterPgo:e,interpreterPgoSaveDelay:t}),Ze.runtimeOptions?Ze.runtimeOptions.push("--interp-pgo-recording"):Ze.runtimeOptions=["--interp-pgo-recording"],this}catch(e){throw at(1,e),e}}withConfig(e){try{return De(Ze,e),this}catch(e){throw at(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||Ke(!1,"must be file path or URL"),ke(Qe,{configSrc:e}),this}catch(e){throw at(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||Ke(!1,"must be directory path"),De(Ze,{virtualWorkingDirectory:e}),this}catch(e){throw at(1,e),e}}withEnvironmentVariable(e,t){try{const o={};return o[e]=t,De(Ze,{environmentVariables:o}),this}catch(e){throw at(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||Ke(!1,"must be dictionary object"),De(Ze,{environmentVariables:e}),this}catch(e){throw at(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&Ke(!1,"must be boolean"),De(Ze,{diagnosticTracing:e}),this}catch(e){throw at(1,e),e}}withDebugging(e){try{return null!=e&&"number"==typeof e||Ke(!1,"must be number"),De(Ze,{debugLevel:e}),this}catch(e){throw at(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),De(Ze,{applicationArguments:e}),this}catch(e){throw at(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||Ke(!1,"must be array of strings"),Ze.runtimeOptions?Ze.runtimeOptions.push(...e):Ze.runtimeOptions=e,this}catch(e){throw at(1,e),e}}withMainAssembly(e){try{return De(Ze,{mainAssemblyName:e}),this}catch(e){throw at(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw new Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw new Error("URLSearchParams is supported");const e=new URLSearchParams(globalThis.window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw at(1,e),e}}withApplicationEnvironment(e){try{return De(Ze,{applicationEnvironment:e}),this}catch(e){throw at(1,e),e}}withApplicationCulture(e){try{return De(Ze,{applicationCulture:e}),this}catch(e){throw at(1,e),e}}withResourceLoader(e){try{return qe.loadBootResource=e,this}catch(e){throw at(1,e),e}}async download(){try{await async function(){pt(Qe),await Le(Qe),fe(),await P(),$(),ue(),await qe.allDownloadsFinished.promise}()}catch(e){throw at(1,e),e}}async create(){try{return this.instance||(this.instance=await async function(){return await bt(Qe),Ye.api}()),this.instance}catch(e){throw at(1,e),e}}async run(){try{return Qe.config||Ke(!1,"Null moduleConfig.config"),this.instance||await this.create(),this.instance.runMainAndExit()}catch(e){throw at(1,e),e}}},_t=at,Et=bt;Be||"function"==typeof globalThis.URL||Ke(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&Ke(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{Et as default,vt as dotnet,_t as exit}; diff --git a/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.wasm b/wasm/dotnet/build-interp/wwwroot/_framework/dotnet.wasm index 6d4f5895b3fec0a423823eb253d10c2248ab3c88..e981d9b7a383ed126c6f84598ed8326fca284419 100644 GIT binary patch delta 9611 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 delta 9632 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 G=>8A0zi{*b diff --git a/wasm/dotnet/build.log b/wasm/dotnet/build.log index 47c5d182..3c311618 100644 --- a/wasm/dotnet/build.log +++ b/wasm/dotnet/build.log @@ -1,4 +1,4 @@ -Built on 2026-01-15T13:57:14Z\n +Built on 2026-01-15T14:54:21Z\n Toolchain versions dotnet 9.0.305 wasm-opt version 122 (version_122-92-g7508e81f0) diff --git a/wasm/dotnet/build.sh b/wasm/dotnet/build.sh index 828fa629..6ad4c1de 100755 --- a/wasm/dotnet/build.sh +++ b/wasm/dotnet/build.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash # Expects to have .NET SDK 9.0.3xx with `wasm-tools` installed. # Installation options: @@ -25,19 +25,16 @@ for version in "interp" "aot"; do echo "Building $version..." | tee -a "$BUILD_LOG" DOTNET_ARGS="" - if [ "$version" = "aot" ]; then - DOTNET_ARGS="-p:RunAOTCompilation=true" + if [ "$version" == "aot" ]; then + DOTNET_ARGS+=" -p:RunAOTCompilation=true" fi # Use deterministic builds and don't embed build directory paths to avoid spurious binary updates. dotnet publish -o ./build-$version ./src/dotnet/dotnet.csproj -p:Deterministic=true -p:DeterministicSourcePaths=true $DOTNET_ARGS - # Workaround for `jsc` CLI - printf '%s\n' 'import.meta.url ??= "";' | cat - ./src/dotnet/bin/Release/net9.0/wwwroot/_framework/dotnet.js > temp.js # Silence warning on ArrayBuffer instantiation, which we intentionally use # to keep the workload consistent between browsers and shells (the latter # don't always support streaming compilation.) - perl -pi -e "s|\Q&&w('WebAssembly resource does not have the expected content type \"application/wasm\", so falling back to slower ArrayBuffer instantiation.')\E||g" temp.js - mv temp.js ./build-$version/wwwroot/_framework/dotnet.js + perl -pi -e "s|\Q&&w('WebAssembly resource does not have the expected content type \"application/wasm\", so falling back to slower ArrayBuffer instantiation.')\E||g" ./build-$version/wwwroot/_framework/dotnet.js echo "Copying symbol maps..." | tee -a "$BUILD_LOG" cp ./src/dotnet/obj/Release/net9.0/wasm/for-publish/dotnet.native.js.symbols ./build-$version/wwwroot/_framework/