From d8ac7d2805ff4617759c56104894d4a995f2e95d Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Tue, 10 Oct 2023 13:40:40 -0700 Subject: [PATCH] Code fix 1678 (#1704) * Replace image link style * Replace ~ snippet path with relative * Convert snippet markdown to ::: * fix bad image find/replace item * swap text from begininvoke to invokeasync * change to invokeasync; clean headers * add code; complete 2nd thread ex * minor * Add full code snippet monikers * add snippets config * Add multithreading example * add missing xaml; whoops! * minor updates * Process other sections * Update links to samples repo * Remove weird ... * Apply suggestions from code review Co-authored-by: David Pine * Port review code fixes --------- Co-authored-by: David Pine --- .../threading-message-loop.png | Bin 10793 -> 23916 bytes .../threading-multiwindow-ui.png | Bin 0 -> 59743 bytes .../threading-prime-numbers.png | Bin 6862 -> 17128 bytes .../threading-model/threading-weather-ui.pdn | Bin 0 -> 135288 bytes .../threading-model/threading-weather-ui.png | Bin 12650 -> 69772 bytes .../snippets/threading-model/csharp/App.xaml | 182 ++++++++++++++++ .../threading-model/csharp/App.xaml.cs | 14 ++ .../threading-model/csharp/AssemblyInfo.cs | 10 + .../threading-model/csharp/MultiWindow.xaml | 45 ++++ .../csharp/MultiWindow.xaml.cs | 45 ++++ .../csharp/NestedPumpScreenShot.xaml | 17 ++ .../csharp/NestedPumpScreenShot.xaml.cs | 32 +++ .../threading-model/csharp/PrimeNumber.xaml | 14 ++ .../csharp/PrimeNumber.xaml.cs | 61 ++++++ .../threading-model/csharp/ProjectCS.csproj | 11 + .../threading-model/csharp/Weather.xaml | 60 ++++++ .../threading-model/csharp/Weather.xaml.cs | 70 +++++++ .../threading-model/csharp/app.manifest | 77 +++++++ .../snippets/threading-model/vb/App.config | 6 + .../threading-model/vb/Application.xaml | 182 ++++++++++++++++ .../threading-model/vb/Application.xaml.vb} | 0 .../threading-model/vb/AssemblyInfo.vb | 11 + .../threading-model/vb/MultiWindow.xaml | 44 ++++ .../threading-model/vb/MultiWindow.xaml.vb | 38 ++++ .../vb/My Project/AssemblyInfo.vb | 59 ++++++ .../My Project/MyExtensions/MyWpfExtension.vb | 121 +++++++++++ .../vb/My Project/Resources.Designer.vb | 62 ++++++ .../vb/My Project/Resources.resx | 117 +++++++++++ .../vb/My Project/Settings.Designer.vb | 73 +++++++ .../vb/My Project/Settings.settings | 7 + .../threading-model/vb/PrimeNumber.xaml | 14 ++ .../threading-model/vb/PrimeNumber.xaml.vb | 51 +++++ .../threading-model/vb/ProjectVB.vbproj} | 80 +++++-- .../snippets/threading-model/vb/Weather.xaml | 59 ++++++ .../threading-model/vb/Weather.xaml.vb | 65 ++++++ .../threading-model/vb/snippets.5000.json | 3 + .../framework/wpf/advanced/threading-model.md | 196 ++++++++++-------- .../ThreadingMultipleBrowserSample.csproj | 64 ------ .../CSharp/Window1.xaml | 25 --- .../CSharp/Window1.xaml.cs | 49 ----- .../ThreadingMultipleBrowsers/CSharp/app.xaml | 9 - .../CSharp/app.xaml.cs | 16 -- .../CSharp/ThreadingPrimeNumberSample.csproj | 61 ------ .../ThreadingPrimeNumbers/CSharp/Window1.xaml | 17 -- .../CSharp/Window1.xaml.cs | 82 -------- .../ThreadingPrimeNumbers/CSharp/app.xaml | 9 - .../ThreadingPrimeNumbers/CSharp/app.xaml.cs | 16 -- .../ThreadingWeatherForecastSample.csproj | 61 ------ .../CSharp/Window1.xaml | 190 ----------------- .../CSharp/Window1.xaml.cs | 131 ------------ .../ThreadingWeatherForecast/CSharp/app.xaml | 123 ----------- .../CSharp/app.xaml.cs | 16 -- .../ThreadingMultipleBrowserSample.vbproj | 69 ------ .../VisualBasic/Window1.xaml | 23 -- .../VisualBasic/Window1.xaml.vb | 45 ---- .../VisualBasic/app.xaml | 9 - .../VisualBasic/app.xaml.vb | 15 -- .../visualbasic/application.xaml | 8 - .../visualbasic/mainwindow.xaml | 15 -- .../visualbasic/mainwindow.xaml.vb | 67 ------ .../visualbasic/app.xaml | 123 ----------- .../visualbasic/app.xaml.vb | 15 -- .../threadingweatherforecastsample.vbproj | 66 ------ .../visualbasic/window1.xaml | 190 ----------------- .../visualbasic/window1.xaml.vb | 106 ---------- 65 files changed, 1722 insertions(+), 1724 deletions(-) create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-multiwindow-ui.png create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-weather-ui.pdn create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/App.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/App.xaml.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/AssemblyInfo.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/MultiWindow.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/MultiWindow.xaml.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/NestedPumpScreenShot.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/NestedPumpScreenShot.xaml.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/PrimeNumber.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/PrimeNumber.xaml.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/ProjectCS.csproj create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/Weather.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/Weather.xaml.cs create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/app.manifest create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/App.config create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml rename dotnet-desktop-guide/{samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/application.xaml.vb => framework/wpf/advanced/snippets/threading-model/vb/Application.xaml.vb} (100%) create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/AssemblyInfo.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/MultiWindow.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/MultiWindow.xaml.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/AssemblyInfo.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/MyExtensions/MyWpfExtension.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/Resources.Designer.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/Resources.resx create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/Settings.Designer.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/My Project/Settings.settings create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/PrimeNumber.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/PrimeNumber.xaml.vb rename dotnet-desktop-guide/{samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/threadingprimenumbersample.vbproj => framework/wpf/advanced/snippets/threading-model/vb/ProjectVB.vbproj} (53%) create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Weather.xaml create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Weather.xaml.vb create mode 100644 dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/snippets.5000.json delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/ThreadingMultipleBrowserSample.csproj delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/app.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/app.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/ThreadingPrimeNumberSample.csproj delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/app.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/app.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/ThreadingWeatherForecastSample.csproj delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/app.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/app.xaml.cs delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/ThreadingMultipleBrowserSample.vbproj delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/Window1.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/Window1.xaml.vb delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/app.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/app.xaml.vb delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/application.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/mainwindow.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/mainwindow.xaml.vb delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/app.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/app.xaml.vb delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/threadingweatherforecastsample.vbproj delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml delete mode 100644 dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml.vb diff --git a/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-message-loop.png b/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-message-loop.png index 39386c0239ed3af7643fbba6c2dbd378ddff94d8..d92c2287e46660f1113dce47a0447a2bd00579e7 100644 GIT binary patch literal 23916 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 literal 10793 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

DspQSf#jkK|MnChS^4H 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 diff --git a/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-multiwindow-ui.png b/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-multiwindow-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0a90da543588064ed705e4e4816222a632d873 GIT binary patch literal 59743 zcmeFZWl)@5w6@s<3r--od(hzSuEE_B+=9CY0t9ym?(Xgo+}(n^d*eP2@A3J*IW=c$ zYJN?sQcpMO+Sz-vWv%h43y|Xu#CK}L2Yf#1n&I)0T#PH&Szhs0-gJmRTp|;Qz;es`hl5f2_$i;I$%!@Ko zk~6_kii(L6hYn$)U!maZ_l!g62s$@Xl$r<=n0_2|}UY z7mpU?=Y>6j1aiU!{@2&j5P6}p4jR*F%*__JSF}-jT`gXxs(?w3)P-Go3cl)vMK{s?~jw#p{M3)k< zi?}4lLx4V_+8VkE`7V(1wk4WY+ZI6vfxsc$U*$$bCKg!+ZOtekK+q7&8WB}Gl7a(T zrpu&k7F@j3+xMqGnuT`pW$8`ly6L}tIhr$p0V$yV3Ex3%7_VgJuKn3kcP^VBAe@Rb zBM)AVc0En!DPo};nNvnhmjVfC5XZ2@}hz=2Y+5?apBBClu^GI zKmrYDulH4lXFM`pYSm1XQDd)IZjR-Kj*KD#BjobgN>5^$v2ZlIQL=>Zn)!+G4g^MO ztSUuYHyL4=Yi0`wRxPUPVvT7^x=eNVSjWi|q!-?GUYZs@m=mTdlkS_r9VZ776Zzr| z6GBw%n_yY4SbPW;V{D(Og*yt9h4Hpnzc*8^Q{6KKsQmB*^~#vc}E(O1kFZkEKOyUf5M0 zx2FU=&W?vOMQ)e7qseSJ*U3S?T?RvO)WBP1AxdgmT95S~uqq(>E{UwV$lKj?wDnF$YFf##NVqd~ zmh)<5TAd*f3PD*^oP47PgJ0zD$s{7I7HbE!P#p_lep1#cf_xDnI1-SA%iWu0%VPqezeMsig|&;Y)zVUid_%piTllZkq7 zAWKPc@nV%>zj;AgJ~s$-9cI1K>;)dAs{L3fM&g}SnSk5{&j+Ur2^wH+w4w9=sk7S{ zrltJ*oK!}wRLCDjx5YW$U$Aql-KMm(RJLewBOUWLd={tv`;wZj?n;qz0jb+Gb{(cl z4zwj^=TACFkkR|bDp{cysUpEf*@k@LD>;(d7wgs5CWpPTGVKQEz#m<(E*JhE|2EhV zwJ{w5$D))}FsrUzdKkQH*3!>^YavV!XhF1c!5~Wn{RMfX$Ua}5UAAEmuQpRu^jH^*Gjsu4j^aO-_jvUdTIlOzaws%5;Ug`u(5 zi?!Blg+6CLo~3mK+F-Aoyu~AVO|J?a1Y9PYPL}F=7ZgDDW2Krk&d19|?;xcqpJHGf z;@1YMfsMKEc%dedLASXp zQ@P*^0v1DVx%0`Qo!rU&x<5(+o#s@9z5s?yy4TGDuomjgCjGjBEpxKeP$84ZfS>=t zQp85)YK%^=^>>6;(3LMfuj{#2a9wwLZsk%%D_B}gEC8Na3fRNbP7=71SY=DKnpcaK z-n6T|zFB}kNub;CJS68Y-zMS{CT!f; z;z;hqUsOxf(tKX-b!;w9!MEHQQ%9XxtJD^#^yVtM%Zy4>jNtI;p!CJOoviM7m5EZf zn!N-o2J??xWp=8!%JNxxsjym6JPR!@72Z3P62ju-VOVf*O-u&If2(K`qNH%S?2Y!u z(zwXAr}O1fzI6xMVUI)*@LT-pj#&Iq$=>LBwJHnW`)$1-Hgzvcl2F5fZ)b-teAS770Xr z@&_0lv#d0Qu(}qhF-QIJs7tfc5s$;dA)f>?A+Pto=!N3s`W?y`Jx`rXiGNV!#MNjD zM@Ef_Zg+nF5&_*0JY~Bl2ql|XN;%G}@?TPI~&bsje>J1w-g1hnO)3`HRcD&fc6nLC5wkpu#IT*}kBeMls?p96j6@+ot2+cE5E zfARwXuWQuMfW%l5i^MqOA=Q>=a65NfHLTEFw?dspxkH^kM=}=o;Tvw;xGVR`Q*vrkk9c~@v`E=25M9e9b z5WsBYGLRIG!xD(F>T$+*h|6w;9n>9!LPaHt17_O(!`WmyPRR8GDT&6O5%K%4*zJvh zwR6Gh&)bHdq_j8a^&Cdo(s*1b!7r!w(=&a?-;T`TIu>l)! zPj|7!{qd95>%m77IndNx;uXxvgImdJ}|C z@;&qlnCF=0K_I9UBmiO&zVm|;#yi#K%P}q{ILj|E6PeUWm0L)7L=N7#T-J2buf6*# z%~a2Y#H^;Nb}$Icv=2E=cr5tCvxG> z2P@&A9@L9MJAp9)j zZPBf$(TY!Zv(I2jz7}XZ5F9GhyZ4^I*9N`H)5$=vqkE2y0Y}DMnKlN)aV8T32>Ep%W_q?0RlQ9R2g<@XBOK&DymQO~)5mdCt zX{xIB293{)48{)HE6BSU4x&wmFj);0%JhPK-68omNRfVaOaqtmH_`OEY=xW-y40^# z7PG}4$i!{idWSDxSBh0>F|a?%kj~DsLYv;4E?g#MiEuj~50HQ|*EOn*2BSzs?oep% zxxREgJlN8(1mG7`3d{eq-GN9Em$)HUg|t+fAZB4xAvO-Lq_mXRb{!O7^p{A>NS^=R zs67b|r0@&K#}saT@nj&sS)m%L9!8B|1|{bLXE!uAMIFWVz2|tf{m+*%Ebq_k%ng6i{J9>l1j`9~OlnhUj^S z=wXNmWLdA$M=ykfN!iTd%g6@ut@U*J70ar>0kS5GqdfsIx_)7qRN&J^(fUE9K&uj53wQW;j-!=c z8ZAo^15&?bP4b6nRU2^2w%`HTS`0im%zQe(X$70_y)?#qASJ&3_@M4Cwu)1)LZP&m zBFvj-B%Z|Ma{A{7>?JD|a#+3I-%wG4tez4V_J}vDk24PQ$Ul+nXUh*#Aa=asf&-wm1j4J#H zx<+hdiqb!~FP%5WOcJqXAuB}k<^3kZ`Y>vCm1^dw!|E=^`mkVjH9om7QEkckOqhE$ z&4}AZjhluS-cAs{iWMFaCLX%|Q&aT09^<3Myw@*DjS>jZ4CH#BVEfmyj`VNtpL{$; z{n2{eBFoijeUh`h^jsx!V32STeXK;3Drk76V~!_kt1f~O#>QvsSvnlj0*iiOI5!Nu1o16w(Fb%lb z$r{yBX$=FvIWqhO0*4ChEfW*)R@}bib!RmtZ+ETTO}Axa1~LELgFeicWFmX#I$Dy2 zyB@wX-rAeL7aZ2qawgk-;GJ&5{BOuo$Z|wQ_%^Fb7~u>d;(L>dy|2fS;`(9YSi{K` zP3|iKWjT`-qB-MYIVCxhYhpQx;yEWf8nOP9W&tspA{kQ57qafzuVtEd(UqC(0|bhN zaX(o+>41I`KwBe1F>3y=d^} zSqcy!rw@%xsD7tpeaN~s6mkXqS4zWW!KVhC+|DmIIfdV=4)zB#?wJ)L7|b^l@$U}d(K01s7G-6 zntRz{VfSK?`tvbde>$g+4c1cb6kf*NLJLa!=OfIuWo=Hi9lYo@)ge2F(2CZTb6VE5 zDU~Yu~ri{q|)MI_oBNYguk!vFSbYaZ6a0LywOMVn)W-%RCYdk zn}CTOq!(XeZ`&V_X5+sU;MZJ8E%M6|m$*H~HJ3iPX?C$8oLO;GCTOs{eD-$}|KN2L z;julzhJv+rfBtTWi)>A?#%IHSaCkcq>r0EnIRft;2Uh-rvma_e&j!tkUeJC`-R`fN zsQHve@%|wYg|vUdDdbMD-gV%Nw6;(tB22^-6ogcfHHV&VnGVt>Vj!I9UPi5z8EKpF z*NW?Iq_VZQ)EcaXzgXmK-)`dFMt#dMWJ2j@sr}WF>2{aa|9YE|{g|e_8TNM!i^|cQ z?!GI-MKtG3z?D)0(x>@Yc`u|eP|x=ad#2|ASNXYOzI}E$$*VI>F0IFRDY31|q()hk zXY)zEt68FgWwqUK;-rF;=-pnW+e(T}u^Vor8*jB|cc4b(&zoPpyH3&i0!}$K7}B~| zC$KUvt$&)>X?hyGAL!W)bg;$?wTXCd+w2{N2>Hfc_r^N=Zsyys=hFOB*zFpRF9t%u zNO+h}T;L-ceH9jcxBHObae+I{FIT_sVpGx|<~?x-Gl9tn~0yc?MG$ z>}QIe$6i)2u=v~gPaEOGouda5_cJE;3TV&{P=oO!MVrM)UqeLM#YrnfN%g};n~Nt2 z@xw(|BSgKigLTk?m(P-;yxWO_@m1=Q^0@<%oxnZ8=ydPrbVPo0({pz86rnLL>!50& zmyRNWoIt?d{u5G!HO!(lA8MLgHC52Yklt({cF(T4mF;o+gO$O#j}G^_(6cwhgW-Vw zzE8HwWH_PGc*aK633DC0{JQxdNkGecdmu)y!)hvbOFiRJvYl9z^rZjkrkgCrM@O!r z^4Z2GB}Y|x+&T+}*>7ZEsJr@%#BIoQW838RN|S`;^QulMyCeZ`#azy*fa~4)-X5#X zq6+s%>9xD3tZt^bvgrvEPUk=w5`9W8M?K^NrzI&)uFt6ivn|9pPOm>ig7^grdZnns zJ^c_rUduntcZx9SwN=f})!85&EKFmQp{Sb+kD85@UiF33h7D;5MZzH<6DI3jmF-fc zIks$V!pD#Iw@_RLnSBWUC}n3yK1GdYPFzQ1BTm{NPKqT;iXuI1JlZEfMH)>}%sV~N z5r=pEF~kS$gM}=NLPtM?iVLrW&C>?o{Nra7F=Onx>KaNoK_N&En0LQcdiCwj-cym& z-Y8I;rsI4@;Ki}~j1iVDpZ|TCh+}xqf(e`(h`HwQur#9fIwtbYVN> zWIlC1JN~^sni_g1aZksCcjyLe`)T<_J#oR+5ooX8S3I-o`ZKW+Y@HDEANyDiy;ooQ z2F#xWp%ki<7+kA1; z3Ll2r{T%V6dMSpHHy%`UAeY7tal9UM{~vo)ioXdg?RxnKmRi#;`r?5jO7!p!hlFo?+4+)vuA58!lWD z2O4`1d>+8)=9eU4VV~uF6$7zo{#5NcM+Mu?U> zrS(|g1uqi@*D6x1rbekVR{Rp}6D4)fWx0FiB?>N8MK^l)(xxi(K8D7`6&uq{F0Rabd-Td{GeK?VTcRn_~d{UFWu4zPz>mfW9%T+qGPhxlC@|I3coWiNi z;W0Kr;!_7C5oIW#{am#_o^By_O08IwGKL#j@A4Kf5Z&3`3st;Q^>hT>RgCCR_nd%p z^q)CD^$decsMgeiw;R>p-y_OACNj2zhiIQ4Z$Afn$u+(NN@H@1#N$^_l=Z>WFSm7G zZ(J-Rt!VA%st*3v+Dd{V9{+(Sll-$naGvSJirBY91`O!GKB(t0j|1zvERN_3rBUBI#mJB(xhNGj z=%=gxuU_F}h2W3(KEkYu%;BZFE%ksRzs<#)^^RVnhFDfkBP*bVqmkd(Y%vfCFP+?c zrP(Q#a!f>ADljziW5;BCo$EVj!)+~KfU^<4k+V)UA}b+@EEU8(Gh-!}s?3HObV}L%l@<;vAt8SULt@Rj3Voj` zDJrMqztIWrI6TwCh`$HF$$xL4Fh*P(R(`ontq*a~P*Da4{d)&1e*S!T9@e5r-qR!- zIV<;eH#rS0tvUVaT8Gb8UpO!kthPX-#l^*DO-IuO@_0A#s4$%AwCGA%aO z^RLVG`lf%Hn4;bR8dgr;*FU}xR$aAJELqIfa9%8$!dIvu@IO;9{m&Gz7@8w%GCIwM zPuf+jlYoDJoavPqJpu0wkMloTG1P0cSU(p$-j)zYsnN@y&Ns;4LE{=Br{X~tRaq@m zPsZ7i)}j+D5^mt)L)OmajGZnf*cSl-ZK1L;r}7Wk<$M! z97ib;-jh)s&RUa^+o)3mIMYN2S6tT0$P3v{>xf4V*Yz|d%^Vvo=gaxM9&ClOaw3P} zgWve%$zuE^W`<|=(OodicH|sZro$?eS5@0ma*u z1Rz7cSB4Z!==3s_>YnRF2Y5G=$P_+!fq3enjTkN*`QREHLR%gs;sAFNsT2%=pLKuc z4an`3?E%_UkJG0A&#(_7*9@RZ>Hkfif)?b_az^sHrI9#l z<+veU0HvaQJ7cq-DI5den*~6$Ui9IK1R|2`sVFIRxrAxnhF^pmkTW0rciDS8Dn9%C*HGa6`~U2nZg2pUQ;`N`J(Wg$JallRuI{wFXej*oEo< z0Xii?*u=yom`kFK_f(+t^o2SAz`}!W(elm3jau0v-{UEGCH^r2LtQOVMNFnx+?ikk zyxrFyLG&3-EF70@(c3^~i&7N{h3%qMX%LWm+p4RTd@j+rV*0}IV#kTeBvF|EcOa-R zaXsn@fBpy&DQo1YqT>rrH4m#m3lUP%0U(?oA^gI?z+jE~d>^g7c~o#TUqQrbhH7k< znC|o9Hdgz6$@z4-sXvma;Cv!W1h|~ETV0t>umiLktar-x-4|bri)kE0dVq!^@wtQ{ z%^RqJ{ZA1DPzIiZ+*sEx6oDs&P=E`yUC(K|o4)7w9Gc)iTA7Q46EI`tA|MlRcNB$1 zAIy#5FQ2(82^>kKc) zo!0)7i}JsFe`3s;7WZrf%0+UR*|!R9Z6T%L$8u?D&Mq!iteCfHUmFk*g2g!``Csk~ znNd^8hlPRRZ;$ka;dDcvwcQdrA>pxyb#HVB#iC~;-ecQ;OsjrSZg4E{SeHW9bOy2f2h1=ZKS>FeY)8+f3&pU4uuG zZ%&pj8BSJO65$;s>CH8jMBLo&2cpT$X~1#EtNZ7`h-GnxfN7BOLrz7`AVddO%!oaT zL`2n#xi8g!ms&9bG{S52Hw|DzE=xa;M;<4TjSA9iB2M=2MPPU&mq0i^2WH-@!Ikw& zthWkkGRqjJKXekt^CUK~*s~H^q3`j&=StS-lJN+WED&oRapHL~k8soGPbNf65C-5Q z+WaD}>7~pEpkA%m7cB({P102y`!64>w>D&Aje-Xn?D7I{f(r7!JDn`52F*0P)YaC; z6_A!lwmd<7jg@^JhDhlyi`9J6|Xr@-5o7 z>%;Ytx|Y@u2^ZD)rO|fmK;A)1k4B>n?xoS)`3BHh-XIpeR*yPOuw{9ZxB#VN>w}Vs zswxH%zdj0uJms(u-%dD%j4W+mB}ong1|$dyAVO|k9@HHZ9}&%8mSL^oUK(MMcMj4A zlG!ZnAK|cSss8bDkPtuz;d=ds3dNvROLbXw1MU;>lTU-itTZ%CZ_Il>=_;g?m6|;k zkswDP5EKCkc2*e;#*l~vo)f8n9a4W@UvH?Gz;k{17LfjSEbzRASxGQ?IvTp(S=885 zixIXk)+2Jp#ydYCVGCt@UnWRB00YkDs4U1=7_jlp(AwsqeMHX9&LFeipF#7{Qk(Dau|(ItaFK&DGcR-~;+WrO)V|#% z&i{$R41RcNi_<(PTJhVMV1WY~@NI_uPlm#So=g069`p3qX?g?@XktHJs3GjQv@?x_ zHx?7HS`57V541wZH}isoIUWV(;eB%*e*APt_p*J?B7WMMbTLD&aoNwkkCL;;>m$i0 zg!8QVq^{?dho1~-CLagiQxk>~wXVnisbt5HT&-M(%l*o%92PXAt>=Be)9DY3HHfmg z7rDL{xy7MPvz3sEh=9I=C-@r|#Eb;kae694rIBtmXhpJGfJtFJr63Itg_$FYLirC; zR2BBMeE~d^z-alNPb`k%dU3L#&j>gJJ&GN(ZKGUb7Db2n=~0h{B?j8|TiE2Do%$ooa@yiKOd zQm0`vxuAtY#T*Gjw;pO}(2U_53V9oVER;#R3P5uE$B;Kd8=(L!7@TH&=9# zF|WwDFf2w#em^(B^dEAV1gTE*kF69ik80rl%6Gr{wb9yQyo~cUH8T`%gbVod<}8(j z{Ptz#02d80=nWhGA^qC)tH)>L_nrZoNkAtJls&?K%p!u!oy!-KJde1s%J=E)0J{O@ zcDV%n{@lZa0r6&|16-;z0+<2vu@<5FjoHK*s;DTbpVc9-pgV`os#X zDnS^{{Fl$p@OJ*F1@IS!Bx;2^>FZ6LQNIQvX;@k4uxX8WWB--vDU9D$pmwNN2LhRP zlCTa*j}8fqDl#aF0B{_Np0{uyuK-~^4@1i?hEG6ypqD}PL&xWg#JxV&j##3fc6q4Z16*}}jnW{2 zB*|-<5|IAnImkXP3)$TW%2a@BCN-P-3a%)8Am&6ciBr^1EVc zNFg`n8IojeL}`ugj;2(!-Dq(!AWax%tLT9NYZgFHoc|KP+JY-Xc(JK_ETy@hGEfB+ zr*_|wO~ky|w1kz|~rx zMA8FA(UwGYhGw|myMa%lRy>eW0nem7cxBMcWU&x*5T%8wBIOrkTR7PXNmsxS%z%{;$kw;2{%IO_HRhCN-Tb+=Ra@U72o;6) zVDwrK(BLS6A-0j8x?q8#9C9_~V0R+ZD)eeXLdLv|+O|Acx}KI&69*lL?lb$8gM1~V zVhEDi*?FB`+?p1hzqqEYK2JRIW@LntMUNK=2k}J@(5Z)CJLD9PLS2>QsRVB5Zyjf* zZ-W|v#apzcr&Ah+6FAxQb$GxnuuxLWz; zj_>TnWF`18ui-{&x3sGdjA1ID^Ty|(i!RKw@mj4hv$JB5ZQ!ePrEDnS?b2g3eZA-7 zn9pTl);WSH+jeEY{}FVORDlP*`OQVnbTu|AZI6#b3m6m!tuob&n;2+!hBq2~oDW{x zO8jhRtg_#r+gTeJJW~4F8oZ4IIF5!4g}|jD;_6eM1IEXHn_VFkD_n$?^gU5WhDV7WKl?m(XVJvc>_kSIDRdPo8zWfT6v`)?%lUv2J+-?ZA_I%s@9kwQ3M&blESI}um z5(j%(%NtYM6JY-rrq+6b5r2`~ae85M?PFsd;lsvB-qR6xwVMJ?c%{qs-hsz=VuUFc z$yUnL0~A`{aJvhoG#YJYwtPf6zhK?9sP4x6EgYmVFsmxCETNKxW9-mix zRrPq;^nhvWikCx*Jh3(#JDAWF^Y@Vb&;a)%Nz-^c+Tx4+2*B#HLH6%jmk)bcx3a?NCsSS zrSH1_*>bkCShf<{*m)6i{JS?;z77B`=r_PMXB`chz{{r^Mlh-CNF*Sm*Ho(EdX^mY zWKFTee3`{|2)|c)v66@JSl+1LhcW)^$npuB;KMh)_^*ywhM4`FPh*Axk3st{X=h$V zp+lU9JJJF>kfO zyuhqUBA~1j}l%Z+l=Ejj^+1*DqxJ^g3#pgTm((+x&31Ak{&A zKkZqd^eZL5ubNOH%i+W9?`qS}O@D^B{IBxSLDn6OCS&0{wC!wr-;8tJy^jhS zo=){6u0ujM!C`aPn>gmB zSLPL=1?3uw?Q(OC`>S5W;U!GEOGD~Cy9Z9svKu-VGcxoIlxpIb+`qYTzq{{7suS|m zm)?%!v0M3^I4r5uZ|%r?dCGz-j=05gAWwBVCl@o)mW1O!4TP0)(LCP8jRTzewf4*+ zDapf<$!5^-D8sAp@NZSsXLj?yQSvs?8Ohz#oKa;CD-Pp1MGElHdpmp7wp}PK>oq89 zgnZmLz4_s|;jXFm@+`}&1&3x~y&Siz%{QYg?ziB-zlCk4N2KNINA1vY8TRkX=8Gd< z+RY4N#ltD3u+(o|SKU-vePD)D`ebQxJ!*jEbtalaQOxe3@#-2DVpv#;Fq`J1@n~{N zZy5+oqTn;gn$Gk*cGQaAkvS74*Z;5X6UJ?Xt#GvgO1%AU(na;3*blc#o%?_-%Rrr` zUw{nu10KiAbIFS5YukvA^b~$Iu`Ip0!)%R2r1i_#;_$R~Gc87!aNTSw~gPGeX;TcuToL! z-D{doGn;7Kw%#pf^APQBIkC5m{NB>8P-}M_K6}aIK0@2xdZi(P7|$RoF2>dSC4Sp7 zbTyt>ZD%kN{!~}}e`d@=x^H)*YrT~w8I1FuveD(N#5+fN0&WNX447#yIL+#S+mHpB z`hl1r6L4=wBgWikqm#Z?u#(6$i%;#Q|5=bLM(zgFW{zZTf4D%?y-Om8x$F~*y`X`L10*;lO|ET}D%cp0)C z`3Q?eQTv79g$l2d#HO5Pn{}d!gr$tTGc5kgw9euezkc(_972uz6jgQmzWB^ zrs9kB=^6)w=svd!rRN!5-d@(xu{ySUQp_92h>@k*Dx##1VJL7cKK$sxVQQ)&WIu>l z<`~hMG%-w)lh-hVpBUpB_4&qJvuT(?ueb%`e{3D(zRFdyvt%Osk8h%ct|@m7wPeUx zXK5pNmur>j>CBbu@;D!BaD{VdzL=0N^5uClBGj5>X=8d;rVc)EkX=0M9l}%87!^B| zMPmziKglv_r87J1G>_rCT+Cp6G1+fJNZXj)-}G?z5z(y6x~02&ytA&#F}cHLbNqd~ z<|6>-b=>@KbvC(OY9zY|7i1(6g+DhNgmnsX4OG{OWW2?^r;XKI?{^Ym5wR7}9+S_3 z2u(qoZUYg4!Q@*#E-m>oPVBm#0IvkJRdT?BJA4-l+##W@;kOG9rz)^XVI75|<+poA z>sWh3^CwK=#bzb`Muew8g>;h9{yerIt%+!$3gf={sB}JPW^fD`(?%oHr5aK|B>%&H zh4(e>-08p6_snP(2Yib5EB$Lgk{&k}#;N~HQ#{@mNl6N2_q|qT{p_eail3 z&I08G1K9hNr~-_mv6TJTDuxk*)X!P(p8kVH#I+8&d%zWm%j)(U31OOHmIq8 zj@I=rF7eUQ^~#%}v{6^LDJ{q37g#GSx6Xv;Q$(>&o{)z^lj5UpkNG2D5Z8|HXSn;f zy12f&RXY0O=RZs5DJ=voXR8>_0&n_Pwm)$0maU-SrwkIrnbjQne z1yG|_QqitOEx`X_Q*pyHw_OaK@PK%5B*jodg@d89jF{MNd&-Zesj!|V$G=P z9H&Z5kf4iuY%)l4lC%96ws#e|L5_2jIr1-L?<3|vOUbJmSW0XNE@oL}a1BsyAE&0m zI>UDeYP+SICUo<^%Fz>5o6H04H`ts_WI>iq{@<^WssXAGA+i9w;{Xwm+)5@#m83Jo9_7NeIG+@kmjjBh%Nu+{11S)hP31~u z@Oy=XgqVF$82*7!K0}Hqh2h`&&Kl7uVSV<82Z9-Nmad$IP0{bQ<6=&BNJUM}CP2DU zmgiG-0)Y;30NwdYd@xV=BcLkL}~Xk4r5mDivblINOw>d8?< zkRHP8n<+Ddc3;EZX$lR1Ccvr#XU;0_U3wYT21!GA8P6nl{X|J9#lChvnCiuWgeSW7 zG6X6s{$Y8IHl<^g-}N&nGL!#NNVDTx{3-w^RiTF$2-152Ed+f!cte-thECu z>1uyc#AmGRV6gDd$7VUn0p=(mDwysnJaOBF2ZfST~bus>o_iSg?n5c{{q*dzs<2B_CbW9%!`w|c|> z+9vtGwn^8q{JVv=@wdkTDkm#+7POE%P-3J1e5jrleGf$>jJ^L!;~dq3?E$+gMwH$0}*k01f*FYhpbTg z@moaj#a|5H7b?m@iROb^9&#Pzv{cEI0f75}vMr0H_MD>v*7-#>kV+dyMDKlmvb-; z+n-*bPRq2X#;_k*+WWi{wwRP)!iu#3-hlVNG*ngDNwy& z6_{J(>)hAYoo-~^Ae6TK^nnbs?IziH;8QNSQxP`E$97HQ)4SDQzjf0W(M*O-C9d$u zFlP=C*O>YmA|`3|JAs-dHw&C8Pcy9vyQ(>>)mAR~Q@pKbME~+yC<0_SbbfJeiz%QY zi1T*Yp=ot!bK|$%+;7`>1t@%VGQ%Q4v_+YkmnP%%3p!Ju z?6tOvPYcqgij=7c&4j!SfEuF*J$q)-XL9^G!iO}+SFM=;T|pLNQ^|iOb3*x-fq2$m zfJ=cSH%899pX^|lol_TnAc!1T2EyuPH~ z{?ro~nO|hR*Bk)lfLLHEAf2-2d{u0JkoSe@b#Ip0tYywNOyPoIB9!wvA^ z2bd0gkwMt24d&JE+xzli; z=dD?~5vE#}e=7X^UN$6u5BO|U?)9~^c&JI`pi_hw%iyM)P3+&H$amb#Fq9#4?e(S7 z#`8pa2^%~%zfw9`hv6e;xRC}inT-5?1AuszE6r^4zfDslQ}zl|V`acsX!pPQJZ{e2 zD3hbKZkw3Ef;3TxguJeQE5B`TNL~hBk?&%{T`vD_x>S)LiyWa{U|aousN3ewX2~@p zbVmNY1Q42yW;kc|M$8ClTGss#B;yhjFKrJgc*Hy;d8SL$Kcm&+)sn1!Ps{zGB9#yw zc%J>IT4TNx6 zmu_5~-E_2DCMEv^LBWtWnJAtCTInIl|#sfH(rg*LgKc`>B|nhfaniq?&KfC<_gP|&$xeU#w@ z)2Avgs$k?I6qgDwCIiDG6!ZJ;#QuXXe&IeKx2MMiV;WhGac&__0rh|CVqo}8r8?hw zF?vnfF<-d7f{sRTd*l}w}(VkC9Tc!=RjLm5CNs*;TMLYoIi zl32ARP+3hGs-~(6O{+G}WV2L2g!WNM$q5n_s9G`!?#nRPn6P5QcW)1_q7hmtDBRzl z9I9Em<}Oh^NTRys%F%qCPC?EMJB;r@8@pHf*BUgN7XG;(|51b%|6qha{68a_8hliV6(C0Ww`TrD~P5rPf%<>VnxX0Ek z)u`HRy&T(e4^7;AZ2=-;8pd@zY0|4l)TN14J`a8tM@hg_#RUcWh%b{shr?|2evP(o z+zxGSK1ex8ryzgyZ zp6GJstUGP@lb`^;bcg}K!=4YTAKcZHriMIBNX?%eBte2gTTRlRj8XZ`KfHD1-^#E2 zI*Mdv|Fpo@3S0?hx<492X}0MN*Y&J}_qZly#0e z5fKDz1c$JA?4B3JC8R`McRJI!&W%l=kc`a56^NGK2T$z9^3j^!+0#(Dz(nNfGmA`ITzm2jO}+ zj>7|ExXU}^@p@2DBD3I;KPMEfGwm4%9R=z4RGQW)&0We zaJN(>Xo>a#(g&`N(6ynItO64u`sZ(4vZLP!Rztraus{>Iui0yw%Ofx)T ztV>ZBu2eLa626aSR2Q%ZtDjl$?69du6SB(@c^zEAV=$)VN8+$}#pdWedOxxgaQAq7 zN7)Xi`1lwXj0=zjy?y6SCQM`1jMR-6%zTTsywHBlkcrZi!)7broOG62A9Nf z5=T|R;V>ooOS|P6!~La;oofHEiItjL%4kQ&ah$R>EfE+8fb;(}#`JZI*@p!CK9tV~ z58OtDRivO~$mHRo;4ydgXAsUzgW^*1Jh+KaQbi@4fcgE9RQNm>F}YpT>Mu`-}4U%Xp;mcy^autM0P~ zWbZauR3Eejj!*n`}%g%vZW0+n69a=(;r!U6+VE0?~ur{lqBOAxP*o zD#x%!P1vMU4&YUJtVh33Qv%)|o4JWP!p^%xN7e&&fVU%)7dwWry+LdS zA)V!qCKUkrj;n(6^=F27LVq3CcqwE@x1K^8q3)-aRlI; z*~1QRT6XEm%G>I)g)R`EsLJMxBjA?cUkc~#O}*v5cSyp~zm{1V^WVN6Oza6M{A*@} z{e)ZPM-uB?-A0D*ctF3iaNNq=rQ}*wp+PR=*^B9CHXb*L93XyK+R~&MnaGP)(<}0#a>-vzPXf`I*xi*waShC<3(T!~ATPWhbz!$YT2Y3{vEG)wl z+IN-2QV6Tej;2>XCBWEt6;Wi5u(87plBLHiFB)K*R zT$|WT4y%e+MwuM&Q%Tn#93c~M`YIO1F#nihplCaCBD9a5dJTxAT9$q z578wEXJ3FU%7fipHQ2Z9$iR(ZoZ)KA1Vs5+!>bL(xy(m%03CHB^{8nM`p|ShlsKd~ z%>7Ln3Q}pRDj%C_JkF#0q|{Sg)wX^Kin$h*i2`dZ>}Qmd$j50|jvrw^SwXjyu#C5? zr;wBY{&7FeX5vo)W2Se=5R7YL{{m`2jJpKeoE3wTP`4V)MLz-Ad^-l4*^dUl8oJ`$WZdf3+9lFL8~5!dc|+!lAH`27t6uw(ZD8}_^cRkNR;T{hI5FuH%s%w_so4|x5~{Y*7SBJ$8@Ns6&J-KmEo`kT=OkTU^w0n#-!^$cKpU;*N5Hu3trzM|pkaX)Pb$*X)45=t@8(&OzPeE_P4;srd747xvmER~tx~;Xx>?5|;Txc-l4E4`X=> zIfKwF`#AFCzJ4TOP2kRfg&UTQ)hkwLzb%ej1>%iy6;;*4>9RG=r5n7+lfOhFV|;)> z+^rB*7`Of}#skbJ4MpZ*e+0YgM(&o(@v|(~04&s;i*;ZBJg!0b604tk;G+9G*8gO6NzG<8nf6)(;-2fE?-L^KKv2a{Ro1U z&yZ{`!~KrwmX%bg-;ZAM2n&Og?}xo9BR1YA#xJ*BCrGC|`hp*Ma#Xg|IqqDfvddQ# z49mYR7SJIHy%GY>SrQSBrOguwzwpS6 zAHJ=_-cDkx{X=x+dNHS(>3eu?aa6JV_(+1HTN@U0>e+=@iGa5fGwn*ww)Oqd6X@{D zQGr8TChja#rO7~4CmcNa#F0$eiKv+9kut=RJ1^FBp=IxAEVCrN#&b`A=**mJ!%c(Ugb{^{=r@ z)Io%;nddD7GrI5gtzNs}!0kf@>I7-zE~+@0^86e7r$&L9m(0a>YCJ9%oyv&?M$Pu? z=^5HLzLRfrN6yFu9~uFqe|;|MXkt$1Q&!Q&D~hH#`X&2h(_0pmvWtG_O&!);96SXo zum;22=PjO;zoO<$v%e+d62tq>B77u(7bRF9Nx<(km~h80`0kyRo?@ady4!BI>35m$ z1o$kr8-R5}6aUKC%o~@@1-;B9jX6P~dALOS(NS~BpwwxYh1UCwO{!Zra=!dRI5NIh zBl1t2e)Zw^-^h;R?vc$|fs*H5tTwWcAxwdP z-tbGEgW1}2`r^)7E84JQ^X=umvlf(Sg3wY|;&HbQ8i{ zjPg>9uIdy4 zG$$Xrd2ct+7>MpAjOvzfhnXz1#~$p8%C!>bk0p8suC?6zhYi#*3+&wP-i~+7v1ABy zu)qe9 zE!(wO?WQ9JU)}We88)H(%5fg*w<>$I_mh&k?@q{7A#Qt)s1uLrDQa?){HCd7gcm(G z#!C-JE-&}9Oc+pU&~=4(!lyS4u9tuNdva61nTwoLL`+$0)sZ%EVVqn#4Ngg(Q0c>q zVCBNAF-N(XuRq&#kN)J%WY$dAaTs5@^Qr@J)ZbhuYRPg3xvoAkz$`0kfX#F$4e)Ho z_|+U%?o<-sAJzFx)fA}B$+9^9;^(3M2o$M*!=d+rW%UD5RYUOp<9QTF_w}V5VYpA9 zJ1}lJ|1eFSusk5kf}^Vt@#{y^tD&k4!qDa1^RjN>Fv#~ZH#C!;^5 z4MT*$Lb0ywFyvNtOT2kEQ|Uq}@YJEMOl|+1BlmRHB(FVc-t?H398Ui_3z z(PHeZpb&Pz`KGYTWoN6pj+ediFB?J7hZmMk-?G`;>9gw+J+D((0LpD1H(!EsBE}E8 zXz7%#ob@py+7zBZLh}x7k9lw==6csk^}pKV-mjhvc#8}sEHf{py;v+KA+bX@J1IuR zN%$w&WJ`RHkv)TreeUZ$wMQ%-I~-Gjj+W$GCKalI3#H7s9t%!Cz7`eLaqR{#2ENz- zy06P_eQ(IXvJuAcrd?0}_gtj+fx#>at+wi-3xRm!IpDYN>h$ zDC@?JbLumHSoNfTGfDa7oQ2xjhrXjpivEGFBQdVhUF7TGt7P8Ifn*M|5elGhInAyp z%#{L~Srx+oe||&kdDL>?uJ!7Qb0VDo2Zs-c!B>*U+c<{RGHH=f3A9Zn5d9~yTnkpB zwDCOO*X9x1&W1#H_rXP+qsv*Tec6A0lN|J&jEpXpRnZNuys!KPF1qA z@R+=BN%AXsPs1&@NqfkXUjU@d;&P!ZEK^|%;xk8fg=CI|?}F9$pPl##ZQT?VQTVP- z;3<)ic?VPWt``@`3Fz~_{TdoyIkR^j|DGH5SkT?RLhCE3=$+PA2LJ6`z9&7fwMv9| zW86tl#AFs51ji~#AAp7u`4{~Kv88oC(`%Dlo8Ygdi_!2j~S`?U_J(`-y6sfLG==UMlwlTdNR$W|NN6=ELZwF=b!eS)jnoQ_AWdmgYTr zaYRa@0*K5nRr>Q>Nj!MVYrKhPfNrdb$JY)GiJ{S6F#sj-JP<$>>Z)Uk9pYbt`;@8> z9T*a2_7{7!j0iHB78qC3JnCDB()NDC$|(#0RPvn9RibDg$^&Bqk|=~9S2^ev;RH*j zkl9pq(&s6~#jf8b#0kiL)kU(Ge2Px^ce<5V!{2fJVXo2RajGF2W_DF_MG)bH6xe{B zoaC>w42g*#CL*wWqQrMD#Tg8!75nPj6InFP(($9InBWbDRYIi!zcFB!H;L{&H^{vU z?N>F%{uBlxXrH#L;ANr%=Nc8WDk7Bj>@NQ=LE_r9K_6-`RX%g3iS_-#gMqO?P5xw_RP-#~on13tDQV=zSuK`wE^S33x4Lgl%wM-w#!T-(V;&iN?0Jn$(!c|B!Ppkz8BSCA5{5w*G#2s;3i_+%>2X~Krt=roUZ~cvT zlw>NSsoWdsMuhDe>+JQ{hLi+~a(^EV*d2ngfI9}m zweK0Qx>lhNxGK53?duP?5~fU$*1V9VY-VDSQYoU}YVX=($#S(<04FRN8195;0{a1S z8f{jxKsx`QTVVtd#XfO63A2HPQE1_zZxOm9qvS$%zE{kkpM7syWN+)+Qot6J*QUWSQv{zyHn+y8^c3f@X0$YRq2l`2*H4U72lmUNjC| zs4n5TK|F}|!?b;^m>v(x3&(Aku~+G@cL z1&?j!jaI<{xGnPlb19n0L}&I5@NNPJ{1vgaAy#?0m<*%Vd72hkE#C*B7A`JqgMz!P z<5TnK7(y6!a2~-P?|QXe_QY?6m7-A7HR+w19QSt?!-7GONZH@X0>@$X(I__bfF#Ba zG|Gn;9mb+sOdYYJjCiY@lsNjq5Z0LCQ|rl_eadGfBm3H7d>aTd;{#wm4IFV(mf~kgy+v`*h6}h# z#>xnFHRN6G#Mec89F*{!u5=N z)y9*+r+p~kn_^D3GluyN00#@?-oi z!80?63THg!1q^Qw+=MoNR;i-|nzMb;?@az-LNIuv$cRvWD=j{8DFL=|zvXhD^e{kO zxy^aznLBWb+fmVt=L?!g3iQFG24fzF!Y6NxMP5ytye5k44|XqB59qz{yggn&zf*!Zmp#D(hE;S6nrcvLeHz=m^HO zK`lp^X&Lgl2PCB192oV(oMQoiL0|P5S?oC*Wu`NX79JUAFPelHT9{<#vWs=e_67G{@?rSYf@IMzu^Nv+c!6=5#rM`-{- z53sEhM;%J_W93{MGJ~xb;Q~q7S?s%_y_wXbLW95@XETd7H1&KKOw3@S=Mhn2wSl1k zq5I?k5ZaS6K7lgPv$?pV47$ALt)%EUbqV`lJuq`SXM_~KxsV!jQ9{<~Q5Y`KkqCWu*E!nDo9R?h@hu1b^k>-CuKO|t` zDT(dCIAv!KVL!q5eDt}wglOf6hLSD0ncrR{+U#Y6>@^Gp@NKW_81|BIT>ahYF51cV zfeY)S#(Otw6aXlM{vc6un^GR@zf#I`4_4M5^V(-V)u27y)t1Wx_`;I+M`KYohXHi? z;aqiYL2vb$v04hC_oP4v-j&Hl-tr<%uN4=Yo@o0VMUiA(e!k4-5^$c7R^`EG&Pe6C z-(qv+yjMT2ZH$vt*~0^Wchqh1+D~XlOc6O}pk40y9-Pt1^E@pv@R*s7zhqjf*cy9$ zxI95$^3{}sDh=1+!5D}wUO_5NeA?CUsR0Rh>#LEimIA-E*ELZPyzE=1L1Zl1{XDvkNFa=9jOgJV01P}(fT?eFQP66edqqz(_ z32TTVoxIJ)AUNnHWzM{N@obWhN}@vVilIFis;jQx-`za7Q(oX$#4p=98)TEN_hk{x5Idn>?un5CM2Y6=J%b{E~(sePKA&spTR zsf(ynA@ye}$J<)$Za=(R?n4vzA0`6IWB5$McrEWQFYgSfg1p4%v4<`LY{Bq}%^HKW zG{65<6WDJn`KZ?($P!N64JVi^;9jl-M8TV_h~yvoLboz}eSq7|*+E@nTN$8NK=-RnKPA8?MbR zMac5j!DirCXV_{?nIc$xk@ zF#&}x21cx|*RfFL__l(mG*0W-vKkw`u4YWRZRV5cInWQ|iCq^5%=Yn|1ms>}#zq93 z)H_pj()O+&1H`Pmjtyp4Kz}G4oq+Y5IJTWl7`>#zAE$=JRSmEX>j&VqHc_B1gAx%E z7gOoGgt&-VQXFBkYV1*u3iMA+&#V~N&mt(uU6z;M%s`>Maa6D&q7X+I{g$I9Urwh4 zo=TLN90%MkH|QA{l0SjTKixb5mO*!#ru<>&ywK$*DU+`gW2L@MvbaUhlIP3@*V)Wo z#>t%KZATN+Vg_|+Z;sc0$z+NwME;1Af%Yo}4Mu?s-V-@m0idGiZ z;yU9W{$an~ZYZbXJ@f4}InmYayb9%9q10#p2R~Qw;}OAoej%-?oe;&Qlo6q!`-@*R zY49*cz=f7XLHhj$Pr2xY(LwqaS`FC$Z04%>pKgh@vWMPcec0{dhsAejT#$m^^a8s z6W?FP$Cu-cGmvCpalCzcGCDn=8>WE&3{2GSxxnw!oZkXl zVawU#~|->-PFNiAfvOo}|RYldgK z2_51h7w~;g26;sHrFWDRYE=JyyIjKoSlbnLK^k_%Y(maqE5fg-oO;On-ZGT|RyMTaMq=V& z;)jpMwxs#q3Vm;rnDJCBQStz1lEY-+TMqg8nJxWJuGeUS?XZ(JbM{?sO_8IC33}7w zW9g-I7iUX~csL4)-isRc!;y_hg00P@>7VU#otw6TkHfZ@jIL-)$>nh#hx9%%j%736 z5mZ95aN3T0sGbF7LtLn~O=r=cee*J9*Zo| zyOsr?(+FJjdom1tQFt))sWljL^?o<(aNiV)q3gu5-*WtGoTKeg*0}7hht0=QDn+lA z>7zpt!UnGs;L3&ZXCrUJ0<@6vas;(PiMP|1d!RAjWCf#YIbk3HPYxWQ67*$l!ZdC+ zfWNi~@DNuo1MtuG4D1nu-4T;>h7yDx z(y&&h3(?Gk^Z9v&e?yYSJn{0WR-K7Xh3@?OhvDKP`Cs9mSqpqMqQth%6)-c9oq8Jk zSaTL$+sxMjWDR`geL&o{4X!79k!j@i7lVP29T!-6H8-H9@6k}&&zk2)kCY&jegGym z6NXP#&88fCUO4kB!x)LC-7Zr*&V&@+J|qfgP0HXVtHCuEhnO7YbRWh|9rZX;B~8i} z*1y#?&@B7#^D>QOSi4ic&w8M_f&+ICkRtS%Ws#P8g)N74HTzIwPvpvtr9~HBCv>Qc zQ~yRMCu`OlzuwaI*`DC$V$2x3dvUp8ssPs{hB{;6w2kNg5$%Mew#@6ZY%t31>q-4x zIPQRQ!!quGs`o>rc$|57SF&yH3w?+%YEI2}3BjB9n*5u0t8{;SUUvT!ynD~FGk-OH zS@|xHN67sOs;YOITznb!%67thaY_mfVql)Z*C zI1Y<^J&G3G!5UU8Hs*WwdVm1t4WJ<4pP>vE)MDt9#Z5A%!9^ff(}fjYzxJ8UG+!u? zH6gnufWZgrq`Jdg%Acnv*ZsuRTIOIhZ}pR>y3gne{Xj{Z>p+aW)sI~2>p%~k&B&B9 z=$$*+(7r3thO2!M(YiL|vjSU6aNP4tm|t~5ARpc6D5pi(YZXzsP&nvtSyE>@O#X@R@{6u%kfgviWA%$c}ckA#Sr&jWkG|Ik$jdr znxs8pzj?~-H#jxnVcb65cAaQA|5&FS7Wv*xWZd#ESnAdl-$Q;xsPATgL65|_!H4Z?k-!5YwZ`**VdHg z3l;^5mPiKRnD9~8L?a6qSO_ZoB}OXYBmkME(SmMBaH$C~I6v&Xi#K^X zTcFhY%d=m!#(&lj#Qs5xIXigc@<%ZW5ZXlTeN1#xq|?w zKKhGAXbJl}vb;U}T5QEZyu*6B4xI#gT(*NLs zu}PGd8r#e^>0iKkRN)ZVhl#AX#>_)?D{3XC1-1wkud7HrCheY7p;5=Pv!eQ~tU%6v zVv{t-IT?!+MsDRrEt?I)u7Rl{pjm9othBH9#>T_K;IJbf68~9h5zaW=N{HEPP_W?~ z@8^UMg8U5%Xr5?89bTRwxFbN_K7c|3Qlc3}`kSx>bSjf88{cpWo3rSA=Vm3IkEXq4 zI-3|I)^^(TY-PLQs_-7vv!RhmT1I;c1n@x9<-5~xRYjbgKoOgRKwC&X_%m-(8CV4u zk5GL>HA39@@dQci*QtQ|z=}u7@08!OeH?N2**Bu?{TTr%{eN@1l5TRi9qsPS6x&~G zq4ni}JptFqP&Fxra)ysZpoyM;VaEx4Sa0z#$24$v7@+du-{Y7s$vBd>;90v6v(&c9o;eR1>F9e7{rl$2^mP$`1MorYVCtMfuu65|2G_rd6+}YNkcXPO+gTV8^f!Sz0gi* zb0lNujxc4bujGmiW2{v4X8vF3p}zd)yYS%m=aR2JD1)mCmcV5)tv2mevYGa-(R$V> zGuiBDri@Uu`JbdYNWZy#(A|TeEqu38|Az3Tfg1*fsEH!U@+*JkKP5%nVdn`Hl3Xa& zi_4JnM**Oc@osc0_H|mB!oN?(SR_ZCF#RQY;M~sX9|BHEdT|B#3Fw36;|BKJo{=^`^edo^) zu!h0_Q%ISpJT{(L?Wne`F|-BSDq@t^On#LU*n3@|wlCo9_ z8TIQrxKW*8u4O#Hz^3m}RQdH*k9B=CKhTpLfpYSIkYKWTt|ZMF1U!q&g=aQQ3> z6v*QuE^i9gB`u0S4rGF?ZMx|zr)-edgyz5hLp1-%d%4@NZVx1>nSBbVJkD z;Ojw|xO(81qR*D8oDwxzN$NGjO%wSG8(_cvi!8%({z5(2U~lVl3q&)=l5sjEFWv1t ztGh&xAHa&9^1X={w*5F4Hm6ZcOC2VraQ4ubQDgPcUOS$DMs;$t&^UInxQh{7!Oxi) zvKsqF!MNU)WTc(QS1d`>pR!63Di(vI!|sxSpR)VWP$gP4p+G~*K=1}yP|(n`0bfpBdC%wHM(l&2P+;vjtsw0t#RhXm+oisq#5YBWJsH@F?An& zzUcDfKhpPQ@KLfb;ptupvzNZg_<+T=Pv8@+{X&lqb8U*DNn99tRw2>2@cZ9v!-UqdUD_^lA=pnpK;_U7hx>Cz0Pz`S8B? zZohfFuBk}I6l!=_yfng1F8Yps+82ssURqjFf`0o{l#imYu8 zbu5Bv!UQ&DCVUq)hzM>p%#ebld-=_8(}U|k0aHAv%Xx#VuL>lc?tU}l+UC_(rHoeF zFUL>9qmky>;igHc!lL)#vHE;MRWEK$9U$cE;5b)MdT zSC@a#HFygcr1!rIbHAK7Z8aC%u2OrQSfz1I(ObVWEss69WM3e2d(wD1sNu5MX-Ytfv?l*jyOcY1d` z%hL=HHE$A#Q9qBa10$>+11!6^dA&%6JhfflU;n>gPO%Qgy~10tsm}B>9kuh$IG&TI zq3V&m=YBjUJN-_%LQpN-wO}FtU_`CE6vpSv-_uJp4~Gp_0n5urqjNFL3i4wj7Sf)Z zB^Jhntu*GH%g95)w5N|NX+&OA0!&+=Upqtg<(y6jmacRPsYo8rANHmLB&%f~Pa5z@ zf|QF`a^K+%FEhly&A%v}Oth!F<=}NRAwz@NePU<$E02r$O(Z%NTF?{8h5Ghc!=b&v z28%D8!5Fenuob;l9<9=RI~~3Bf2!_WN;jLQ_tEbjpSKKe7nPFqc><}8$ppLNO;gC{ z-T5R#jVtB{OlTa8v;uX_&@C^r z<-$|caDFj2nl~Ul&lY6@3z_gi1%yQqY_5a_K(TVmpcDqMy#+KR20?c!fI0p8qPMhs za9%X!F8qvL9u!EOvCY1*2!h6M0K8lib-u+1KP<2XG0B;s20B1ojv2nGpeC0-3){mC zC5ru8(70UC1>bgVWA^l5!npH9<4e~bh~Azz!IzByWJ|>MNF+*lxtVQQx_sCdy#E+A z@RSw1idT0BPO_OZ7Ch^z?Uhm7!G-+2NPS17hKyVwHFng@mJ424=IXXO{sSDVn!9WSXO2}TwK0fuHaFA1t283rLf7FK+Xat}epEl~aIN0zhzT^BG zeCEWmVu(#ih$&?+_*GHAE~jUNVn+ll#mWZoQ-4(2GkugTMPn8IK*MFvv+oATI@Iea znF*+uHvkCragVA2oknp+zbt9TqK`)fd$&}9qmh^G$&0-VHKOC`_(R% z)#XpK{)!ozVPpj1y~mLgu?;@9kkh-Hpnq_jB7lwk1&F^b0(%og$*3bagcexW#Xk5T z|D^#+wje~A4b{9VY5`4jfEZWZUEiL-U6ZaOo~R~*KiXbw=%5&pDIT*%j&Nv(ozN%Y zi)VLeExr}sJ|A%XQ_t$3;VyRv89neif_?K3LL~Ez3p5EP2L<$qAM0lOkFN9@cAUV0 zoKHj<084ArpFFjL{s7oylM5HE3`uKZC!Y0V(aRxozTH=FgaQZVpv(`|dkN)L)y-sA zTDrBw@d7J6MdE~16?(Fk#=P2T_pTk!H))bjV9v>O$dPb~#SJgNv#SsU;sipC$DgtX zZ1st{G4rj&5*-Y}TR^)=MCDc8?Lk94JO#hrXWY+pUsOwn>jhFh+5*n$?w-Q$y+sXs>Kh)C+!!{=&Iw_XEZPYgdAj zuMTJai^}L(d3-On?yugIpHWWjC~~bzKS}v6fti}8tHjkLihyQ4JA?NomBVGZRMprO z2Bg?EW-D-?T7CVZm<#g>_Kl!3>P0Uqh+-+#m!2!I$i}(aiX@T?P;thP4xK|vy0nO# z5-ppyfwly44^|>y8$TdndU-LBI<0(e92-2`yI^-A9u^-lLhRsdJ-1l-aHdZ`x9}{B=*k?S-)G zO&qP4+~9fIPrYFX0{7)d{pKt@!$zqm3XybiZ=v5#uG~lTCh8kyE5bZ+7<~zUBUb0)Qs*R}>oicVJ|`=E5%Zpx;mYbP`3WZKMVB1Jw`I(4s&lL3}0!$qGBW_M+D+%Sdcq$6Rr zk_ekVR|c}9&z058&%Yukt46Mm#c=_>%53*r^687A)>=L>dj@@feh^Qf!@N=(kL3;Q zqj}+F47Ig1r%@m7;0jf+r}+N5y&yan`SQ7rbzU_wU&*8T*dxn9L@DM}lcUPx7|F-u z-KF)ny%2owx7(@5y52AL;`>5&j7=AvZ}x8Al?}DucExDe5#oLkFX%=!LiHICB)^W6 zSMT-hy^+2`r1Ub*gB~JiIWwX$zQmBZ$t#IrUZw@b4sjX$v1Nh|PpI@M>~JKJ{GRh4 z<Z&&fvBco9URMlh97Sv}S+KmR9*N}r zf&JtWe&x|Q&9?`9A_ZmzPb>p+(FEhTtnBxZKo6o(xWVGO2_g33&;;0435SVU_1(Kk zY_tHz??pxGK$xDvZKVeMT?*0sgUF|0{7|tm5NGliAF`t^vl5qU5?Bs_|BJo7J*YB$ zhoOn+VnYAbyM+n!cUy%sa6Ltax{V@;x7}m9f2#8!0fi2XLNp%a#*VZE8I;=ZL)r+v zaTwS2dHuYmKYu|q#zaC8gd8BwP<{Iga^h4mPy~8t?UFm~RU!dO%GcK{s9`>8Y9p!K zcwxAkyk6q!BG&R*O2_a{$^M1C@StclyEKt+#TaM&64bW^iU26|qvle7-QBgAyqTW{ zzBY1zglKws5Qo@$^pfzC?wfM=C`LCb%ihfrO-xeW(M++Rm>6t!BQFn`W@E>Z6od)K zo+L_3(=HKEKVU7H5$DdOnd^PZ1|s}cmxzhv8p~_hcy^1B`OM4D2vxM8Ec9fg5FaR$ zyY-p8P@PSx{xps1L)y!6xpCxi%Fl5;N*~XEcaztEYR-7@9;_uF{n)B#?=Yil3YrF3 zEewU^-EljPWHw2FfLQ&7ug~rMMF&*za-e`}@v=7WXbq4aww0g4-8N@Gvy!&}! zsgU83-gkJ&$jiJqe4nNRuU`VKsRixhb8y4tDkbX5T1unfrB?~O0>j|X9Re4U=nAL@ zGaJxfI+?8|517KbOfSUGQktH!fsv?AO|AoTchUNvNA?;fi?(MPwoBAx$dmJTfmO2h-{ndYk{`d-=YP+nP^F-F>$(pUZ4S z)u+?WxYFi_Wg3A|BXfB)s-k}p7S`}(AaAQ?v1`cg=O9#Yp>3Q=~9 zFoaovI}GY7n9YlVUTK6S$uq9f0yVFF_FvBsGuu~dZ{{{{b`F|TU2|<(n z({)NPsIs<5?fUNdNW2cpaJaEPb*Di(r^AWDt@Zf7{bJK=WxjIOxg4bt$XUl`0jeWI z4Gfsn+4}w>C=xs)RD}k@?3HgT*xlY#ZoY13O+{^y#-qbL%i*dp-bZ*Do@1O*Asno0 z-zHh`$qXpu!1S7ljs6x^Z2*K~EuDUxRXDp;s1}4kkO1*36AjlDLaQQ7CDM=ZtD3R! z6N~*+`dW#=Wq=W?>=qVW(f8(d=i=Dm2_z z#>>fQ6ory8DFR}h2YvpQS-c%yFtRbTn&D*evqzQBO}NWXv18cvU0C#GmAbc82Ojbg z+~jO%s(u(0gpOQMiyj24Z%&%@C#C!p1}sOCFnIUx;>F1bfXD2I)$t^@+`kHQ(spxWqeZ` zgm`HITkj|7uD99K_9y5qQ4N8^_nhjagw>oAlbA4^n!N%i%fLL4hdZ*v^I^)a0_~8n z>q;NSGGB_~&CKTtn1rr5uaUQg8;LRr5tu zry@PP*~g& z@D>_~PNl*PdRNelXO`LvQylOvyx5|uqP@{mo_oa6kyavD%}Zz)1pgw5Tk!-XcxeEc zHuE!4x1;2%VZT$7auc5Ql^pf$8K;7P_;EEt5VH!2{cWFg?WzCdT@ssZq8$nW)m_g-035d*WQuVO`=_Rz!$h3@a69 zuxZ&6Fa@Ix;6*m?cV{&SMB zZQRDsQ<>({X263T(O<)p1~rk-4k;jD3GU$1Gq;Mmc#;&m_!{9O>Ovnj;{WLG0#8=( zQClPhdbQXLF;>KW(v-#I9SImQvue6-zi)#LHTu&YTbC@0{V)Vxq3ux=TN3wng;(;O z>&q29$>&DjWlF@b({e@zH0_jJlQV6;yoEVPVa-;0$;6Qw3mV07CQ~owNAA)!pb76Z z5vWzq_GgC_t9+8MMj~7TWB9duvu8l)5}f6xU={ViBuXLrCls06PRX$l^@~t;seoTU zc$i|{R#o@vOb`aFoPXO5ZM*ZdGr2y~VAUFstO#6*IvS%>zLgv;C)OW{%qOQilx$0G zj~b_%VUeS^rIF-F7<(a0h^?Z-4~HwwGcH-7>WUBwYA3O-Fx(g1qxpMc4{g6!f^tiZ zB>sSxfOpE30SD9D85?6KGh|oGm1G&z03ME`j>9M10A(TS$+Qs^b5XUCWeVa0C7Joe z6o6v2;#ZqvE>eN3@~uG&;j4_j1AD$c8wR~l_28{4X96ms+n7do->e-}ZSFuy7Fsh}M z#riN6B#A>4)5=5A0@M}V{B>_4XB|o-IVeI^oDW;7pULEB{zXDL(4R5*OKiCm@&Y?w zb^r#l@^ffKWJ`Iau^U|4G=J1$Fw{87^^4AN{I4-{*ic8`UVzE1+`nf~qN$vu7Ei<= z^D;S=cev0Kk?iE_06Ww*1#E&81387V40-p-T_}V=JlH!KL|d5r9MAD{os^Qaf=*C< zU@QsHb@mri34b?Xt1_o5MCMRU!$D@EYsEBSlI*8~Tn!eV>XQj-lb8s{^5IpeS?;$J z)Kpsxz=}@Q0)DXAEE=cJ^$`_kW5S$6`*R1&WR0ODPL+Z=m`t&7er4(M^)6Tlwh6xF zf<>lo5z_1mFtj1#byz=IX}>FBAL^NpJ|%r64$NtCKWq|m+oUP6i9W<88&6`jFqf#i z1)7YGYnYYTo5D(b=bL(ltl#-Gn0#v0O$yjhDCkP>98!`Qv*VZQ9%YvfS z-;yIq`QP;;Fp}A`(rvCXDhAx1tr@9(ScQ>6vI1Ul4X9brdZVVhh>3gVvpAM$L(I*rUvUYhp zTnXTp{%@26ETgJGArYVnj$6l#q8~huM%-N)5-%ImgO?RO+n(53Pbkr-wpqxLRAz6~B zY4+_dGu_x(ZTijk;+a_$%g{%G@(yQ(Jv8NbvsQR zoo2vc0yYh?CbykTZxC_@SHVQ7{xeeNy7W*^jw5hz+r?gEw*KgCcs}k^_>mG>=*I3e z*f1W9Ifuov&Toy^IuW7^>?VOAQG+I%^?|SFEAiR{E9K^>WCO3UG7rHh~aergS1;rzHG7lp)~jajDyvw z>AY_bdMvoXGc}hj{6dSfO`fhAuVBAPNn<(qQHaqLt+H29-rLCh2u5Cc8w)L52glfx z(De9lYno>N^f8{l01lY!e9N!4VRBNMVg++Wv)o7$h{|fGnlKy!mwK!h>d)Ik`|aj@ z(t$QDsj}$`{{>mmTUaps>Mc4ofopDlXX~9Kxx7;%3DG5;aadvUYY16?F7eo9=n{js;_`>~74p%k2UHpLJzc?)T?0W|YK z&Z;xZu?AP$nZlot-yga{yFgWlZm$RW`0%YS&VPg!9t%-mLG9;W@7we4tY}Qoetpl+ zH-SwW{suEKzL;bJYW0kW9()YcnXtJAcJFF7$1*tn4{2us6j#^u`N3U+yGwBQ1PvA- zSa4@>mjJ;fxCD2X-~@LI!Gn8(y9aj$W-rhC?)UCjwOh5dJC&;3O2MS>x#ynK-KYEa zXBY=*aq~@g{5p#yMyyZ^^WvKOzhh?ZBKyhMmX4Me#Sw_=QVMQMPwKNbU|Kv5E-g0O z0>y123(Aj}f3tJ9=K2Sf@unsKX6H@Vr9H?jPsH4ZJ|Qh?8nxqar?FJ z_U@vG1fX@Kx7n6s8I9n*5BQ`i7p;3a;4x(%f;RfA6|`j+LMh!YB_&8k@@#?g@je$H zdcd;kMAdI%DMVI7NE<5pYoV*?K<2Zs1ti=~tF%SDHog$Xp3V)XJDxN8erdg?lZUa~ z)z5bv3dK)u=d|^P{>Qmd{EiPT7iT>yxyMDhv|(7!&a35O9Ubp6oL-I;h|iCI*M3Q$ z^f?PGmqX$u9V-hW0%QzX?G+F%m`9f!yQ_j4Ozp#)OixBP`=iFI{xYsy0!f808;&~0G6one@B9vEz&A0 zLUtF}q+~YwNV}fT8U{6vv8vG>?tHVEQT4?k7w^Qi)Qa}HYR|k2S=jQGqpe>{o#|}= z>wmWY^ZoyuAm71k87@`>l~^sHQ{}7onmFDM2h$d-mCFW0Vc=_S=O^Q;nl!;FkrOE>@azBx^1Mi`1&fsW)(WIPo_(wikbpF@ZrFIAR`A!+PS{AEx&>^t!yV|83*4hg_%OWDmPOr%{-N7E!{Y{qEyhdeO(-;flwB z!xbGaukU(;$8R2!Z@p{=DA`+n+!Ls>ps&X)5T@P6=%h8rt8z7V6zxyeH*%h`DWnH^ zfJat+O7xn$cv7oYT>(MHt*{Sxl=v85q3g?a>g^4}pYM>B);c^dg>2{f?7TWwdT?5} z@CPZWt^v|cu++p8Is<|L;vx0bJI(h$L!-%vteZ@;Mcg(?CQ|Z^_}#$`3^+*}ZgKEH zx1oUj;`ZLa>hr|(Srp=OTI3d1oR{~_VSoOfA7WwQGat4nP$)BzqnpnV#U z&XaJk1GeM_eXC4!VNMy3bfoL>YUPldJyo9{$W|=@QWKRx2$E~*kU!6Q~sGk#ag05Ez zGSpX4`?M8%|C7EIV?56Ge(VdDN+^e^OEu>3gbs1gfXnU}6cWZmP2JoFXI+?;FZ6=d zo9ubwcU*l({TJu@;_DO^M#JItbEZD$1ECiYh4^`NTYw>(MJI(r;x~3IVv0?AF#p_f)e}JFKLjU=wk8kkY@>v5f}qT{>{I8J|nUV}VZCal7h0%V+nS z6B7`-8+V9SR0OJR83C9ZEn^L}`Zvf(G;ss1W1bR87)DAiZUB@-7hk~DEKRkXZ*W}8@vsJPnjiCkTN_Cr0kUEM ztyNx~514l3_~g$3&5lXRvvWxpU{ud+%z*10*F+Bsp32J03+&@po9s!+lgMDir(ai? z-*NKD50&?snNHoUd6%4sd`j}OcynFUb#T~QrN`uY;<=ZYt6lp5$KG(~-Ub`HQRjE> zSc)R=D<_+iv^OCyxAYX3S`g>{d2}BrZN8_KiF4da=iAHjWE3%&4ac1!Tv|8a13z~$+-;RD>)pO2~%OEjI3mF9!I z?eMnPRID;eZP}9!A+90t%5am8+lI5jjAC_wP=UHie{pTPJ@$T?^zlbB^hxhck z)P*W;vnYo{tz5dwq`c0Wb22fp?xTmM&4$dPU|ux^uG*+({G4h>CBnZ(4k z0u1NXcezP4cP9ePaP?G#ji1j=T@;QRhCZpuvE3p{6((JjSgY@WC#_l9Jx&>rWO8EB z>4kVMTsx#y{A!pVA_K>RCcsD<5xrOR~1mkMqI!zhY}haIOv1sw~N-%nw!J-O>1dt*YV2(L4d zD5;wJK13-phRnJ+a`L`s@^5qVaDQw&H}by}gHr$7lzJt6{EmKM#h|qXVdZ6>RX9MZ z(s!7&|f82?Tw=sQ<)kRLoKiUp9`!#o1254O6EZP0CwDEdp`N zr0D)ptXV!F8?4O(WW--{a9EBlaOq^e@MC>ai6nwT_c=j}S3qETA8w_5_x{^;nhFQ0 z2)Bt(LiB&&vB6cphg1u%I!#lk(PVV0(y(|CXe(fc`wM#ht)ThvXas$+!@Aouj?bta z9i^4vZ5$a+NF@rl-mJr)j`SM|BmX!4ec{kf4`$olBzA+7)<@Y&Yq1qAW)za^(dd#p zcCMg*vus1qb}u`f8yJ1QO?xTsf426+G5dK(M~v@te^|lfNbw;%*x&Z3o%(VRK-vO| zpF3g*rvpPci*W4WE%#qqiA=RsV!9Ctr4_WT36fx!Q0GT%3|$)1GY=3Rx2vvY?3 z1h7uFdR^Oe2@c)5xgAW0R2#U!sA_690W0Kplr0xt-kQ3)1f+!I4Oasn;-tw`s^Jrr zp=QhY{td$*GUaZ+r}qj9LUeoEo;lGzIIXQJK>2JLEfKce&dwSk4;ICRnzbebiH+%Pv@*lhrC7!nbr;euHgN&DGHOrln&3A$r|2NR-U`L-A4$KQ* zgM~HD_!pzje@J0gO}1Un0nkhHi(xrT{8#r@kZKPxFaU-m9D-Vh&e0v)oGZAxor;Bnf0?)Z zQMD&*VnJ#+arnaP-II$&AY=0WfzM-+-amSunV*)%nAx3d08!5kODS=IN`fW9M9<#PEe9bHu0MG}0Y0Lajw*F;GZ7m|cEAgbJ2MIvax zgChTO+Fpc+M*@%L2vA5vbfM>EKFNlL>wy^XCf|>k!;5D3s#W{70?art4BQI8D)QIF zMPYWcuoHhWZ@tMk1zkk6-FwR`OH44@Mk+sDNmT^5s-$_89d>9)X`9FZ=Z+ve^hJx> zn)MD=cq+;=qwZ`^a6f90uJ41b+|s_z?sJ;#FYPMGs-bM9VdulN0>_RQ&=e`5Z1N3# zS-z72dwGO-epc;nGl~O%PA-(?H7C?M$`r8ko3MWV2*@#~c08@SD9q)=my(^RRCk=o)7m{0?p7hxiNdS&nq|yQC z?7)ItVsjf!CXf>~0|n3p6YZH5Nc3(w!Q+`gL{025Kw}cf2+)lKBx&+@ z5?0ZhUd9^eW&ok0-{_&J&H>%hw=dZ&p%F`S!J-r{Wk#T7ou`ALlq&Sba5;mJ9B3A& z`tefi)dg;2sj8w2o2?U~Z2>y{uQGXCKhCm}TjcNn(3@A2{dBBOK#30MHC@sipe5o8 z$dBRyUkvU^kz&YP(%~!2+U7e}&#Rz*L0q7ucVQc0-8$c#?yN6ivlP0(F>!fd>mw`;D z*$^huH@<0Oxh5RtDiZowG6bj&2Q;{9hcnZ^rK+BPKaY)MmPtAJ>xW17A#m_7^~C;l zoqdJ-&6kKjNAf>m0TpnNcvU{a1IE3qh7q=D0d{@xo%XdE>`oIMaL9=PqI%-R*)*en zTS~B*DcO(+D21q#5Fd(PA zeFBZg(Le^W8BplhZk8h?Buvcv4wP@O^B)NSF_#0GkP=9otu!I`bn#sdmMzmesbu&0 zxHYs|MZ@+ErPbC6&0}Y3hvc6{jo3UPLsPbQfYQt3^^t4^JR9Ni^t6Nup>-%BuDVre zbd=j$v~g_V19|aO1Yj*tfm#(m8?oHM_PwIsmD{ig!_G_ssPGhKt@|Hp1RcvM4O*m@AX;uS7H;{ zS|)02c&|p-+;MpR+Gb>AWaj7}JNjIxMGK2CI`N=mN00}wq>tV()dTW*<(st>HsBoq z#Z~jFLaXs1Y;H;+R@5O;R=uUJ$`M#*B}tJR*I0EbjeEF%a_IU( z)LN|B0b-aU?Jpbo%D4?~kT~;4wDTMY`~qm9R{co~(`(mPFI@J?K5I7^dktsPKNyfA z4gh+qEbV+CKE5lB4m$+O%5%5622Rp`GW_0@%{T4h5G~eOkd7^u z{4+>%`|AZRZ{3I8)sA`f8Y{Yj4{Rj#7Y!aiN(2P(3Q`j&mYKzzInf&&qVWs#rKz4A zMmzCziFwcq|2MQxl#>4g?Q{I29Y8c}T5L573n~(ne-gtV0%H)Era^{k!}TS{2{vK2 zl-JT>E@G=7qV(KKlN^z1h!?km68$=`Q8Isj6vQ)5CO#Oi-&f7VIAYvFH0~_+(c;l| zN@Tjr3eY9GiQn%C2ny^DPI?n+3bK-kJZ_dLeB@peycnNgf9l?0mP=VJ9L#Ml=y=oZ zr#ivP*6)?!IYif}KAp*M@t5OIrR_FC$QtsV1;k@#t+|^+YXXXVo>%LqNMPE9-8`ba zNx|6Hdy&|pjNv>+BXhST_yz&Y;0i+!lNBIMTQv#(BOi{)T$f)0X}owMI*-E^OQAH| zvM9jz*W`v-3K7)$VD9Jhscqw0qOcB!T-P%(fc|#st_v9~{XYtbwoz%WdbUK=jMl`in##7;9 zU6MgLO@ydZ>eBpc@g7IG{t2f&e(Zf(JCPfqic9Jj^(MXI>hZN(V(8`703Z&yf&A5L z_H+{UP==nq?;5kw3QL(g0KH#pyRz)E;PF}bd&PT(iJ-M*&9{D^tW{6-R@W~fJF!(+ z4{5d%VAIrB$euz0n%ULTIqsrZ>?GMn+yfn-B`)nh+ugOsR>rEBBUIH*=-8;11^Qf<8GVrDtPra6F8}iU3$lj(O^8S{?;`q_nFgX|gQ5nCVOTsTrT29J67t&I9 ztML&_emrLCG)=8+Q{YRw$HJ^%ds+SVL7C}s_({Rzoz4Z#yZ)cv3vaePw1!gBv8q%F zSuA2s*|p{XQlz>5d31{?o5E4N2Sw+t(9~A@TCASBN7q>lCM4(hB3)!(>mjg*?E3zE z8m^pfAoB`w_Mkx8lDOLT@U0s&a$=xJDGr|xS2|X` zHhu6@rdBNALW*fBc4~JCbsD~*U66aiyxA;c(M)no-So^>Oy$P^Xss;M2~j$5aJ2m!*#-HKLNv*i?;#E7fR;PEN z#x=kq9Ug@&LHsGV^(HwwC-Zg{pV%%xlZ4$hSEN&I+%$iGnwXqDq0Gns4Zcn~eYPa< zPc(Ezy)BU9&u@Gbxp1hT2_~W`NGu#TQs`en*MxgYWZDTiG2ei|4RT*3&jv~XrEqPE zH3gU=fK>t3YDX6)DQo2p9gihpG>x_NXlW7>Nb1l?{7 zeeQ2H|1^LXZMmvk@~VYP%v4}ob6MmkinWGsX%f%GzIua$%(4PP;ogieN&7zMGqI3d zf#&|F$s3mXf~nZ<=B7%^Ujp0QK?Y~lgLnNio?#`cIEPumn#~u3+aekz+a-Ql zuhHAEUT0igYa1MMhoJ|Zv7j$L(;Ky157%Yf_FQD2;|kZFpO?k1^3H$8wG(&rh`K+7 zlgQkS!o;z3%l6khesaz>?e2I=nE;dHn8x~iu{C!e#=r4mxTY4io(;oUk}7k71qM*@;xje&@M{+FFIJ5B{!Pkqe9xmnm@$9OZKKol zCV{Q4?-o`1uk-4;L-`Iy>xJE$HH1fiHwt-Nk6$8c7iqjoKgwxsjCEZbV(E3zvV4jm z)wAC`v|)GsT+qCsN@V(&s;CG3{Yyb;>-}U6mMI~X{#Dmbx-2*Zx-SsJAzaGBfHwEYW;rEd$lxt`o3V)_`W$Vi*rMLU}al091XiS?LU6)$H7Yp z<2>RB2l0kMk~dga{h?35IaC(Xd=9pe&|tGeUnk4A+t!7VIakQtIZwaU{mDY|k+AD> zzxqM5YL~+9M%%#9{g>)2IGxQG7ACiwVVtAoaHOxSVHt1uh3T?_;2O!v1G|ZzO@+AR z1ON`ouw^y$yWauQ|M-9_T1?`1Ks&~UM)Dy_2Eg69cbDKqA(kR_(D-Vk0UEbC5bJ81 z{`w0?Hnx+vT&H-h=lco&=>iFsFZcAx@V3mxfIKeX8|e|i@9|lrW(Kh1w$wsk(O8CX zaz;$+Ch4@$xMV-z`@>bcfaxXQ(4GoLgyk+WhhsHbnDjVAYYCuQD-~&e5B`d>Mc3Hs z1QvpeLL6d_+8M;Y&~k=%P458rc=4PUU~4fSaB7B&-T5up>rx5Kmnc(S>h(6Vxe|OO zB6CqFtTg;(WnvwAnCxPr@vtF60a8h|{{G_n+U}BgKC$7e8&pH(Py>XA5H1*MICBFo z6FOLOSF6(Xsry_d8xp(%AZfjdy0x%CTo&LZZ{I~G-^;*iTplX7+;dXOK&9ynthp>;7eEh2FaIAJOFa6awQc85iRuc{gqH^xYGE9Lwo`#x? zicEd{IVCVW3hK-W5FAoWX0|yFIjW-d%25~hcWrS;#gT434h(UoPfGSw$uL?cVamG> z;C*mwTS+_p45)wQaY&i^gT(Cn5+e37UVF@ASllk%fF3v%#K2UMY0uL&}?REv5RgEVt;B_%`aEsE5^|&=+lWtGE zzsKK7%BAT8M9M6NmJFyIsR}p4c9zzfgIhGh5zED5?y9h~xj;i0z1w@5N#(D@DF;@6 z!Vm%_`Qn}1bocRpj8dBCMVX*|)-l+6+k?nYvR!|&nI;02;wX`M<-&6$8#JXl^Baq@ zS&QdxnD6bAMFkYJ9fr|YWPV*}pTGtsWG#3AiHW*j*!TC34Jz5kG0BMQo(lPHRA&wsyw5M`i(DY2{U=F5m=;yMQ(AdFd)#PK`5q+RbU@#?78A<@X@>OX=}WP| z<%@NwGy@Wa6+hUxVSvB|_)HHPQ$JJN|8c#j4iQKGCxa3f-4zAoPx8V#!j2V~VNr$? zNO`md0_y!)M@@gC0)1Kp-Tggy=wYCMtSR{?%3z=d1_To7o#8(yq6b8qAd-6Iu%Lht zLmKTgfjF+pG4y;X1#Rlw|Pz|7EfK(QSCS3rs9x)Ay0D)g156fGi#+%HG0S5FV#(Rp&J`_lx z0jKVOb*DAQcww5hq0wb9pn&*_5IEaxv!1k0O~S4824wXufXV%0pg8+K86OFoO9tT9 z>J&+qwf}0p1*FI*Sj#}5sP#q~m+ z`41X`fpK8^ZBSbyNuUb{3K-BQqlrgG%bp6_n0(LeCp8VAE?&OpU#0>VL-Zyq+HK<_ z_u2bfoB(xX)-@;<`9&u!KvD5VLxO|o7xw$#+z2KrUgL;dx zJu#>!#s2WWU@P17SJ9g9Hwjlg)_lhk#V8Dk!+~S_n}eAWIn%GE5^OuIp8-kW1p^QA zTdyE#pvk)D3zleU5~2U&(i(8Y5oM5+l%%4-f{0?MEV!+S_RF<2zFxSWRj}|fxQs7H zKCx}E-OcJGl!cF#D9p9tQbfyM?8Vv#k@6}OheQoK$)Y0yY z)&NHu};a$4)jix+@ODOnJO6j z$^kt`Z5^XG_g?*Q`%C!qG>*`9uentBC4@v)^v$l>Tq=feuBT_1mQjTY*3RL=a~rt# z0V~$IVXN0I`#aHG1wbjpa+Lrbz;aqeJ>t3jAl6y3 z(?XcbSMvE-N@RDL|6~7m7(VoztLV#lhqKa()HU};H-?p*lw0ryt5CYI5=XnO#hld7 z>@G&l{)zZ~6~i~Ao2M4uHA2)atA>Iyk^7pw%c}185q900W7YgbINBu$YbVY!Q50YdxU3KQ8ew zXYqUT)CHku8)}SW?i~SpD<>2 z9d?8%>{vxEvn=WuG7;bBd`}ByS&Ny@ocvPzurB4M$>WL!UHNpU*P*~W(n6UsY;axx zPziHSS-f4%q-$}Sx~G|SJ5oOGdF7D4-{JhVGrQRB`dIJ#K}|B^$nD%o zA|Vx>$?D>~QH_OLiFa~Tx92$c!f=n^-5BCyFL9u%g+3&tF8t>%2RXrvO1&=!=~HiXvg-MDVtBW zb0?|VbR;FX4N4nPRa!wx`t0w$2WzLJv3u+H8tavhNjW#ZG>I-9fvJofy##q$4-LLj zpK)4b0SdoHVc9x*ejgF#U0UDo0WR8CW9U`5KJe+BA-Fx934#0K-w?N{LwDzR8)mgN zL%1j3usM1>dqZ!Z9@>u@Z-u@8`rZiLJ|?q2ulf5v>e;T<-ySwj2>E(XBsvOSC#kPO z`Y;4mJeK$-#Kz|5@M@){nq}bic**Rhv|R|yC2DR52r?dY(yuSe@mJTToao?cS!IpM+s3{VzxhM>Y5)M6?AfKzCCo#VKKg6pXkU~((Ll} zUx-JQ?m$}OHq;Ta6Yt;bm*QtS*nNK}tg9u$o;1#{K)GW@PC{)rHTk=s_Urls=+kTA z*ARC>JAtNkvO8v(es7A0uoI)$ha<>4Fu&D;*Ygx;ZbLlz*j68_0%nh^CJ$~V`@ z{&)WVgQVqQhEJZJgk?#U5I&pY6+t;2>fGTQ%`5*ZxW5Ran z9p1Mm9$lB&8ZXZh9gJf2q}AJfUFC=XopYjry0=i}BjW|8Xeu@>QtR59iV`1oa-{jOhNyS7{LdlkW)nzYQjozBmd2WNWEuGTIee#xl+b&PINH7rLz+ODvGZ} z)@?(UAvQ}|$ln3fkKVya2PGIlw}?&X}PuA_q2LeyhN@6~>H+{x9;$$-JH4Y{dUwHDG1 z3pF7ksl?KkGNY$0nnUWy?G{yEfS6!*Wb67P=(?!MOjuN+*r-;o=I z6_8U`!TBFF&3vB~U-rFSvCQ$bFkpy&qGb%_GIx>{u)+Tu9(s3dDHf$ik#Pi?+yqMa zJa<@(hWnG)6xqw(WWib-oo+Tu15@S8yg#uu&?W-edAwk`i-6Gh1(~7bPtg?hveRV1 zR=J1I0}mv{Qo#NBeor9Kgvb@v!=Z4#z;{Yl#UD^UKkg=_#S(*@0aDp;JfUnPp|$Y( zF2nRAwE!ZH2!{1*Ok^+F@KuNj5n^~1J}@9?zvSA1(Tj%vY%}Z4>i;Eq)w_pI$qpEf zNI&&*9VSid`Ug(VGlAq)2OvA$eBjT5Zg_q ziE6(FNjvo$bG)h=)3*?ucLyuZ`T(G3@bq(|he_o34DXwvXM^>ku{)85Ce;MSpj4|DbeQ?f$5_I zDOn7V`^U{c9keci1FW!*`bFp25|Laryr3FsV{}i0!owBP+6%T$tGFa zSHUJLA~;n$fs}TL(0%Qs<{akG+tYezSgz06>FJ`|TED;J?GAMN%fx->p)bVX*63#B zK|M&x5%Q7zv<=EK=nIK;DBs*&c}Du~GdKc=^zP5qfU-}&j&7}-;NS?Z*%Rb0qrLq0 zhNYG1joa8WrJ;|!#!=vrSd-dVgT>B~KPr~G@1I+-hjLP1L>z2LH(zhWtf2sK$l5mNWIJIu$Zy4dM&x)#UakfTR3BEZxt^9h zcaZGn7m{Slrgf{mofs*;evoC#PGQUYw) zN*$g-q(-;r{)S@DC(z-iX6RXAx1pHThE9r+-4AjjF`tNhWD4vOLtXPRxaV{448|dw zC&3MmRj5Ek>Z>aK*dMzdPwr2_kz!gW-*d)TzP^3JZN8M< z$kMwGn`rO;rEJbm;XCfwU5F#W-}$Tr#iK8WD{sck;0Rg&dvH+5F*QsJOxW`%@oaVH&r7I_T4xhzKVpgf~|@;wVLkK`R!mw z{DWr(<$`be^_Z5v?H$?U%`Qs^mi`3(j~=1Cov(wD=kb);j}e)f*e!zsj{9O)i3W^W z&kqZ^&*c@4i%*0LYwD&^2n&Y9-E>@2!g5XkH{sd0Q;1B&TsEuX~O9!ayi zpsH2pF?Qe<%21O}KL{}Nc%$V_+H1}8yc{0KMk;RWh)>s^8e@;JK;n%ze)eO{7PYg> z!?Da~rPqHSR-9w}#YstH{TBT1h76$RX!^R6g9}l^o&Hy10&}skCEbV0qGutn3i8)U zP^qV2a^Ys1M*ZyZ=M^L9(|#Ccp6+{ppX)O_4uGhM^V{7E;Ic5Fzm&^&b zoc970PbXr}znsUyK-UYh6&~GMHsB*9_s%xY(W-e$KWdLy4-k)xs1-jNXM|X6-z~saFu3 zEQyRaJokP}|5fn}5$y7=*_Exm?%0D6cA0aIVu9}uTBv@vO#ur%Fip{bY5M!_xPF44 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 W?^k`|{r8=Ja=8&HE_Vna%>M!On)`?V literal 0 HcmV?d00001 diff --git a/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-prime-numbers.png b/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-prime-numbers.png index 3221910c4abfe9a240dbbf163a5b7bf4fef227f1..493b22af320fac5dcd11b8e279bf9a07a2d10e5e 100644 GIT binary patch literal 17128 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

-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

awbMMUv2`1v-m?C@B=WZyP76Oa!=Q1W@QCY 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

d+L6Nun5;~W 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 G@P7gS0u2rT literal 0 HcmV?d00001 diff --git a/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-weather-ui.png b/dotnet-desktop-guide/framework/wpf/advanced/media/threading-model/threading-weather-ui.png index 0cf76b9afbe785df49178eb84150ff5236a179d4..f980bfdb80f8195da417bf4a27cf46e22a4f5515 100644 GIT binary patch literal 69772 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 literal 12650 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/App.xaml.cs b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/App.xaml.cs new file mode 100644 index 0000000000..94d1057d50 --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/App.xaml.cs @@ -0,0 +1,14 @@ +using System.Configuration; +using System.Data; +using System.Windows; + +namespace SDKSamples +{ + ///

+ /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } + +} diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/AssemblyInfo.cs b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/AssemblyInfo.cs new file mode 100644 index 0000000000..cc29e7f741 --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly:ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/MultiWindow.xaml b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/MultiWindow.xaml new file mode 100644 index 0000000000..884542b9cc --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/MultiWindow.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + // + private async Task FetchWeatherFromServerAsync() + { + // Simulate the delay from network access + await Task.Delay(TimeSpan.FromSeconds(4)); + + // Tried and true method for weather forecasting - random numbers + Random rand = new Random(); + + if (rand.Next(2) == 0) + return "rainy"; + + else + return "sunny"; + } + // + + private void HideClockFaceStoryboard_Completed(object sender, EventArgs args) => + ((Storyboard)Resources["ShowWeatherImageStoryboard"]).Begin(ClockImage); + + private void HideWeatherImageStoryboard_Completed(object sender, EventArgs args) => + ((Storyboard)Resources["ShowClockFaceStoryboard"]).Begin(ClockImage, true); + } +} +// diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/app.manifest b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/app.manifest new file mode 100644 index 0000000000..c522bb43f3 --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/csharp/app.manifest @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/App.config b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/App.config new file mode 100644 index 0000000000..aee9adf485 --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml new file mode 100644 index 0000000000..1837eefd7c --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/application.xaml.vb b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml.vb similarity index 100% rename from dotnet-desktop-guide/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/application.xaml.vb rename to dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/Application.xaml.vb diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/AssemblyInfo.vb b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/AssemblyInfo.vb new file mode 100644 index 0000000000..025ee7271e --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/AssemblyInfo.vb @@ -0,0 +1,11 @@ +Imports System.Windows + +'The ThemeInfo attribute describes where any theme specific and generic resource dictionaries can be found. +'1st parameter: where theme specific resource dictionaries are located +'(used if a resource is not found in the page, +' or application resource dictionaries) + +'2nd parameter: where the generic resource dictionary is located +'(used if a resource is not found in the page, +'app, and any theme specific resource dictionaries) + diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/MultiWindow.xaml b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/MultiWindow.xaml new file mode 100644 index 0000000000..bddd24c56b --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/MultiWindow.xaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + ' + Private Async Function FetchWeatherFromServerAsync() As Task(Of String) + + ' Simulate the delay from network access + Await Task.Delay(TimeSpan.FromSeconds(4)) + + ' Tried and true method for weather forecasting - random numbers + Dim rand As New Random() + + If rand.Next(2) = 0 Then + Return "rainy" + Else + Return "sunny" + End If + + End Function + ' + + Private Sub HideClockFaceStoryboard_Completed(sender As Object, e As EventArgs) + DirectCast(Resources("ShowWeatherImageStoryboard"), Storyboard).Begin(ClockImage) + End Sub + + Private Sub HideWeatherImageStoryboard_Completed(sender As Object, e As EventArgs) + DirectCast(Resources("ShowClockFaceStoryboard"), Storyboard).Begin(ClockImage, True) + End Sub +End Class +' diff --git a/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/snippets.5000.json b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/snippets.5000.json new file mode 100644 index 0000000000..da9ebf8da2 --- /dev/null +++ b/dotnet-desktop-guide/framework/wpf/advanced/snippets/threading-model/vb/snippets.5000.json @@ -0,0 +1,3 @@ +{ + "host": "visualstudio" +} diff --git a/dotnet-desktop-guide/framework/wpf/advanced/threading-model.md b/dotnet-desktop-guide/framework/wpf/advanced/threading-model.md index d48138b2c0..416d0a35e0 100644 --- a/dotnet-desktop-guide/framework/wpf/advanced/threading-model.md +++ b/dotnet-desktop-guide/framework/wpf/advanced/threading-model.md @@ -21,20 +21,22 @@ helpviewer_keywords: - "reentrancy [WPF]" ms.assetid: 02d8fd00-8d7c-4604-874c-58e40786770b --- -# Threading Model +# Threading model -Windows Presentation Foundation (WPF) is designed to save developers from the difficulties of threading. As a result, the majority of WPF developers won't have to write an interface that uses more than one thread. Because multithreaded programs are complex and difficult to debug, they should be avoided when single-threaded solutions exist. +Windows Presentation Foundation (WPF) is designed to save developers from the difficulties of threading. As a result, most WPF developers don't write an interface that uses more than one thread. Because multithreaded programs are complex and difficult to debug, they should be avoided when single-threaded solutions exist. - No matter how well architected, however, no UI framework will ever be able to provide a single-threaded solution for every sort of problem. WPF comes close, but there are still situations where multiple threads improve user interface (UI) responsiveness or application performance. After discussing some background material, this paper explores some of these situations and then concludes with a discussion of some lower-level details. + No matter how well architected, however, no UI framework is able to provide a single-threaded solution for every sort of problem. WPF comes close, but there are still situations where multiple threads improve user interface (UI) responsiveness or application performance. After discussing some background material, this article explores some of these situations and then concludes with a discussion of some lower-level details. > [!NOTE] -> This topic discusses threading by using the method for asynchronous calls. You can also make asynchronous calls by calling the method, which take an or as a parameter. The method returns a or , which has a property. You can use the `await` keyword with either the or the associated . If you need to wait synchronously for the that is returned by a or , call the extension method. Calling will result in a deadlock. For more information about using a to perform asynchronous operations, see [Task-based asynchronous programming](/dotnet/standard/parallel-programming/task-based-asynchronous-programming). The method also has overloads that take an or as a parameter. You can use the method to make synchronous calls by passing in a delegate, or . +> This topic discusses threading by using the method for asynchronous calls. The `InvokeAsync` method takes an or as a parameter, and returns a or , which has a property. You can use the `await` keyword with either the or the associated . If you need to wait synchronously for the that is returned by a or , call the extension method. Calling will result in a **deadlock**. For more information about using a to perform asynchronous operations, see [Task-based asynchronous programming](/dotnet/standard/parallel-programming/task-based-asynchronous-programming). +> +> To make a synchronous call, use the method, which also has overloads that takes a delegate, , or parameter. -## Overview and the Dispatcher +## Overview and the dispatcher - Typically, WPF applications start with two threads: one for handling rendering and another for managing the UI. The rendering thread effectively runs hidden in the background while the UI thread receives input, handles events, paints the screen, and runs application code. Most applications use a single UI thread, although in some situations it is best to use several. We’ll discuss this with an example later. + Typically, WPF applications start with two threads: one for handling rendering and another for managing the UI. The rendering thread effectively runs hidden in the background while the UI thread receives input, handles events, paints the screen, and runs application code. Most applications use a single UI thread, although in some situations it is best to use several. We'll discuss this with an example later. The UI thread queues work items inside an object called a . The selects work items on a priority basis and runs each one to completion. Every UI thread must have at least one , and each can execute work items in exactly one thread. @@ -44,25 +46,25 @@ Windows Presentation Foundation (WPF) is designed to save developers from the di Historically, Windows allows UI elements to be accessed only by the thread that created them. This means that a background thread in charge of some long-running task cannot update a text box when it is finished. Windows does this to ensure the integrity of UI components. A list box could look strange if its contents were updated by a background thread during painting. - WPF has a built-in mutual exclusion mechanism that enforces this coordination. Most classes in WPF derive from . At construction, a stores a reference to the linked to the currently running thread. In effect, the associates with the thread that creates it. During program execution, a can call its public method. examines the associated with the current thread and compares it to the reference stored during construction. If they don’t match, throws an exception. is intended to be called at the beginning of every method belonging to a . + WPF has a built-in mutual exclusion mechanism that enforces this coordination. Most classes in WPF derive from . At construction, a stores a reference to the linked to the currently running thread. In effect, the associates with the thread that creates it. During program execution, a can call its public method. examines the associated with the current thread and compares it to the reference stored during construction. If they don't match, throws an exception. is intended to be called at the beginning of every method belonging to a . - If only one thread can modify the UI, how do background threads interact with the user? A background thread can ask the UI thread to perform an operation on its behalf. It does this by registering a work item with the of the UI thread. The class provides two methods for registering work items: and . Both methods schedule a delegate for execution. is a synchronous call – that is, it doesn’t return until the UI thread actually finishes executing the delegate. is asynchronous and returns immediately. + If only one thread can modify the UI, how do background threads interact with the user? A background thread can ask the UI thread to perform an operation on its behalf. It does this by registering a work item with the of the UI thread. The class provides the methods for registering work items: , , and . These methods schedule a delegate for execution. is a synchronous call – that is, it doesn't return until the UI thread actually finishes executing the delegate. and are asynchronous and return immediately. - The orders the elements in its queue by priority. There are ten levels that may be specified when adding an element to the queue. These priorities are maintained in the enumeration. Detailed information about levels can be found in the Windows SDK documentation. + The orders the elements in its queue by priority. There are ten levels that may be specified when adding an element to the queue. These priorities are maintained in the enumeration. -## Threads in Action: The Samples - -### A Single-Threaded Application with a Long-Running Calculation +## Single-threaded app with a long-running calculation + + Most graphical user interfaces (GUIs) spend a large portion of their time idle while waiting for events that are generated in response to user interactions. With careful programming this idle time can be used constructively, without affecting the responsiveness of the UI. The WPF threading model doesn't allow input to interrupt an operation happening in the UI thread. This means you must be sure to return to the periodically to process pending input events before they get stale. - Most graphical user interfaces (GUIs) spend a large portion of their time idle while waiting for events that are generated in response to user interactions. With careful programming this idle time can be used constructively, without affecting the responsiveness of the UI. The WPF threading model doesn’t allow input to interrupt an operation happening in the UI thread. This means you must be sure to return to the periodically to process pending input events before they get stale. + A sample app demonstrating the concepts of this section can be downloaded from GitHub for either [C#](https://github.com/dotnet/samples/tree/main/wpf/Threading/PrimeNumber/net48/csharp) or [Visual Basic](https://github.com/dotnet/samples/tree/main/wpf/Threading/PrimeNumber/net48/vb). Consider the following example: - ![Screenshot that shows threading of prime numbers.](./media/threading-model/threading-prime-numbers.png) + :::image type="content" source="./media/threading-model/threading-prime-numbers.png" alt-text="Screenshot that shows threading of prime numbers."::: This simple application counts upwards from three, searching for prime numbers. When the user clicks the **Start** button, the search begins. When the program finds a prime, it updates the user interface with its discovery. At any point, the user can stop the search. @@ -72,159 +74,183 @@ Windows Presentation Foundation (WPF) is designed to save developers from the di If we break up the task of calculation into manageable chunks, we can periodically return to the and process events. We can give WPF an opportunity to repaint and process input. - The best way to split processing time between calculation and event handling is to manage calculation from the . By using the method, we can schedule prime number checks in the same queue that UI events are drawn from. In our example, we schedule only a single prime number check at a time. After the prime number check is complete, we schedule the next check immediately. This check proceeds only after pending UI events have been handled. + The best way to split processing time between calculation and event handling is to manage calculation from the . By using the method, we can schedule prime number checks in the same queue that UI events are drawn from. In our example, we schedule only a single prime number check at a time. After the prime number check is complete, we schedule the next check immediately. This check proceeds only after pending UI events have been handled. - ![Screenshot that shows the dispatcher queue.](./media/threading-model/threading-dispatcher-queue.png) + :::image type="content" source="./media/threading-model/threading-dispatcher-queue.png" alt-text="Screenshot that shows the dispatcher queue."::: Microsoft Word accomplishes spell checking using this mechanism. Spell checking is done in the background using the idle time of the UI thread. Let's take a look at the code. The following example shows the XAML that creates the user interface. - [!code-xaml[ThreadingPrimeNumbers#ThreadingPrimeNumberXAML](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml#threadingprimenumberxaml)] +> [!IMPORTANT] +> The XAML shown in this article is from a C# project. Visual Basic XAML is slightly different when declaring the backing class for the XAML. + + :::code language="xaml" source="./snippets/threading-model/csharp/PrimeNumber.xaml"::: The following example shows the code-behind. - [!code-csharp[ThreadingPrimeNumbers#ThreadingPrimeNumberCodeBehind](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml.cs#threadingprimenumbercodebehind)] - [!code-vb[ThreadingPrimeNumbers#ThreadingPrimeNumberCodeBehind](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/mainwindow.xaml.vb#threadingprimenumbercodebehind)] + :::code language="csharp" source="./snippets/threading-model/csharp/PrimeNumber.xaml.cs" id="full"::: + :::code language="vb" source="./snippets/threading-model/vb/PrimeNumber.xaml.vb" id="full"::: - The following example shows the event handler for the . + Besides updating the text on the , the `StartStopButton_Click` handler is responsible for scheduling the first prime number check by adding a delegate to the queue. Sometime after this event handler has completed its work, the will select the delegate for execution. - [!code-csharp[ThreadingPrimeNumbers#ThreadingPrimeNumberStartOrStop](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml.cs#threadingprimenumberstartorstop)] - [!code-vb[ThreadingPrimeNumbers#ThreadingPrimeNumberStartOrStop](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/mainwindow.xaml.vb#threadingprimenumberstartorstop)] + As we mentioned earlier, is the member used to schedule a delegate for execution. In this case, we choose the priority. The will execute this delegate only when there are no important events to process. UI responsiveness is more important than number checking. We also pass a new delegate representing the number-checking routine. - Besides updating the text on the , this handler is responsible for scheduling the first prime number check by adding a delegate to the queue. Sometime after this event handler has completed its work, the will select this delegate for execution. + :::code language="csharp" source="./snippets/threading-model/csharp/PrimeNumber.xaml.cs" id="check_number"::: + :::code language="vb" source="./snippets/threading-model/vb/PrimeNumber.xaml.vb" id="check_number"::: - As we mentioned earlier, is the member used to schedule a delegate for execution. In this case, we choose the priority. The will execute this delegate only when there are no important events to process. UI responsiveness is more important than number checking. We also pass a new delegate representing the number-checking routine. + This method checks if the next odd number is prime. If it is prime, the method directly updates the `bigPrime` to reflect its discovery. We can do this because the calculation is occurring in the same thread that was used to create the control. Had we chosen to use a separate thread for the calculation, we would have to use a more complicated synchronization mechanism and execute the update in the UI thread. We'll demonstrate this situation next. - [!code-csharp[ThreadingPrimeNumbers#ThreadingPrimeNumberCheckNextNumber](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingPrimeNumbers/CSharp/Window1.xaml.cs#threadingprimenumberchecknextnumber)] - [!code-vb[ThreadingPrimeNumbers#ThreadingPrimeNumberCheckNextNumber](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingPrimeNumbers/visualbasic/mainwindow.xaml.vb#threadingprimenumberchecknextnumber)] + - This method checks if the next odd number is prime. If it is prime, the method directly updates the `bigPrime` to reflect its discovery. We can do this because the calculation is occurring in the same thread that was used to create the component. Had we chosen to use a separate thread for the calculation, we would have to use a more complicated synchronization mechanism and execute the update in the UI thread. We’ll demonstrate this situation next. +## Handle a blocking operation with a background thread - For the complete source code for this sample, see the [Single-Threaded Application with Long-Running Calculation Sample](https://github.com/Microsoft/WPF-Samples/tree/master/Threading/SingleThreadedApplication) + Handling blocking operations in a graphical application can be difficult. We don't want to call blocking methods from event handlers because the application will appear to freeze up. We can use a separate thread to handle these operations, but when we're done, we have to synchronize with the UI thread because we can't directly modify the GUI from our worker thread. We can use , , or , to insert delegates into the of the UI thread. Eventually, these delegates will be executed with permission to modify UI elements. - +In this example, we mimic a remote procedure call that retrieves a weather forecast. When the button is clicked, the UI is updated normally to indicate that the data fetch is in progress. A separate worker thread is used to mimic fetching the weather forecast. When the "data" is returned, the is used to schedule an update to the UI with the weather information. + +:::image type="complex" source="./media/threading-model/threading-weather-ui.png" alt-text="A diagram that demonstrates the workflow of the example app."::: -### Handling a Blocking Operation with a Background Thread +A diagram demonstrating the example app's workflow. The app has a single button with the text "Fetch Forecast." There's an arrow pointing to the next phase of the app after the button is pressed, which is a clock image placed in the center of the app indicating that the app is busy fetching data. After some time, the app returns with either an image of the sun or of rain clouds, depending on the result of the data. - Handling blocking operations in a graphical application can be difficult. We don’t want to call blocking methods from event handlers because the application will appear to freeze up. We can use a separate thread to handle these operations, but when we’re done, we have to synchronize with the UI thread because we can’t directly modify the GUI from our worker thread. We can use or to insert delegates into the of the UI thread. Eventually, these delegates will be executed with permission to modify UI elements. +:::image-end::: - In this example, we mimic a remote procedure call that retrieves a weather forecast. We use a separate worker thread to execute this call, and we schedule an update method in the of the UI thread when we’re finished. +A sample app demonstrating the concepts of this section can be downloaded from GitHub for either [C#](https://github.com/dotnet/samples/tree/main/wpf/Threading/WeatherForecast/net48/csharp) or [Visual Basic](https://github.com/dotnet/samples/tree/main/wpf/Threading/WeatherForecast/net48/vb). The XAML for this example is quite large and not provided in this article. Use the previous GitHub links to browse the XAML. - ![Screenshot that shows the weather UI.](./media/threading-model/threading-weather-ui.png) +Consider the code-behind to the XAML: - [!code-csharp[ThreadingWeatherForecast#ThreadingWeatherCodeBehind](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml.cs#threadingweathercodebehind)] - [!code-vb[ThreadingWeatherForecast#ThreadingWeatherCodeBehind](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml.vb#threadingweathercodebehind)] +:::code language="csharp" source="./snippets/threading-model/csharp/Weather.xaml.cs" id="full"::: +:::code language="vb" source="./snippets/threading-model/vb/Weather.xaml.vb" id="full"::: The following are some of the details to be noted. - Creating the Button Handler - [!code-csharp[ThreadingWeatherForecast#ThreadingWeatherButtonHandler](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml.cs#threadingweatherbuttonhandler)] - [!code-vb[ThreadingWeatherForecast#ThreadingWeatherButtonHandler](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml.vb#threadingweatherbuttonhandler)] + :::code language="csharp" source="./snippets/threading-model/csharp/Weather.xaml.cs" id="button" highlight="1,10"::: + :::code language="vb" source="./snippets/threading-model/vb/Weather.xaml.vb" id="button" highlight="1,10"::: - When the button is clicked, we display the clock drawing and start animating it. We disable the button. We invoke the `FetchWeatherFromServer` method in a new thread, and then we return, allowing the to process events while we wait to collect the weather forecast. + Notice that the event handler was declared as `async` (or `Async` with Visual Basic). An async method suspends the code when the awaited method, `FetchWeatherFromServer` is called, designated by the `await` (or `Await` with Visual Basic) keyword. Until the `FetchWeatherFromServer` finishes, the button's handler code returns control to the caller of the async method. This is similar to a synchronous method except that a synchronous method waits for every operation in the method to finish after which control is returned to the caller. + + Awaited methods utilize the threading context of the current method, which in the case of the button handler, is the UI thread. This means that calling `await FetchWeatherFromServer();` (Or `Await FetchWeatherFromServer()` with Visual Basic) causes the code in `FetchWeatherFromServer` to run on the UI thread. However, notice that `await Task.Run` is used. This creates a new thread on the thread pool for the designated task, `FetchWeatherFromServer`, so it's not running in the UI thread but on its own thread. - Fetching the Weather - [!code-csharp[ThreadingWeatherForecast#ThreadingWeatherFetchWeather](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml.cs#threadingweatherfetchweather)] - [!code-vb[ThreadingWeatherForecast#ThreadingWeatherFetchWeather](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml.vb#threadingweatherfetchweather)] + :::code language="csharp" source="./snippets/threading-model/csharp/Weather.xaml.cs" id="fetch_weather"::: + :::code language="vb" source="./snippets/threading-model/vb/Weather.xaml.vb" id="fetch_weather"::: - To keep things simple, we don’t actually have any networking code in this example. Instead, we simulate the delay of network access by putting our new thread to sleep for four seconds. In this time, the original UI thread is still running and responding to events. To show this, we’ve left an animation running, and the minimize and maximize buttons also continue to work. + To keep things simple, we don't actually have any networking code in this example. Instead, we simulate the delay of network access by putting our new thread to sleep for four seconds. In this time, the original UI thread is still running and responding to events, all the while the button's event handler is paused until this thread completes. To show this, we've left an animation running, and the minimize and maximize buttons also continue to work. - When the delay is finished, and we’ve randomly selected our weather forecast, it’s time to report back to the UI thread. We do this by scheduling a call to `UpdateUserInterface` in the UI thread using that thread’s . We pass a string describing the weather to this scheduled method call. + When the delay is finished, and we've randomly selected our weather forecast, and the weather status is returned to the caller, which is running on the UI thread. - Updating the UI - [!code-csharp[ThreadingWeatherForecast#ThreadingWeatherUpdateUI](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingWeatherForecast/CSharp/Window1.xaml.cs#threadingweatherupdateui)] - [!code-vb[ThreadingWeatherForecast#ThreadingWeatherUpdateUI](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingWeatherForecast/visualbasic/window1.xaml.vb#threadingweatherupdateui)] + :::code language="csharp" source="./snippets/threading-model/csharp/Weather.xaml.cs" id="button" highlight="14-27"::: + :::code language="vb" source="./snippets/threading-model/vb/Weather.xaml.vb" id="button" highlight="14-30"::: + + When the task finishes and the UI thread has time, the button's event handler is resumed. The rest of the method stops the clock animation and chooses an image to describe the weather. It displays this image and enables the "fetch forecast" button. - When the in the UI thread has time, it executes the scheduled call to `UpdateUserInterface`. This method stops the clock animation and chooses an image to describe the weather. It displays this image and restores the "fetch forecast" button. +A sample app demonstrating the concepts of this section can be downloaded from GitHub for either [C#](https://github.com/dotnet/samples/tree/main/wpf/Threading/Weather/net48/csharp) or [Visual Basic](https://github.com/dotnet/samples/tree/main/wpf/Threading/Weather/net48/vb). -### Multiple Windows, Multiple Threads +## Multiple windows, multiple threads - Some WPF applications require multiple top-level windows. It is perfectly acceptable for one Thread/ combination to manage multiple windows, but sometimes several threads do a better job. This is especially true if there is any chance that one of the windows will monopolize the thread. +Some WPF applications require multiple top-level windows. It's perfectly acceptable for one Thread/Dispatcher combination to manage multiple windows, but sometimes several threads do a better job. This is especially true if there's any chance that one of the windows will monopolize the thread. - Windows Explorer works in this fashion. Each new Explorer window belongs to the original process, but it is created under the control of an independent thread. +Windows Explorer works in this fashion. Each new Explorer window belongs to the original process, but it's created under the control of an independent thread. When Explorer becomes nonresponsive, such as when looking for network resources, other Explorer windows continue to be responsive and usable. - By using a WPF control, we can display Web pages. We can easily create a simple Internet Explorer substitute. We start with an important feature: the ability to open a new explorer window. When the user clicks the "new window" button, we launch a copy of our window in a separate thread. This way, long-running or blocking operations in one of the windows won’t lock all the other windows. +We can demonstrate this concept with the following example. - In reality, the Web browser model has its own complicated threading model. We’ve chosen it because it should be familiar to most readers. +:::image type="complex" source="./media/threading-model/threading-multiwindow-ui.png" alt-text="A screenshot of a WPF window that's duplicated four times. Three of the windows indicate that they're using the same thread, while the other two are on different threads."::: - The following example shows the code. +The top three windows of this image share the same thread identifier: 1. The two other windows have different thread identifiers: Nine and 4. There's a magenta colored rotating ‼️ glyph in the top right of each window. - [!code-xaml[ThreadingMultipleBrowsers#ThreadingMultiBrowserXAML](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml#threadingmultibrowserxaml)] +:::image-end::: - [!code-csharp[ThreadingMultipleBrowsers#ThreadingMultiBrowserCodeBehind](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml.cs#threadingmultibrowsercodebehind)] - [!code-vb[ThreadingMultipleBrowsers#ThreadingMultiBrowserCodeBehind](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/Window1.xaml.vb#threadingmultibrowsercodebehind)] +This example contains a window with a rotating `‼️` glyph, a **Pause** button, and two other buttons that create a new window under the current thread or in a new thread. The `‼️` glyph is constantly rotating until the **Pause** button is pressed, which pauses the thread for five seconds. At the bottom of the window, the thread identifier is displayed. - The following threading segments of this code are the most interesting to us in this context: +When the **Pause** button is pressed, all windows under the same thread become nonresponsive. Any window under a different thread continues to work normally. - [!code-csharp[ThreadingMultipleBrowsers#ThreadingMultiBrowserNewWindow](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml.cs#threadingmultibrowsernewwindow)] - [!code-vb[ThreadingMultipleBrowsers#ThreadingMultiBrowserNewWindow](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/Window1.xaml.vb#threadingmultibrowsernewwindow)] +The following example is the XAML to the window: - This method is called when the "new window" button is clicked. It creates a new thread and starts it asynchronously. +:::code language="xaml" source="./snippets/threading-model/csharp/MultiWindow.xaml"::: - [!code-csharp[ThreadingMultipleBrowsers#ThreadingMultiBrowserThreadStart](~/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml.cs#threadingmultibrowserthreadstart)] - [!code-vb[ThreadingMultipleBrowsers#ThreadingMultiBrowserThreadStart](~/samples/snippets/visualbasic/VS_Snippets_Wpf/ThreadingMultipleBrowsers/VisualBasic/Window1.xaml.vb#threadingmultibrowserthreadstart)] +The following example shows the code-behind. - This method is the starting point for the new thread. We create a new window under the control of this thread. WPF automatically creates a new to manage the new thread. All we have to do to make the window functional is to start the . +:::code language="csharp" source="./snippets/threading-model/csharp/MultiWindow.xaml.cs" id="full"::: +:::code language="vb" source="./snippets/threading-model/vb/MultiWindow.xaml.vb" id="full"::: - +The following are some of the details to be noted: -## Technical Details and Stumbling Points +- The task is used to cause the current thread to pause for five seconds when the **Pause** button is pressed. -### Writing Components Using Threading + :::code language="csharp" source="./snippets/threading-model/csharp/MultiWindow.xaml.cs" id="delay"::: + :::code language="vb" source="./snippets/threading-model/vb/MultiWindow.xaml.vb" id="delay"::: - The Microsoft .NET Framework Developer's Guide describes a pattern for how a component can expose asynchronous behavior to its clients (see [Event-based Asynchronous Pattern Overview](/dotnet/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview)). For instance, suppose we wanted to package the `FetchWeatherFromServer` method into a reusable, nongraphical component. Following the standard Microsoft .NET Framework pattern, this would look something like the following. +- The `SameThreadWindow_Click` event handler immediently shows a new window under the current thread. The `NewThreadWindow_Click` event handler creates a new thread that starts executing the `ThreadStartingPoint` method, which in turn shows a new window, as described in the next bullet point. - [!code-csharp[CommandingOverviewSnippets#ThreadingArticleWeatherComponent1](~/samples/snippets/csharp/VS_Snippets_Wpf/CommandingOverviewSnippets/CSharp/Window1.xaml.cs#threadingarticleweathercomponent1)] - [!code-vb[CommandingOverviewSnippets#ThreadingArticleWeatherComponent1](~/samples/snippets/visualbasic/VS_Snippets_Wpf/CommandingOverviewSnippets/visualbasic/window1.xaml.vb#threadingarticleweathercomponent1)] + :::code language="csharp" source="./snippets/threading-model/csharp/MultiWindow.xaml.cs" id="buttons" highlight="2,6"::: + :::code language="vb" source="./snippets/threading-model/vb/MultiWindow.xaml.vb" id="buttons" highlight="2,6"::: - `GetWeatherAsync` would use one of the techniques described earlier, such as creating a background thread, to do the work asynchronously, not blocking the calling thread. +- The `ThreadStartingPoint` method is the starting point for the new thread. The new window is created under the control of this thread. WPF automatically creates a new to manage the new thread. All we have to do to make the window functional is to start the . - One of the most important parts of this pattern is calling the *MethodName*`Completed` method on the same thread that called the *MethodName*`Async` method to begin with. You could do this using WPF fairly easily, by storing —but then the nongraphical component could only be used in WPF applications, not in Windows Forms or ASP.NET programs. + :::code language="csharp" source="./snippets/threading-model/csharp/MultiWindow.xaml.cs" id="thread"::: + :::code language="vb" source="./snippets/threading-model/vb/MultiWindow.xaml.vb" id="thread"::: + +A sample app demonstrating the concepts of this section can be downloaded from GitHub for either [C#](https://github.com/dotnet/samples/tree/main/wpf/Threading/MultithreadedWindow/net48/csharp) or [Visual Basic](https://github.com/dotnet/samples/tree/main/wpf/Threading/MultithreadedWindow/net48/vb). + + - The class addresses this need—think of it as a simplified version of that works with other UI frameworks as well. +## Technical details and stumbling points - [!code-csharp[CommandingOverviewSnippets#ThreadingArticleWeatherComponent2](~/samples/snippets/csharp/VS_Snippets_Wpf/CommandingOverviewSnippets/CSharp/Window1.xaml.cs#threadingarticleweathercomponent2)] - [!code-vb[CommandingOverviewSnippets#ThreadingArticleWeatherComponent2](~/samples/snippets/visualbasic/VS_Snippets_Wpf/CommandingOverviewSnippets/visualbasic/window1.xaml.vb#threadingarticleweathercomponent2)] +The following sections describe some of the details and stumbling points you may come across with multithreading. -### Nested Pumping +### Nested pumping - Sometimes it is not feasible to completely lock up the UI thread. Let’s consider the method of the class. doesn’t return until the user clicks the OK button. It does, however, create a window that must have a message loop in order to be interactive. While we are waiting for the user to click OK, the original application window does not respond to user input. It does, however, continue to process paint messages. The original window redraws itself when covered and revealed. + Sometimes it is not feasible to completely lock up the UI thread. Let's consider the method of the class. doesn't return until the user clicks the OK button. It does, however, create a window that must have a message loop in order to be interactive. While we are waiting for the user to click OK, the original application window does not respond to user input. It does, however, continue to process paint messages. The original window redraws itself when covered and revealed. - ![Screenshot that shows a MessageBox with an OK button](./media/threading-model/threading-message-loop.png) + :::image type="content" source="./media/threading-model/threading-message-loop.png" alt-text="Screenshot that shows a MessageBox with an OK button"::: - Some thread must be in charge of the message box window. WPF could create a new thread just for the message box window, but this thread would be unable to paint the disabled elements in the original window (remember the earlier discussion of mutual exclusion). Instead, WPF uses a nested message processing system. The class includes a special method called , which stores an application’s current execution point then begins a new message loop. When the nested message loop finishes, execution resumes after the original call. + Some thread must be in charge of the message box window. WPF could create a new thread just for the message box window, but this thread would be unable to paint the disabled elements in the original window (remember the earlier discussion of mutual exclusion). Instead, WPF uses a nested message processing system. The class includes a special method called , which stores an application's current execution point then begins a new message loop. When the nested message loop finishes, execution resumes after the original call. In this case, maintains the program context at the call to , and it starts a new message loop to repaint the background window and handle input to the message box window. When the user clicks OK and clears the pop-up window, the nested loop exits and control resumes after the call to . -### Stale Routed Events +### Stale routed events The routed event system in WPF notifies entire trees when events are raised. - [!code-xaml[InputOvw#ThreadingArticleStaticRoutedEvent](~/samples/snippets/csharp/VS_Snippets_Wpf/InputOvw/CSharp/Page1.xaml#threadingarticlestaticroutedevent)] +```xaml + + + +``` When the left mouse button is pressed over the ellipse, `handler2` is executed. After `handler2` finishes, the event is passed along to the object, which uses `handler1` to process it. This happens only if `handler2` does not explicitly mark the event object as handled. - It’s possible that `handler2` will take a great deal of time processing this event. `handler2` might use to begin a nested message loop that doesn’t return for hours. If `handler2` does not mark the event as handled when this message loop is complete, the event is passed up the tree even though it is very old. + It's possible that `handler2` will take a great deal of time processing this event. `handler2` might use to begin a nested message loop that doesn't return for hours. If `handler2` does not mark the event as handled when this message loop is complete, the event is passed up the tree even though it is very old. -### Reentrancy and Locking +### Reentrancy and locking - The locking mechanism of the common language runtime (CLR) doesn’t behave exactly as one might imagine; one might expect a thread to cease operation completely when requesting a lock. In actuality, the thread continues to receive and process high-priority messages. This helps prevent deadlocks and make interfaces minimally responsive, but it introduces the possibility for subtle bugs. The vast majority of the time you don’t need to know anything about this, but under rare circumstances (usually involving Win32 window messages or COM STA components) this can be worth knowing. + The locking mechanism of the common language runtime (CLR) doesn't behave exactly as one might imagine; one might expect a thread to cease operation completely when requesting a lock. In actuality, the thread continues to receive and process high-priority messages. This helps prevent deadlocks and make interfaces minimally responsive, but it introduces the possibility for subtle bugs. The vast majority of the time you don't need to know anything about this, but under rare circumstances (usually involving Win32 window messages or COM STA components) this can be worth knowing. Most interfaces are not built with thread safety in mind because developers work under the assumption that a UI is never accessed by more than one thread. In this case, that single thread may make environmental changes at unexpected times, causing those ill effects that the mutual exclusion mechanism is supposed to solve. Consider the following pseudocode: - ![Diagram that shows threading reentrancy.](./media/threading-model/threading-reentrancy.png "ThreadingReentrancy") + :::image type="content" source="./media/threading-model/threading-reentrancy.png" alt-text="Diagram that shows threading reentrancy."::: - Most of the time that’s the right thing, but there are times in WPF where such unexpected reentrancy can really cause problems. So, at certain key times, WPF calls , which changes the lock instruction for that thread to use the WPF reentrancy-free lock, instead of the usual CLR lock. + Most of the time that's the right thing, but there are times in WPF where such unexpected reentrancy can really cause problems. So, at certain key times, WPF calls , which changes the lock instruction for that thread to use the WPF reentrancy-free lock, instead of the usual CLR lock. - So why did the CLR team choose this behavior? It had to do with COM STA objects and the finalization thread. When an object is garbage collected, its `Finalize` method is run on the dedicated finalizer thread, not the UI thread. And therein lies the problem, because a COM STA object that was created on the UI thread can only be disposed on the UI thread. The CLR does the equivalent of a (in this case using Win32’s `SendMessage`). But if the UI thread is busy, the finalizer thread is stalled and the COM STA object can’t be disposed, which creates a serious memory leak. So the CLR team made the tough call to make locks work the way they do. + So why did the CLR team choose this behavior? It had to do with COM STA objects and the finalization thread. When an object is garbage collected, its `Finalize` method is run on the dedicated finalizer thread, not the UI thread. And therein lies the problem, because a COM STA object that was created on the UI thread can only be disposed on the UI thread. The CLR does the equivalent of a (in this case using Win32's `SendMessage`). But if the UI thread is busy, the finalizer thread is stalled and the COM STA object can't be disposed, which creates a serious memory leak. So the CLR team made the tough call to make locks work the way they do. - The task for WPF is to avoid unexpected reentrancy without reintroducing the memory leak, which is why we don’t block reentrancy everywhere. + The task for WPF is to avoid unexpected reentrancy without reintroducing the memory leak, which is why we don't block reentrancy everywhere. ## See also diff --git a/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/ThreadingMultipleBrowserSample.csproj b/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/ThreadingMultipleBrowserSample.csproj deleted file mode 100644 index e929c3f4ff..0000000000 --- a/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/ThreadingMultipleBrowserSample.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - Debug - AnyCPU - {7EF15B0A-9DD3-4D9D-8711-0F288E68224B} - SDKSamples - ThreadingMultipleBrowserSample - 4 - winexe - 1.0.0.* - - false - v4.0 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Client - 10.0.20821 - - - true - full - false - .\bin\Debug\ - DEBUG;TRACE - - - false - true - .\bin\Release\ - TRACE - - - - - - - - - - 4.0 - - - - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - app.xaml - Code - - - Window1.xaml - Code - - - - \ No newline at end of file diff --git a/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml b/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml deleted file mode 100644 index cd5a8cc06e..0000000000 --- a/dotnet-desktop-guide/samples/snippets/csharp/VS_Snippets_Wpf/ThreadingMultipleBrowsers/CSharp/Window1.xaml +++ /dev/null @@ -1,25 +0,0 @@ - - - - -