From cf21219424a069f4d553e3ed2c799228111e13f2 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 12 Jul 2025 15:25:12 +0100 Subject: [PATCH] Add favicon --- .github/workflows/check.yml | 2 +- examples/website/package-lock.json | 85 ++++++++++++++++++++++++++++- examples/website/package.json | 5 +- examples/website/src/favicon.ico | Bin 0 -> 4286 bytes examples/website/src/index.html | 39 ++++++------- examples/website/src/og-image.png | Bin 0 -> 48041 bytes examples/website/webpack.config.js | 13 +++++ 7 files changed, 121 insertions(+), 23 deletions(-) create mode 100644 examples/website/src/favicon.ico create mode 100644 examples/website/src/og-image.png diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index a786129..7da7139 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,4 +1,4 @@ -name: Check +name: Check & publish on: push: diff --git a/examples/website/package-lock.json b/examples/website/package-lock.json index 4c0716e..ca35520 100644 --- a/examples/website/package-lock.json +++ b/examples/website/package-lock.json @@ -7,6 +7,7 @@ "name": "reconcile-example-website", "license": "GPL-3.0-or-later", "devDependencies": { + "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "html-webpack-plugin": "^5.6.3", "inline-source-webpack-plugin": "^3.0.1", @@ -27,7 +28,7 @@ }, "../../reconcile-js": { "name": "reconcile-text", - "version": "0.4.3", + "version": "0.4.10", "dev": true, "license": "MIT", "devDependencies": { @@ -1536,6 +1537,43 @@ "dev": true, "license": "MIT" }, + "node_modules/copy-webpack-plugin": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.0.tgz", + "integrity": "sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -4987,6 +5025,51 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/examples/website/package.json b/examples/website/package.json index ea75200..23588ff 100644 --- a/examples/website/package.json +++ b/examples/website/package.json @@ -22,12 +22,13 @@ ], "homepage": "https://github.com/schmelczer/reconcile#readme", "devDependencies": { - "reconcile-text": "file:../../reconcile-js", + "copy-webpack-plugin": "^13.0.0", "css-loader": "^7.1.2", "html-webpack-plugin": "^5.6.3", - "mini-css-extract-plugin": "^2.9.2", "inline-source-webpack-plugin": "^3.0.1", + "mini-css-extract-plugin": "^2.9.2", "prettier": "^3.6.2", + "reconcile-text": "file:../../reconcile-js", "resolve-url-loader": "^5.0.0", "sass": "^1.89.2", "sass-loader": "^16.0.5", diff --git a/examples/website/src/favicon.ico b/examples/website/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b345eb5fb023954ef7de48ed1a01c4ffb953cfd1 GIT binary patch literal 4286 zcmeHLOHWf#5WfBcSMH1jL{TEa=tkngjc$xQ6$NDj?!*l$F2qOTPE8~}qCiZ1(9#w| zi=b4|2-Ezv$q}3cbZ-*w$OW_xM7;pJDvHynRCxMoja`{tYa^g zO2E6IT`ve51VM;ngPDYVY{1Ti`C<}$!)Fi#T9cqF;Bn89#Uz`LJ=13;kUAxbI?Hd!=7R$+ zVmPhx_uu6lrJ7Uwsr=9;dR>%7v##;5=KyT|g)Gjk%|Adc=eMxAexO$rspVE7sgt8f zcWejW55I4zEA|c?a9eMmC$C3biW1as|7fPl6FYev)46n-unz{s1sW&pHUbv8!TsK8 z4s^@X#km=3yH`YNb_Q_{-(Jn5@zF0KW55Rtu;8@azewWTY)E`K4%d$nw*T4uEU8nY zsqRcN**luZ>-9)<==P3A?gIwr4jh+bM8Ygb85`=OHZo32|}OaQ$pjleMaZ*E-ZYtD%J1H1nA3L`6MUsQIFo?R);%7e84=PjhyW>1- - + + + - Reconcile: conflict-free text merging + reconcile-text: conflict-free 3-way text merging @@ -37,13 +39,13 @@ rel="noopener noreferrer" >diff3 - or git merge, but with intelligent conflict resolution that - requires no user intervention. The + (or more specifically, git merge), but with intelligent conflict + resolution that requires no user intervention. The Reconcilereconcile-text library tackles a fundamental challenge in collaborative editing: what happens when multiple users edit the same text simultaneously, but the conflict @@ -52,18 +54,20 @@

Where traditional merge tools leave you with conflict markers to resolve - manually, Reconcile automatically weaves changes together. The - reconcile(parent, left, right) function takes conflicting edits - and produces clean, unified results using an algorithm inspired by Operational - Transformation. No more <<<<<<< markers - cluttering your text. + manually, reconcile-text automatically weaves changes together. + The reconcile(parent, left, right) function takes conflicting + edits and produces clean, unified results using an algorithm inspired by + Operational Transformation. No more + <<<<<<< markers jumbling your text.

The process starts with your chosen tokenisation strategy, then applies Myers' - diff algorithm to compare the original with both modified versions. These - diffs are optimised and transformed to preserve meaningful changes, before a - final merge strategy combines all modifications without losing any edits. + 2-way diff algorithm to compare the original with both modified versions. + These diffs are optimised and transformed to preserve the longest meaningful + changes, before a final merge strategy combines all inserts and deletes + without losing any edits. Cursor positions may be tracked and updated during + merging too.

@@ -74,12 +78,9 @@ rel="noopener noreferrer" >documentation - or try editing the text boxes below to see Reconcile in action. -

- -

- Use the tokenisation options below to experiment with different approaches — - the library also supports custom tokenisers. + or try editing the text boxes below to see reconcile-text in + action. Use the tokenisation options below to experiment with different + approaches — the Rust library also supports providing a custom tokeniser.

diff --git a/examples/website/src/og-image.png b/examples/website/src/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..f13a1dcab4718038000f45bfa25dca5ff5defd9b GIT binary patch literal 48041 zcmbTec|els-Y{&_RA;7b=FF6nrB0K|n5mVSsVOy`GBvd{H5bHkE7x*Y1e~1ol%)mk z8uocQ0C-ZU0v3 zTLlG$?dIqIWvig@^$P`sufo6E3_MYNU!)5B`P%2S)oBHV%H*xWtDAt|KYN_FwNg-s z)=*H0{X;>44?K#UQBVjwte`OGuApF)p`f66GpFIwN#MoiYnEpJlB|EexxyO-Mk<*9 z>-6PF%KTVF3dC#J-~&y~r`LSuN%|jd&wj<@{!q&LhehSZe_eX@xc8akrLTJbb??}v z=x_8x3*wgDeq%jL*VE2i6K8xaoV?R%s5YEQ3@cx$AglRc;4C~Q@WLVewGqE*LOK|&*ujUOdCIi(#n~me?6dJZ0C9(Z`}R)!KtbHKY#uC$8*&8 z0HU8h_Prane*XU0q9CR3=U6FK);|~PZRbK;zWV(0`8mcvUbj8%`21VpI?{RL6(jcz zpC4Q0a=zOyHY`li@a?7_FuA5C9gi$ zx4X+DQE59TFW{Ff47bY@qg$RQ^2{nuF_J^TH^tWa%$FD(k(Z1w)U-CmE=UfYDT`vu z|5>KWHyo0a?1P2!n)zQs(JznLgTe3rcyKoTFMIG_T(kLwJfWmKl2@WHa80$9C%OLL zL{(~{g8*r2frS zUHHGU6{*g0r~r<@aQlrz4ck5|e=N5srQr)#aq*r!g>P*C-zg=}RX|JSw5R0B|E4|i zG$>AK=r8&r6j1$=cZS>L#5&cF8S5pd(SR{7YCgN=KPDJ(8|l$`6O8>tNjr`p0a+sB< z$vKDuK#1j0arN8sH=k}%>?dz0zx^*M|B_7Bax^{orII%E%lp6jzpIbDP<-Lw{wvJ* zU#;;M%g6)scONTHANBv4K9*m~krrU=zEp+w|JnciFBbSZaJ8x#ztN`0VDopJYhR1CxlA>O;Jspe2jPp2&(17^@=gvBuPiwe_GNs{{ja;PDO=k){YntQL~hI#yh-E$2Y)H9Jce z@s7~<=+0gg@#8kF$N8(?rY8QEc@0G3AVYbG&fQ?{MjY9rx6!)BHSNzFV!%#O)VxE4 z1_yI80>bM)3pJ50QeB#L55C7O7nDM}b4E_4EmP~sx(%cD%VW}o+{5kkrvLcHWq_r-j?*cxHV93ri4vX+ zl?ajwQ0)4ZGa&p44r6AC6BuWqrGXQQmbc?#4$R`wKd&bXdNy4d2Q>U`2{@Sv4$xcR ze?vdE<9ywS*P>>twY7#gKQN|`b+6*!>{{GHNPk||XiV3`Gh0*uP>RVLAPa{Y4oX2W zYREc5$a@he%9Dw64E~nEg>T%L`m4)Vi@J0F~5UtqFL`5K9KlbkX=&nmCtr%b{>o5_R_0J}w&_!ATNRvP?!snK z)FQLB;(~@7#4*sQW~RiuIgiGm=5td#XMR6Zr}WaL*Qe19ylb6&kIQ}A%8oq=5m97J zs7|cJU0C&-a3DVBY@r#YQoTyIJ~-bo|p4r>+ds3A27( z(7N2e@41f;7~k~31r!&kA{4%8MBOD14(Ka8gxWK0NUU&RCvdV10hnIkP|Ama#5l9I_M z0Py`;$G4KXdJmpXElA^x;yzpBn|Ge^6xIbdHmS^ed14}{lyzvGW`|3aBFJwN_u{NJ zKTsLHF|?QXW-q|^xIE(v-(2g`e-`z@)|{msExxi&@5d9xd*G5)1|#c}w&_nSWJTWU z3nxB~e>IkX&%Mx8Sz*3dBATr~!=q4sKtF*b^lx{4s{e0$SV)h(G*>)~@4w#+7lP+L zRcE|+O)TU^noF11mKQR#h4?1>Ypl`jyb+sku6g~L@%vT~-hj1sKn6S)>%AN{pYYA}Fg{I;_+dfueg)haZ{QYcq)<<)WW!FY$J_$j`UM4Xc z(|v8u#}95_3w5VG<9VAPFB=0I3P7ds+@Wixqg_%Em?GolrM5A>rQX8R#K-kpbdCHk zAH8*5@DI0@ef>&m&Wn9fwD}|Zqb7QIyZ6H0bz(h=YZc)*(i5T?CwazkVL-eOFpjS`2Ye8yf zz(29uS`1Mb8tmP{oz~WFOiuU9BXK?mla3@v6EEisD#XBKd3ePbClL(8>^_m^nOsic ztva!g9qH7^B|b*PIqq{XQ2#a5v&Y`bg~V)#s4y|zV-)je;>JdRw6pb&%v$pWV#n~4 zmee0=GBP9*Gouoj=I~TqTMxT z@#Z8GKdhB0&Cxe-`>9=phT1p8PxGjLaFsU=F@Va}hJXJi%a+#vVd%X}g6oN!3{9TP zx(K?b*#jYz%v|bqzZ4XGjcwM8WM0*;Mtpa@ByS{~br}|ObouW7a+?6=6-O8x9#p2xW`z1<4Da+L7bd_2I4QPFG ze@@zKWB1yaFgTu^^UpVY@Tw1+ny_7i?ixM?+^GYHeP4D3zExU>gnUaX&B?kQmibi9nxa@=N^_ zvg%Hy7v8oo_t~BLJ9j~(v0=-+tNNL9?YLD`rp4;MAv>KVA;LMm@8;=c5p z87P7n-}LN-#pN}UsShtVK`+NBl&&$(eTPV;(q`*JnEJ%`r8bS%J|qzzvy_`SDL*@S zPyIXy+M7IYXL_Xmns_9EfIzbI@8C+IZDJK*-&0p*Im>GN9Afmvo5?8 zYUXJN8`7{GKwg{r#K#v!&v<-%cnRLL{8edC6}TU@aA)%i=MqLN5XfMuenpg0^b>k6 zH~DvC^*Ang6~x^CZ~ZV4yr@a|3x`6N>SM<2UwQT8XkFpL16s1Pv3ampPpuFd9XO0H z;0{d|_Spy+EjSc4nMa9g_!?X2YfaYNP?q(Z&P{eowM`Mcf?A3Tf739#+$T1?S>!25 zi$faC4|$F&hv`>e`_6BUFX-OaA+cXi2i>Q&3S>pT*r02Zb`wdyFF`~Lr~NLwAYF>G z9Wy2i?W_fy7Bb4Tlt-!L@->ksOn7lwdS*{Hl%;7N_(u`P)DbfPV_t!I1^2ZAN@}>; zam)YE@Yp+599bjRB7&Z%3yDd-T+*nUj7W%l1n) z4>X#q0q=;^oUQi7D*Iux*$H~?s?Q4yyKY!lg&OU;h1c$~JNKQAi3hiyUq68UNi`&aXCv6G20;*b(7k=Bp ziX_0g5saCCY#?dC9hkLe(ld|zSQ%v@DSdhjX?pu+{6dHo9%EnlcmQaQpQA82iyviBGp*|uuWDJkDV(&(L_5KqJ4364Yp&(w4Mvl51JR=9}5EL zw@i7`0rt7Jp=*=bi^A{^S>^&)I~L0-IWK$wc+Yg%VY<+*kGdN%7^d^fzgO1yT68Nx zjC2P*j4a)zUF7LCHutZ^PR6PmCmM3xLU@Ud-K!k#=u^QYB_Ey5HDo^AkgNf3 z9`F-n_AbpK^^4TIHs$aVIk?R&-fUBHzX0BsUj#Av@JK2hlACl2@lE5Lk%6-D1PR&l zZ^&`zQpqzxCd6hgrX__|L)rpBaJVnk`BPoIFky^DEeS04K>OjEcoVofbJJn($*-os z))G#PN)v@svvJGGhs$mSD-I@v6eJoT+Wjen%Fc(w`?SG z4OdAKfrlqc*@>|S8=SO=NvT>uqeQj!)zp}}t_ z+M(4%58?uDU(_hvPaWfL9QiVopK@YMoNBm~_NOJCb;E8+PMFMof7EQX~ z=IXt=HQ&@a5A3nJCx44tzME=h?@2INnv2v<4Jy9Bdd3^mer)^vwuUGxh{7}r?`h-`dpj3T(Pul?x+vOc#@qCEF7!N z)4`^M&(*m03;^R44mbX%YIRV5sb~tRFZ$J-o%qymjTPM>tl=3$+JA&>mkzB?1P)GQ z@yq4w{pTj!Zmb?6TAg)dOUQbT^$}L&r-|!Z*Yzm1_XrL1<{fr^BgJBam=jIf;OHp8^$D&GC-3<}*+^xrL!x4Ow;M#<911`*i~)>nZ6T;Nbr+W$!F;?j~*5 z)&(JrBy2Dk2SZK1o3{(JKfv(W*hp${!@^Q?Ti9ZC8fpE7%8tIua9ivv{W z={U)KiCQu2>Bn?5<@BO&Ndri!BB#cZJ&18;upDuVkMPX6b?kCw*tL)wrvGfjAVNZW z>|;3motlyt2z!CMlv@{k^z$1Yj8sS4^w8wfd}w7;nQGkxXkPR!nCL zc)p6;Xo0wABV7=F`t(5=tBvm20u^PM^;{&V7=OI;J4PEbIotFoKe58w$d&Z2oLv3U zzLfCtvFNaL?ZO{q4tf=w8^Rwj#=rDNMFsoz)LtMlhHoy;+32i#%k<~{r4-wAe%hx( zs=LDydt;Ec(e(TzGs@H`OnCCFqn@bAgk)BfL^~L@){UFqi}$V)ZnkVTpzGeNkeZTM zZiV-x@q~k}!C&>twKR|}CIJ*Ixyw|sX&{V*iMy4bwy*2O zS*iNUU_HTX>3~KB+M+y3PyI48$pQg}Sv}~>ZI>eS94NZ>%Zlc)!-Hqq!6AH*v4#O* zu_cc+?-;7DN9w|vyr3I1G_sonxoAa-h7;>gd*m1|{&ShBc+XnP%R3zyrS;Re!;O2w zXhTqg(OmzqVXR66e&(9@1{^DFI@(1&6NWY|iWqB}@s;j;T^Bexz{?I%svn)!j?+72 zI9XdAZHkCOb)e>5LNC2Fo;34Wi4oqOyzP~=y0&@6JbrK+u|>AAyMy#hNM?4bllOKv zO2%;6X!>!u2z+1@)|59|h@}|@(e z*KaO_UPdFpQG_&>noE*+DhoH3eIHtLvTU~eX(?Y9Vw-JkuGE(@{WNjy^*+|hPgfc} zgWFwwOqy2;&1e7Urjvz5vfw#m05}i-LF14@&K&Qq=bw^Thf8|w zogQXss^s+|{^R`T*+Yw~lNgP-2xI)nfpiUb~46Sx2L z9@#zlE`rq*vYIiud{y$2zXsG{cwVJDAq$S2ij-~jZ1M_2czBjt&B)4?ILm5aKbCt> z_IQAQ1t-&VkD4eHpLJaEvP4$RoQ4Np(7{BG{$b^2 z?weHRq>nUrP6~?B09$hBqb_3wX_js*0d$qwKq-Y3Y$lXLZ)7%(kuLu9c`BQl%-6e8#Crd(vjC`#g98zK2DOL)RCsx=WD z!@vKuG_$TN0>a6-<7j0qT%@DPk)`a3xht zt6IO`%fzp~{p3>bJLm=DDtD#_eX8=>*NzSxH8ca!{lmJp=!!M#g*_t`(W2_7rM`_Y znxy0Rk-V(s(I>F<-Xp21;H9>PHuHA1Y#nwrn8t2=iY;VvU11DJdY-P~2QFl{+meBK z*KYmX5dY7mv4Q*hj&Z4M{ZD$D6gAl5Vf)_E_Dpn6v>?RvFT}(nG<7 zHP?UABRAi3fu`I#_O4GG-s_>MBF!d}QL1i{%g1>pxiReF=bX7bt%j01K@VaCkM9g5 zk`_kS-s}<^if9tujTOe@1uRf{4wCavEW~MfpbkP?o2C*3IFu#NkUMDQU^&gF?{f*S ze*kigK)Vwr)OQn>cwLX z99^R^BN3@DbY!wR8)sf87GV+ab`t7V#D%8kw~C%(n}Z#Z^c2`})vQC}g|E`N6u|ed zTWp7}KL^^x)iJ++D(vMMO%3#&i!oRm-T>0&e_)<i7y zVf40S4Cb)T8r3_YIfi%pEEK*X4(`6nDks=i@t<_4oMhF?gyd9#?>QY~?l{{}hLPR~ z6A6#(;|-oq8m0^5@?ro@Dv99lh{L)01XnF|(GIRC8*oUH#c+}p|5*f^u{U9qd!GK3 zb#5i8{w6`M8GpHIz=n*E=mFiUkOsK1btQZ1XNCwVB-vqiMvwE34#TLE^)m(8rtqoG z$=k+(S6HdWi4`T$iUa%Vr_T{A97lQSQ1RI@U`yV;8gvIK?n5@(D%U3ttEd#$D*$a&DSTP_rZEMiSios>-{k8 zNij(J)6x>^3RpOi<1&vr6w?+{x_lDAw0S-*&J-3tewt{VE)MU6kbi_&t<=4|Sw5jy zuVctxgwtH%+0VEGz1g|vK9$iWrQV*r%AypTPfA8@Q#QR-UTBFD4VvCa-ac{R4X34E7Nj_!F<8!L*)cj;?`qt&*Gm(&ey!HBfdT}?NU#FDD!WRz5f+8|77Zb?7m5Ju_9f` z&49m?NKI6cED&^n;Bby9$W;z<3B-G{nnxm>0x@bJdTf~!5COirY6waODZ+#8CbSea z6ovHoa%j}^nWrTYJuow!x*j*;y?j9ghVf~u4EVtPpN??JQ#9Gdgv*Ra_&kQ#oHj|u zZjV}fv?;NoFuGkBNQfht_*6|~T(ERJCDS08+{LgZPS){w{c?gm&XX2-P#Iw9*l zYvE~QKGg8h`ch{b=<3{^16&IPHyMqCFQ!U&7)Z!HdX<9&B?eTs*y0;@t>->1^ZDLy zv^lvQmB3^1E?h98(eco>&7v-QFf8}jgDTD@fZ+eOQk^> zsu@;nV<)>NS)-~b78FvkhtluE0>|r^nvnxI#waWtdc3}-qjHP?Xin$a>b{~dh^{&0 z8uC}C`K3)Zj9RzgcAM_#(9#05>Twl#w|Y@w5^`5R5J=L*!3BB8K704-3B%cG z47BPT;aNuf{S!lACbJ3dlVu;wD~D8&+_tYVe<0 zsdUNn8DFF3b}HgYd(l>nEpE$2hAPy@(uihq10m9<3x>8jzG{uTb553%pK8CPHy-5S zs2g-Zb|^OB1KzuGeM}d{+^yWic+mssQGjD-gb-|C0-7bTo-(+3(qsbMsvF7rc*_Gd z1~z63cq%|L+854&ovBbd;dqn=opx&!49lFvd-1^i6R`PvQyXMvNgH$=OlDVmlG>A+ z=f!#`gX8d^nIX(>AgEk%u58z?)m3*4jOoQ4hiPWw!n^r_KisRh_q~-z!vN1Byiu}9 zUvS!=xp*yVq;S{0in)%ohKQciaB-Gv^I#<`Am*ZN$iIq$280DNS)^dIzAs8*LaA5Q zweG{a+=U#URSV)C7qQ1jI$66ROVvJ7eD?`nPdCx-j9b+8e*pnR^Za9D#Nw-WJ3);Qu)C*3QD#LRi%Ry~>KwY$!I0Uh zYV5~kf@Jt*H*ojQ#oH@&Kvl8m%zzwGqD zOwb&mN5MbXC=>7misep&N-@;K_Q zCrL4>fz=!Y)SlBXiVkvqi)r(p0m=lt&?w|iId$d?R21CnZhF< zz)lds!Qsajn9XD)WOZP7*e1q*al7T8oJ zVu%lcdV)zGQ4`*)D=BR;MTpL0mWe`>H?86>?^bl9pOMW%C|4iz~u^uAX5uMPKf zji*r1LxeUz^RDqVtFAe76#uE;HGb)unRVH)n&DI~RCwb78C4$gp*mvJ4Zt~rzjmUk ziRWB8Vjyjx$SBPEeq-DHL%RO!wxhWr0LS*uecO@XkfHtE{@BJT!T%NPQSl9S7SEGhFkWd5$4> zef2v^aNLOXCcsQ>46{I~4GrxXxLDILproXsobAuXijrS?QJ69U6}eOm(Wpp`shWT8<#Xr5z*|wWI5dA3dSPc+fM$8N zni2F-DDt_VMS_)+>P`??1u-v_L|49yF5J9}hFqz31Xbi6sv3_WFUOS4G)gIdm?6Dc zFB8$E`NGl#0*C2=RwH!6-VRi*dTp&RXn*LrHkLLNT0uvtZ9hxf>uu6OXnNxmQvT== zV(K=pd#QXf7jGJUUHD;qE|b4z__(Q~NGs4`c}yyp87uwwGlDu>r<6WzQB)jdTQuEG z+#JFbBs@t6l80blEL8i&-~=&VwXBYQ8>!QvX|IKG^J6Lv%1Dh|3L-&#!@YZBiU2d&xl z3>+?X2@&lw$iyBYDzEtjN^7#Sd06Y8mgt^ckF>(GSVc0sf0zLjmiV8#Us{$UP8aP( zF1-_&^Sx6$?Om0Pnbou9mOHE(ln1?N-NtHnML!jmj~GIt!>p_Nh~*4Ae=BQjy8QIp zfsj`-dwH-ak!KhCo)5`KB=x{C75zYoTy`bU=;0&PWcbUE=|ql8Q{}to+KCk!!&9AI zJKWgIZ%nrh3>6?5{QBm0JhmwedMoTCjrYL*TzSs@$iR8{b^(ZU=)KQah0iW{1hB5c zJu+oON1ODp>;3PeVI+^8O~@FO=c|*KU6sca7aE*qpL*Uc-yQ9q^cI!EDL>@6JoW_d zH14<+Z`i*0Ou#H>6feZZ!!(!>R}(uhw2^tjeMQXOC1s$kMQ$1o_ARFf4>t;<*} zUrf{FPXo&+{AjZt6FhFc?o>I|zwNxKbIhBPDWDpuF}z4CB~^adVy;nWI+j=w&t2fG z)byMMRxvVd2z+BV^^JMQ!!&{y`q}i`EZS7}Q`QbCT(|x*<}?48BVUhMpI z557n$#^4sF0$0YEx>8nGACU?C4v#lY9=nU7k7o{|yu|pSr*I|Ip{ukzvnn;M=M8#j7{o#Ihflqw1?YZiV$19;>(WxJJ9P=i{eYyBK_| z9=S>;vlnxK+s(2ru$g~Q^Au8P(MO?SlbiA%judV_8&o|9m_1+wJ0w=18 z(x8!z)OJvi+wv=?32x4sSByAHi;iII12)h2RFe+<2@79dptUt))Mit}dJ>`5Xire0 zp(JC{Y*_a|V)Ne6P&@KS_L}?qmvnFO8d%blT78kf3vK|cp>R*;BSL@DZ8|Po>M>I{ zAMD-*tRd2MnN-B5UkJ8ro04Ihp8ynx-OhKBde`mC{F z825Zzjwu2i|J7|rJMHkcuY6V-4iH}t>zmwb)(Qtnnt74cslHg0VM?ABIvRPp6H~&D6W_+-l9# z>%l9-RWpshNw)J7a(rpz>EzSiPJs{J~t&(sYl zK3Bc7J$h4C(sM4J-(Y2Diq!tZ67;%vKP4b*qVH{U_v%gI0E3?>3`);(Pd$;I&bLWp zm-iK69g`Py7KP}-90JvJ>!ufCsfqj6-Xa&7DJ|U8gcMve`wn6HRgdY`v!7lL7~OvH zsqv%v_rOib?tWRp2*IHrU-6~q;=f+joZ2lpDm59`Y0-4C)3vX&;k)m-i=+p9Kb8Q( z=6@gfrof~;yKVMD-^!5ipSSPUtMiXVeg`AJ9#K0m^y|YFslB=Q+}09Ovst=21vgcA z{}jXZ{aVp|_iEB_`^%8P)7al?!&|D3NUcnbkDc-2kBX<(o^E^y-|c;zA$0+dFG~9g z^-lm_-&g2+1!ti{wO55)r(bW&*8g=q!Ho?Msz`ug`)gsS4Vy5893#P@PJbE2DnIvz zQgEr=b4ZCRV^^dYEufi_qsgvP_F48W6oTn=Tji#$zhM)UgpY%*i8j&l`LS zB~ko}BfMK;#bkL0^;EyJnCZsQcw&b3Kxrm$Dk;`&;)J#!C}z`6yNK)J)d` z^w+gXaDGw+jGIjeqOm&R{yck>B{F>8WG^yfS^SLt6(mWE@B2~WvrdFgSAC3|5r6!y zpDcq?COz|WG5$*Av8e2`Qx%m191r<4hq_I%swJC@CBAn=Xw_}QY(>!)PyuUhwY7}2 zE=n1OzNVs%8IDGU&U#K88nfbK;IBWMHCaFn65Z-V5VyAPpdps?iO*Ns@k19eog#PE zuEuan2crgwRY-Ym+2KGUtvd?Q%T$B}=`w9YR~EajtkX{KTvt)i15=Ojcd}$wN>7DU zpgs6=ptJtql%Nkdz&`l5#;gCiBk+rs7THm&bRB7bsr8qQb;XwOFMA<@n3FHx(FJsr z{CAgye2a?f=i}9NNH4d_cftI<)3o@1Zxxkqdp`G{;Cg-G>qsDv`l5lk{;#VF>jQSl zH<|*?uwV37{;j(yN4|jy=)RI4d*n-cec6u-sQ2f41kz1ox&NP=e*XWE>3?s?jsJfH z{*-YoPpLgw#CuBA(#1mzyfbeQnn|zl;d52)!6Ubjh{z5CDVi>|s*mB)#NyKleEIaT zqJrCG+=VrQ1@Eo*;QH0c>yENW_%Yni+Vak;=Yx)p4Z6pxyIZ&Euf^r8x0nHi?y zUFM5vpFC#sO@CBg^+pDeWyOA56W-GMl`=3iHhfN4o_r-H&Y(y*-gSK6`xGR|900d# z7IIaAk+|aum*%Y;W*@GRl|#ft9A}?2HkGX)%kED#4&FFb#DVxj=J$}?Vkoy_J0SOB5BeBC4WAGJZ_OfWQgv>JHcUhu9*2o(Lr1109 z=(X0qw&e3^BVJ3YTtm}6!CfCfgTw4>3@g_QOo@1%NQ~o{;w9~2#EE2lDBmX+ZKJDN z``g$%;-C3#fftb>M`shzxF9FPOphKFLODd!NjR{H#Hzhk)%!*q(p~FU#pD^Rx>vqM z-5Jbd_2o70f-9oqO&=s&pdN|}e&UEQy7n*jpELBN)yY36r^aZ}{+&+5jG{IYIr8dJ z-|AafgMPIF10#}M$hBU&BEF7s6j}BD6(^9KZ&vkAuY-%BKk&qFC4@m~Z_!>6PU8t7 zc^8)l)LBWZFFAjRi5>}H%>n4Q(-8My?8mcE$OyikDKLI8 zVp{LfVJ7B?1BmFYcwyi72T+e9?&Dt~Xr7(JKLiE}kIk^^k82lx%nJdMv^v@l6a{;ppyj+O!X=-$pfW z@&m1lfYX_-c8OAL{~tlP%e^N7VTuiR&u``8h0~>IBIY=T!XB!DN^+s)i=#1QkWX3g z%`T%L_>y2}^U?)e@)ix`2{ww6r<`|x;fVNsJd+S3^rb<=lcRQ;cTwoz$V9@a87rDxL;tc^pX3#R)#Ipjgtn2%dfCe{=_u^`EU|G@R7 z4GYuxQUD&9v;ko#!YfBZdB}hzYY#RqDgm)dNha`39sK4*k~N!%D8D;=&$W-1c?R@r zdSbqt@oMga_LGltB1B=xD6fghB`c_qS|qTMaLU47Tex&fuCn{U%;h)1acD1V7opgY zoPl6TtiZb4T@0FzM_mi%W5xAt96AW+%4xaAYL;{{oTrMt(sJl4lNq%W%=VeHnVi<{!Ev| zth`P0%b~xTBVZ^U9Ob6Thv}+JClOEd5Qo4EfffsW7G!pAjpQe|)n#y8mkbCrImV0- zjg(9>3GkP_t6?LE7&_UQ)HnNPa@;UE%cqqE62}SEX znI{XXEe)-1Sg45Cs$F8(r-R>Q)5FCiE8-*?q)Lf-b1VsaZL%Ap2#y{Qq=P_k!8kcj z6J(Wc-S9NZNO*^H*-rAB+kG;N7h%1S!|HLQu`v6ZdKdJyXqfp(L7|pzJ$2cbcG-ip z2WdIsLwsd`scgwlR>SV&a@{6Vsf z{Z>V|vo&|F*6K#4BN`53MN+DC)%14`xL($q$#%VR2a91xWxl*Nwlh0k9SjzwY*lU0 z-h-GEBtFRA@v5{q47T?UvJ$4G(C)l6Ne4l@E;TPB`aGnYQ;Za)Eh8{A(w|%?NHS)Xs)6p z84SKT8i;hAee9XZ9*^i8{#{}m`DZz}>1wJE+Qcu}w>juH+rSdmv0}%OWQirgF9Ny7 z_IxnlP?pPTs6!%Ym2VFu<0JgoT&$@pQka@bOHeg!WENPm(w7^9A2s83-_Z}8AL)=W zd%aicRO$4f!hj$S?Bw%$jQG6()A;d+Ry5JlMuj4D*qa=*{bubfz0+kU`~#F#k(m=b zSAYWx7|*6~+B<9K^?s-b!O!PDA>Ocr0QV@5H5<-mOn0Clia*`FE@2@#IMpa}M#mg7 zOUTX#t1K-JO^y|S7mj|!2Z@^l^rL2p2eOmTcXy_8njSt|zD76IN27Chj4eM>wVnZ~ z3I>%04tK^*zup5q$64vJ#C4|cYaHEFWV-U(QDHxCOOjUCOU?u8wb8xXb5RF^z(Fe@ zU5jog|KDR|FWiEnSUeA&%>tEExe@$Rs(&S!LO;aT=atUh zE_~7zq^_txc4Bs5@KITjV{pAF@XG2Ol?;N_`uBOwDzm5PdWqN{0EbT5B8_oklS-@d zOwoFV+C;;2*XmJAJgRUERI44i@^&fUTX%fjM`KnJM9naa+Tj+(eXfc8I2!*bNbj9f z5j2dEsH+Z%VD*-Al2OWOl*l*#RJ<%ffZTXEOAPfu6pqvm(HM0a4YLa4f0PW(+(|_5 zqB40yt~86ZY}j3Pj*WxZG+j8Kh9uNMg6U9ICPxh1ei#7ie)E-nG{P@V*IwT)zM`+} zU4sBpE0=9_Fq7ov-0(fBiS`*^Q_?He&i&c=9cN4|*c*Uf9VCuvnIc|o`2p>N;LNo= z!s0|t^q}z8QfyPIKO4{TuYVtGK8xyokeerAGb(88W;!(*NV4WHwa&Q(2m}$7Cw*G_ z7_|hN0DZ@inUgZTFk0Pr1UN>JurG- zJo}tcGv0mKF8@;MLSokkPUtd=m|1aLTd%hIlAVT^t#`I$$KWU=B(N)ucy$aJ+Ft@w zhm8d57U*HDDt@9;&kj)bKh6$lO-bj{{$o?aqphwTZo6 z2Rt}H;FF9=ftsFx&=*T9gRLS#;_M_>4JNR60gZkorI zIGT$?mO2FrI;r8pBecmFPyUw7NTOv zoX|0n6dJq158gm985_+crQw*~@Z7ZXI~ryMaL2hv{*u{qWSz=3B>uxaH4#dUV2Of` zy&R!x?XU`rk%*^gYf)@^6!zrWoi4OFIIrdm=UtyEZIYBF8Dd{y;|k(c*p!b%)s8KL zSo>i_yTKf|4;D!>h3v3Gtf3(W&bRJ*CK?Y?!ariv3j&NtV>eim=#SaM$IKTRCx~#< zeQ4oqTL&3lfjr7>!UAPtEL|lUe)rN&kaiL7P){(#mUFQ={Ku{G9 zY0ERCVZk?I*rcrq+J-{0=RETVQ~!A?m*-N}{?(KlRt<)!6%}+0YB+slfRWV{nZ;WF zZ)dR*yJWM*Tqxzluw=xT^+ISxd>m)s8oKnvd=`^yGZ#9J#J|vJ<#?k?!IE4FNB74d zA)OEi7u2blc{bL3)b(zp_Ik~BkD*%~B})mVgCLW1X1F)A5GoSetx!q?=vrNnSrDGZ zEKR-;J{vystg#(5MO-N`4_MvGDqU#s8!*U5K^BIE2BJF4X(i+KZy;F792p$U;#ea1 z{_Lfl=N6o)KnR7VjwjF=T_w4hICn>6t{1!4N^q0+Ey?p>XuSGJ0~X6uQ&aiS$fh8PR2&%DTn1E zD&p?{JpY`AuFfeY<=fq9x7st{!bJF*A)6cbRjqw1ir3&#C2y)!5n548RvAPGiKNrN#RzGfCkrheL464iH_0Ch{_X;oSyn8(PA{B@qOF(Ln zv|j^;)lk;a*@o2)YpqQko+n|v`Q zuz+5#Bu}y*ZiW&xGC4jf#F54N%n7BsfEXZoVPkxtD&TPzaW@F-M7TLy3PqBhfyBUZ zkR4*_;s|48tv#FCF!|BENZU8BI10;VjLc%PJ8_fW65k58kFjg3QI&L?m-)B)Ym#Ag z%M|nc9ofOn*x{W&)wLhM5|Bug=WH2`+u(oA#=M)BSxW3w+>&shh(47GIuj-_HE`n@Ok zU6`^anyp_qq(q2-6EC=d0FP7?B>lH}gg4UMtpuX_(?bN(YBztR3Co*D{~xyA1RTom zZ5)>+g;J@6kP?NELe?QkcG>r#Fj+_TZDvTQY}vC8S+j2$>x?D)GWMOpSh6pJ!I<%z z`g}j{|9!vL|GHe4^E}TvXU@6Ly`B5M&wa84FJTsmX@Jde!pq)d?un{s?5Mf*5@;DH z*-2%zmV7#0yY;%jbOPb&vin+mGj%^MlcfW5!$O1T+MXD?msaF}U$Efx+lXym@N!_7y%XX6 zLAzMtljASk$q=Hu$FTcJjf#|xy51^soIz6ak9xT@oc&n+$6dpiQ495;bsG;~q$-2) zPLsrz3Us=B=Cpe@DFx2v1U=rf;JF$Fp3Zo?{T2ZLB{E0%3Yu5c_pdrWOTRyr zr8!t`%xY4sYRA!~C>n@7!UlUMU53{y?sds*@89-)6Kx$+nSmQ_e!DDHzJiJVDQNz_ z?|55N+mbi0q#fx|RjsnajF_rM098H2veL3Eob8<;R$M?jLq8W+q31N!Ekj zvl^()%F+G2yb(%p&rngjW{i`8yHS>_ZPx)b(0$T#)*CtsX?lpt^#w%~SoFJpp9w(20!z$`e)-Bf0R954e7F{)9YJBRF5BjpAoWB&8sYtT%|@@9uw8eeQT$$8GV1&wA8-D zH3ltmvRW&4drUZQH@wrm69iy|=n}D=lqF~#48#~;_W|Agff-E>KtyoccAX4iCF0G0 zPuC4CD@T`2>XWAc$!-iy-tvR@h^=K(^A&j-s6RchwGiLQYh$jo-fie z6_|;+NPmXJ^LI8Q&;}T+{hIB=Tv;%$QE@YqTHoTs%q2c!adzS{G_FrZl332uIS)EJ z8rBn1Jxs(OVMqjmBcs21w?~VZgZXLsqE!1MRDV6Kcqu`B@}2|;SFqyq{$w`tVqCqK9ea#N zvY%Wxm-6aJpX*r44iN02Fyo?5j24Kx#P5x%Vcc@{MLdeW9o38L*>7lEwVZy#q$HM> zGAgKMP(`e!5lX=iZYjk0iLdv4f&|kDk{>w~VjN;7PxCh0!(kwDdPHi z{%_o%cX3~!{ixcW2T8`P81XPhyXkimT0N7zg*D3sYLmsl4@e>3_P^L&fCP`&y?V>T z`!ILe9&RsjkVtkP7)(s$wE!@-hPCy-OMKu-8)djrWQ;!k2e>XSET8m`Bw zfQPoeqT7*QI+|t7){f^NivU8q%VvP=0CqFHaTF(LpNRWw<7KXqyQk>t;bg6f9 zD~~=n@z8yH>bnFGYxvrumxlc&c;*gl1Dcs<{D4Jc^bVo8(^|ZvnTZs;%oBc+w5-$T z&zZ@j*inknXh%TtHa*U5txPi-lg-tV3p1myf2O&zr6Z-Fx5K=Ey$OF-ySvD}jj%K` zxOT->0~dRlcW4DiHjMnpaUEwSpX{xOAWKA4*2#c>oD7P^Esbn)J_aTg(B0C{=OR1S z8ILDdj187nJY3x2go(N1s?Nw0N6!|KZ5}-QWHD0qL~pNeTh_<=G%*f^1}9A5zJO&? z_KiyjFSBD}tj=$O(To46Hv0KK@iJuMuBa7^tFKT7Q$>`Bu(MWNmJE;MRQ;RipuKnZn?48IBuc7BtRshaG>14 z>D8WAU*B96r-3Vsl;jvaY`q^=T|9}C1kS9ka(6lz)oiwl60=u>m*WFZM6OL{kKgkvp(Oz_ zX?c*xojB!qFo6($IyMe_dMcnCS(sQrJ{u&o?y6A&8=ZZ!#Ec-*MI`i@3w}>bSr84k z`6b&DVh~=9ke2AQiDMrlq?jjo)QEQ~8%g{6_0oru>UA;a3PkVh+;Ddzi{1OZw#u%P z9APKlpXgbm!GE+Ns3x@7gD3pX>Gyl4$io_aLQSga%nFiB0%DTbW!UN7v2V4@YPe- zH`~m<9wjo*js-Gx#)8L$JTceWdnTl6oRcxAnx_0GxL`<-x+_R5We;_>j@)PM$L>CC ziU%89b2xU`96%MqBs(*Y#|n>dN4GT(1l%Q_c6KROy(7HmJhS?hw&XZe3zbbKxkHY+ zK>TsJBpO0KnNH9X4T764n$a%M1T)lfkRr@HNu(y}vf(2gDqj0j%zwafs!XE)K|MHER=Bu7MK(qfL7@btYAs5WJWGog~_=HN+?fseyF7{03p3)Wl zYA4AP9FY$Tepn)ATeBG14kR797Tg~q7^g|EEomxEM^C$vP>epH1S@DkOPHDB%(nAm1KLgY`fV-_kSziGo+~*sBMDR~A6wWD0oPhgj!~M#a z^XS(muhb{m)$CmZqrJg{?pB*osZPgx?oj0ccmnuZ<4MxhkK_$0iIZ=$RCne=^FPd4 zqMI+*(k3E4*$lp&IA!MDO%G6hSrrB;g$A;Crn$z~okS(bYK$VCvUec{nkP=8_{gPRNvE7zI%ybI#q;6YmgleShQ8Par znOcZCRg)OvhR! z*m5FMZi(KfYsgB21IpNE&3x zPv+`N?;8JvAM|@mp5PY+as>|(W3$RNiOlyN@SBQPOyMAlF)QMPeeB}l4Gz+b?+xmb zWsJ*KNF5-WK@t|o$Sn1w#abUWi zc>jqH=tsu&d?!2Kf0r5$7JV=f2kot}v*lpXp9{8rZeW&Ii?<`{n06}lD!vJ3)vFLb|s$)HNo zI~z{rga9V;ybmrh`{iu5Yr6X;gmA)OF^fTg!HjI~PD|}zQlO}&>APRC>kc}L8FT1v zX7%M;w0AD1=EB zKelSlLyd%gJKT-rJY9%_bHJx1k1{~Bbx$XjKOS5*-KQPFAQBt?5zi`*Myj;Q5q}n= zRT^Yx;xy~^Z?gbi56!VuDd0B;$i5H1;3S~t@T0Gw&wAe1zx(0Z`7Z(WZ)k7wd3ZK>AU!hfj>}(o<>`sPbx?@FaI!JPc8W!1pte^y z{rX%NWbu$RCaHw6)<6mG`P=$;-3(vx|Ay#?h{iE1_*cC4uZ%}_M5!1urdI^Q?1SPpdR`hC2P_!(dT zJgM(mxLx0f5n7D;>cLg=9Bv%zEpun@a;u3(hJpHy-5XkjdiGCTsZ7ux6TR{GsT36K6E?7o`@j(otN4JIpg|d}8 zJH#!%Un!!(Min$BIi_Nr)V|TK3Wbsxzhwy_B}_k$dJJq06#5^; z-%T>wr5w>ep0PdWxVYLC=WJUfo4O`T#h5~9W2?|WAD^U69ll=s@S$I_NM84cik1kM zWYyf46d_pSV_6MusR+hHCZfO@?h&RG5LT?nRelr>O<7mN`V@` zHCSZ*G(i-#UUw?`O~R|QXzJcv&y*zo#|g(Uw7?~O-1Gu};_i1ZtkP62HGN}s3}_fr zc@=u(+-1PVC#P~ejI_;Ns!xS@di>DYyq8z`b3-#oin0j+2h=|g(91}WKf`GtODE5J zr3x8Ehsq@-J`QCAb5c;%lA~EPe`esUABDuB81ns04!4?@EYMqXp`G29yUn6Z3u%G2 zEjM*%;;(k-3W^gk5cOnEerbwqr-!q}7J?$;m$n87gOZt+qfb-?r>@ejBC<49I9(Q( zqT}x;s6se6kb6ZE6#JQ2J(Q_(E6M$7`I-{Om|ZkDgD2yStJ{KhHMaB$xOf z5D|wMaemkPyvu%P&(RmmZk4kL+LF7U%nZ0AYM7GD(UqM^^i`JC`XKD-^6lI@2AUEb z-`%6T_?T)GQ=bZ3_uli;v5-qweJAmW@3wLPza`ndRuKc1*mEg>&5k>wSA|_p&|`&A zCXK?;N@$`Em!qyRalibEx5BT;0O*y5j1I^7kcX*wFgs>d=Vls$Xnae?t-04eWCWC)aVoe6DdjyFJ;FpqE0!c}PSad||R^1+A}a_Q{_|H2`T%xW@vOz-Pd* z8eq%4Ci_`iJsJFFR|)pTA3WGcUoW@qj+pm_Dx+uM5r1){y+NaaH00`b|5doU?_J1R z)C$=9d4s2_42`CY%mzs;k_6d2+30~w7Jd1Ui-7J7o-Q5Fs2U~dl?(|iOM3};ZGP9s z$o~S(>$SMNW)S>oZfAOOp}KH0P!wuLp&DP9cq<{0c^!txBiu{A=|w#Yhr#fDAi2*4 zq2XUT6kbM*VNnc5(U-xgrz799lX1Q!q<1?#vn3;BUFFO6f!C&O4Nw*Z6Dl#owJzRQ znA>E@3>9h+XYOuz{6;AxN-I|*jw#g4d-3?JsD1UTBp&v7{*mGBidrYr$a`p@gT;Kr ze30e-4NdUs>%|Tn=lbTU2|A`dnQLlmThx+PV5{P!tUB{+=T;JLpY7nz>))8=#b0)s z)&LC3+7Fw{1O4j5W!gXA_wucHQ~XUbS|ePM4L8R|LO-oiYT`Ndi#ES+tPmVA^+SlZ zX7w4kx1UO%3oFN)7rm-0Po-#TQ8UXMUtC>Keo%JaKP!+0i>KJ-HvFLV=i!B&jcpO? zSfXq@N$^HK`CZ=0y-IEm%*6Qx1+_cFN)tL5c!;6&kgr??O0&=Gd0F3?oVDPJX_$t z!?7oVWR6_ZLwOh(vQ@42HL%UE46m*@F~}Se4t!_gtB!LPWSr+~a`A-_{+$bsuG&fK zLQ<2c1S{=5!w)eI~@-gF<16 zOzz)NCrcO+q|o(~#j2ng3)N6|40YY|n?NS-RCDK6dZO6q*@aIl?tIn&-{k(6@OVLn z-uzKp?LD<`KYcn=*g2Q|Ts2{b^4&BCb03Qj#^P8nwgLo<`QCv0643vH%-8OGI}VZj z!{`Q4nog87+RFDb7soJ!lp}=>`V>mfSrIE29G8}Zg`g}zfpv1(zscb#T1HuL{ zl)K>#{q2I~-<5#RdOt5W}E6*D)wy zYu}@3E@`?gQ|DFh-fjQo?zLIdy`mnWvu0>e+HFaGEB0wuymhaMn!k&J$|J$yYqNxn zXNI}I{3&^VKDrfTs_o0|Y_N=nS)cCV@X=~^98{&zPgJig=d+*H zVxJKan`7+%k4xiX64T9`fN+ffbU3Osox{TqgU!1jy+Od{XtjKYf5V69eK?^ zWw$#O-H&}V7;5;lScDqgJyQ_~uKum2wvq&IO7pz^)l7Oq+271#X#h8Y?o##mCGkt~ z%mEP3HnckOpajfY_~LizSElstYJGP86gmUlErMY~(-oZhu05T(Y6Q?>WgO3SwsifL z3a0A7UjzOWR%^;vKW$~Twm@rfQm>fcP`COU51MLc1M}gy7(UBZSj{M<>sP2SGZR0( z^{6K`4UihLzCJhRh*!Py_z4BS=H}7Z?Og9(wYVv$l>SubJ{X|6jEMdj>K^Gu?F3tl z#wY8Cgrvc6n-b{et%5_dZ?VZ?8if1SqzKn%vuBmN>Kh4_JfbWd<_DuQuJKeqU2anR z1kR0=YAS$QU>aLb3by#>l+8POx4&;mjTC=6Ut4K=taco=<7y$vM!)EHyc=p`R^cU#?3LQDSQhign_dZS}H}a~G2?4`HjNk8M2&e%F zVQx)P^Moh4uEan1MqG_%^W<)hVD`i--==-9=K)B1cIDfxJ=TWw--UT{NA6m?;e%I$ z^yLE~BXu`0bele+HMu?J?}mTc9A9(A`EH9)8f!ZRJ&f#uxvcB#u;B>c8LDnUAlvxJ zwT02`A2It}zaZ71=h|1A?XQnt@u7JE*U5r-UDvHCGfljkAcwo*&J*XyCTTXd2UrsN zSdNNQ`y?Hls8e3CysK_X@x(_UO9v7Js1qKY!XzG@lTo_5bTl zH20EXqcQG(YWyk0inE+ER6d?z`2QM`U!SZzri%Z+EnoY4UAy#;=Js#Ztmz8sjQ?9J z>i&iM|9<}S9{;2uRcgW>-fa;*J7%_O&41tW^8T<@p>tY6kh z2sIBr?OZ+;V-d*U+z9PVkd05R(2h%#rX)cjdONjPW^`pp!^Ua9Za96_SvOts5 zm$RMt^zJVYoz5o1iZ2C;O_#6g-olNJRlvqCtlumFKorF1-gD5`&nU5}*{n1sx!MP>8NYt|MESEo3ps%(4#URkqmY2f@x zqQv0!V%W;wBQ2tXMwdfzqUHfHYEL)Cn<}+^8w^L&m*t2ceO3L^cbGFh`!22fNP)s+&&P19hMDC3Auwh+3 z@Y2E5=qhd0(7iJ@BgzZfa0(V7N*xi9>@y1f0B-F$Msy~lGvMBxdJ`|JBPpX8h0%|G ztkE9dj&Ys57?|;CH;wQkrxSby@WaW_+DIYfrm0JB>qV+3d z7TdNWY?3K{*z}}l?_uM43pxt3bJfYr6jgCkeGx%MXM(1v-<8>*#*#4&2jL}{^XiQR z?o0L8zjH*gUO#vP-A*OhMkL^-cKe{($fJ;H-am*pcxLb)a&q#kBh*C$+MAl0ZaxA^ zirD+aY_knnJlroBMi`c?T}kASkSrJ3f%mYyq+&Z~*yGrks=F-q%=&%guVUsF-ZP>A zbeN`evFmm0xK~k5#;6!nWH{G#CEH}kj9lA~2wQv6+m4>OIJ`yUqLYG}E zq{p><@7)3JB3lxe!h%)7-$$3W+?=8fgsV^VI-)4l?pBdu)nVc=^#C9^YhR#xU`%^; zLKLsK;wl4Wb8Voq7a`%lCxb! z*u_(iX)?w!k{aPG+5=u!4@^mJD+ur z+GQhiqPxl!WOJjS8+hJ7)YcsDXyW6L%ou|p9d7P}Dsm7=#DVXlDmm03$ZTf)#Rc!X zSx*)GUHlraSX>Q1$2tv!OM)6#o}k8e4qz5?D&np*b}`kb?(DxZ~~e2$D*L#mKz1AU`k+VSe-wwSFCUP%7>vZ z?(4J}B|)=SMDDsSOG~3(=zh9z33ki4{U_f{{R6*V@y~#^ma49)5=g{~dGw)Ydk7us@eRaldp5_G{G_S@j)@gcIb7y&I$jEGZyt_WKGwlOv z3c4DYCR;Z@FlD}>SC+Y;-%?G31!?dli8kzphL4WG=|$H@y&CLt@0Ea-QVX7sc?1FB zX9q}3TA(Pf*tQx;yU}2c@g)?0`~bY}C-(h8tapXl${<`07i&|*CKNPUR-_`1y8b-v zf_JQMM15)&L|HK!{9)?a_Je)7sKV8IlbBiGamfp^?5BcWqG7jjiaYBCmIt8)-G!Uy zSCa=3*}3w%D#IzyA8XmU_b}bJS6Cm{&o*WVj#oD}pSHU3F_!+}jcX_En@|iX}(C;wewx!4R=VHM~S;*&*uk&#BT~-8hL_%y{W4r8k=3#^D#&S?g}S&_~CFTC)(y6e#NT`M1~X80MOK2e)9!uF`|nP779hn>6~85)jmU%(Rn&~>fb zGEB_I<4A9C@ zmj}Ps{?wVzh`6j5idi73=BPHCSFR^38WEp&5s?P%J{U{!TwDV1OS&}vE)w=W0Aq7d zv7!xAN@l>-Z*($(+XHnt`0bU|mO=2cV72Sk435KFb{#*n*xh#V(#=L1W;m+gjGXcT zP&bkyL%-H^`UVFx-M{Y;J}&l-@Mc`!eX5jQmFv6Bixgq@0v=)x9fnFF8u|9Y>%skW!JK^bTqmDY9wa+1~Jk8s8Yvo%qS+0k#%t)ao7I=0J z_0Fb_EHQea^vFd%`QEnD+VA1_Ka_VCS2dZvZLd3go^e^L3ew7SIv6YP_>jSDDn|Ma zpBw515PXKMk74Z31|dyf?(@@@aL@yVNIVDa+@JWbdM+0?8I2M0l)j&TNo2Nz8`!%X z#LN#HXg2&@r_wq-{O!@o2O<{dNIyIH&T>Npk9QwuEpzX$YGpZRnt_-9QJ@kReoUc} zGVEbpP}F}KwTxwh!*PUU6yfNo0Y#`42Q{Z$rI!r`7H9~F+&?cytp3pzU(<;FqYP0k z)yA3VL|3U@w42O%Xq&^K;t|?5U|h5<`3sMmT-9vdWDH4Ih^Fm zQCVCNW_|Sm5)j7h!5>l>W;Vm3U%r<-l4=QEJ#JxE53V3EdR3#ZJlOMyTK{f-6mz~^ z$KUEs>~mVp*`u{K%4AUE897bo_efO8qErk}Ws9z{D)5QR2DlxWL?AIwUoJ3esckB? z8XO$$MhD^Q7)-~vX8=xO3lpE_=LfX145B!Ky5*k3KiXfz%k4FE3f-rz5V?E3wn_{C zoHkB_9wO*q^;@P<{YA9e%ZtsiEgJ@u%2|z^X-YBWses*5+?kUf(tKC_cjQCisXHq( zsdEGeL8j(fSUJOw-UthjJUSJ+`)Dj4uwd)YqzQNBL^`>FmwhL?%`J!@E;&&1K*fIS z#`^5Qg+g@eOK<3+3XD~jI4i1j3N(v=`JNv;?nd?Ag$Eo(VnMAydROLNh|7Gt)+ZL+v4D*&dLALdX0EMJW26a8^6jaD+-C*m zDNd~l&;Hq5y!quPR2ARo1sYt93U0ieo2)L-JVJ9H?d`o@N3xv9sS5nA_qtxn*l~ed z&Ei)77uR#68fM)mI+l(Wn{x+^5mjaIUpaF4q1vBov4KSC<(2hJznLiv{4JE|)6S^; z2e%D)9?8CIC3I70QWS^iG3f^tpVKe1n@g(cKPVH#dwip_MQ34RW@)SMxRSWFMV|a% zCwX;lLbPRPlt|{tgFkv7H~U+%^`-r_ox@*^23CmjA$Eo91ZY3y60rB_^i)X!*59Q- zb1@xf?0(QZ_f#OE6-lqp+*C*p0hYmkBX+dp{GpuC;Q^$TqM3_+F zI1({-uj#)LTT|?pVRWGgLGO1)CSI8>CcU%QtpsMscO@DtzmV4jpBqDZxi^0WOrh?~ zbGHPDSS8Ayo?>@|MipGVTn-jZ(uY>q+bctZ+TvKvX44s8U|45r4Hd_Ceg*$hcbzK` zY8N<@WvQC2ai6bpwe+ZyAS{df-=s4BC4Nk|)}Tkm&B($7&%)shkGi7%_Z}g7n|&bz z_^{Oj2wj+rt0`I;E!VnFhmJp^EKY-rxF)2*v|5U}xp63wv?th#hpn+*S`?#A7+z2x z=Wg9GlZYyd4es=0Y5DaClKniBuX?`JPruRq^UPwmbUay~uFot^1QYM%XfoW#1UQN! zFqLm5P6urq)`9Tg@D{Pz`eVVPDEKYL*a!icnqm8XKVXGT_{}Dkgf!^$NQ#uE)dHUs zMo#sk>K$fR%gNQD#7o2GIt2#d@0~k0LU~g>onbx8mk(jGbnUyZ*%Mmo^G>0Yk=^Yx z^r~V)MGdD)?_y?cthz%pUZ-24e8~PJ(3i2W;=T6w-|#!9qoF2^br-iIN&C{5>*XFn zz^fy@|1ttL1V==Cpqgkmn5EL5dbxnHGtTf@Ij_&GG@ZU$rJj?^SQw3fMET`7lYv=s3w zGA!L&&;x*;2AMq5s;%1UbU#0Adj6^8{weOb6F7}?7Z6A*Uqo6vlDAYGqiahy3o>?} zgzJyOX%ty+C`&$Tw9(sN1C43~moc@6r{21>TZBcc-nzWaNSdoa>o>9Ace3{)%1>Qn zV>-0`ZPvfDem-d3^!$(p+}!feS9tr2cO0`=a2jt~ytB*YwtMdt-@F+NFP%#c5*Ls- z=M|2Avwzi#>qO?s}c=vKfxPTSobm({0ywJo|5%#w)obwcsRt@oJR@# zdA!AwCzai|A}Xa2^-}Q~eL|)~z?C;Fo-ayXMiP*#bj)`d#mF z0`OWwGYcDkwcAVAETMqU-xx1UX0c@`ueaS}O`&1GJC)#6$NmLlT(4gCrBvEA1!=fv z-3fO3FjvvU`C+V4Q}gt6`s4F{Xuq;SWew$Bf|3~j(LQG~9Q>DK5e~DrUlLt}!q{cE zW|dzX4JG?cduawr^jB)OLE1@Jr_CPsnNj>l&X6;=?T-(RR&(Inw_)lw${kDrxax1< z&QGV()5HO2O@n4vE};X{jUfF|d9vOL$nESfrvEALdrsAPgC`&+{@RW50Z;C$#C>BT z@|E(y;07LNrM~F2USX%@qfj0g&2+me#X;RDEVB>nET0`Nh1{C4^aOqGM6u_^y_{r8RdY;9(FA+C<`=EUwe(Zhc zGNF^|2_`T9!Lrl`8WeQ;_*Z2uq8;#)D+J{9tAuR?%5o!BocfWd*6DKq{ z`4l-hzn_;kNO^L-+2_1013m4UND|KfDoa70YO0jI$A=u0*rTZ(U#~613ITcZT+`Tx zU)vuC;NeCmkZUPy(!9GpEtTRZ1guakNqlwPwxs3ovJ^+C*~PN;H|yK=)cR>P`G-k4 zR|>C5^FwdHIE-{)J$}mIvwF%$l`l73ocA#3JSco@K!2|&dgVq5MYdS0pGo<7hk~EP zWp;iG?~)s;2JXS}6(&4l5mGlp*-y_T)w&@9yUS4yv5>%pSXW#v%WHPNU5=1N498h>E^4=6iMMtk35t5 zzVM&WpwVuVOLnBkjaU0JkKNfjmXUY9zkKoH2y0Nwgtp>5I9A8z2}L_1|ZSp^{+8=ZqavafoUyL#=}N^S)K|KnTD-j_yY7K7zw zW-;G_fyA#K-p07f7e`+skNo(vB9z(TNz};*ht)DiS>3vY!t-br zA863@@eL}6I4ap4UzZH89o z^Ngr<5l~nAO5DW(@^9+1MsKS^A4+gEL;D`=j)LY`>@`vuX!`j3pIq@-^zaB<)%rQ} z^4sCy{+9|^z#|33Y3+gO(QyzQn5K1|m6k2laND`N9b_YTl$wvrPcd7ie)l@3RXJQ} z<s5NUzwyHDjU zeoprHks(2IawL$^1admQGS(O`W8&jzLb;Q@(rxlb#%Y~FuwxbUt z<1lGSl5Q_W$B%Z~e)keOE<9tUlJo446grS4gzf97JnzjB#S~Rh9PN(Zj&!FVYe0^A zjklH1cM&8C!eawhR9%3Oi-I$bYRQ zU=&{EQ`~wlkxA%dRprA`7pBqxu*;z44bGxlI>@U#&r131Pi8Oqs%}nE4?G;WsK{un zS)^kRF==3bG1_|}EcEOt)Z^4$7{BH{a#JkG1r=wa#q*7LXw&d?ecBsN@w#3?DerYn z8?2xz@HezI|K=l_9r1852O4}#^bPZpUTE8KzSWP!e3)&WTe@FjzAGjy1R-@O0-L4_ zmi3JGC4Uu1&XnV>86vD_8ZR|e^lek=ADpd*@%qO+jLwAimaNN(;b}J4sy1iW-aL@4 zIr{WQC@RWvT^JWMda39p-LO}_PX-^Rsj9=#0mi#dNORYqcT+vjLq1nDEcMpy8A^ga&N}O&HS7$ z;PhyN8RytDa-UDWPSMc>VH%g{jr$R3^NJ@?w;T}R;th|*;G>Rbfqy8_EsX4DR3zWM z8J%_ddI$T7_a5E3oqKXB4Y6WB5b}P=Jdr^mul8~W}qCkI$w7OE>&q{qf zD?t9Uj;dRDalC}i<+R-ATl6&vQyB+CMO${}=U?vLz)&U&O^H~pOMFF25m|#3I>?q7 z7qmQm8`Jx0vfaph8##&f-{kIpwnAXK5tj7&_Z+j;kF01qB_BaGO|Cc!;RmkISy!_- zy=yj9NVhLEe&OBtx-?Yr$mm;H8paU}84q3;J3Ke{B3`aSULEspn3hi3I2|_ElM<;p zq@m9FZk&k^qqVgDjAzw~A}Tg?+PzfkTr1fRA4%T~^*H+~B zAe}m(4 zU>e0#k@mw8Eg_tcUn`Aa@1J;}6B(Ja&8i70_IJMfyzn~0!hnReX&sPb?`7fnaG?EZ z73D(LuY;)r&T(^y@Ai216`X2M={3EIW#I8#{s((B#WGbxhL6v|R6*6pe!K$UV(Mi! zr-_an1It!DethxP`5D>FckO{~?}r$Z`M`-(P5Dh*yVeysW8rzOdPVR6ueJfQ_iFxX z5L#fLdVi@fjMbI4Aodu1IU*(qAW-{GxgbnWWG!9j5RQ(%Of+MEp!n>&JUMQ^rLrP- z>>Kf7Ps4ljBE?7PO6aYNsjw5Q$Klqri7m#%u-3vm;RZG!z_jPWyQ_nzzj#~&y!5qJ zw%O42X_$xv%-f=Ed(pzfOO@Ugy|wWz^N2ba+p`9qFmfc)OeQ$sm)>XWH8Az}A5BHh zHZillzO%H7-ONP>S(qq1uH^CkIC}Rk z_{G+kLB5HaU#GbLkbl$HJ)f?Q*capMHFcwD2U-G#0vR1mXwbzMx3|0>E!RaGB;-*K zzcnmQTN%9EJ06u5Z6xyJ_-Yz`j562$*Mr+d42E1N0u*Kw(n!`{wQNF&EY4L4Gv+c? zvZWuQC>~?lO?AF&FZ&gAlr@Gmj+gqT?>A}(sc@X=6$GBlMH0n!Jc&LZNnQsHW9tod z=i{eQS%Z7;m7EL~vpPKKZw3**V02DKWtHBWmR}6x-__cU$?QJo%xn@ljVw~EGB1a) zlqT4p8@&WXSz}GB!6Q`6(ltCQL=@02Vc5*JtZ_~ucRTGTufsM^`gR5(4l@PNHVA`h%*cpAhKiQbU$6!qIV3E92p*-{?S4JwvqdC7d+bp}tBv0Ye^CQTIH zlr?UD8-8tsvtaTX-G+ekTZ;?a%$miCF8l%j`_?W!GcFr7wdbE(zq-K&yE}JFp#vvD zY-mc0t3R|H-A9_@lI0D@N_m@&o4k00y)P6VTdH@vH{4koibZIz$jw!Tg^BU&7u~L1 zGf2O)S|6Whv+fg?`juy=vCc=>Oy$kCF;VFoIgg126A6v+ z{8ehxJ{%4Zr>SN3mFKHX+22)3LiVJIC(F{+bE>a6za840BxqTH0+s?oG6uGSLBq*( z)J8j=93kE^D0VQa-Mq->rDtSFD?rGprcnBq3`cu$xZG1`{-^cj^W#1-8OM6P1)@o5 zHClovq9w%r1Z!8ImW677A`J%xUDVeormYLwujbPkUPplx#RQMIodHi=hDn7)27r~% z!u*qKON8C`vBkbqs7Z6_!{#2wz>K4Nt#wKXwC8bZPHhcG#MZhO3Fl_96$;2#Di{nb zuG|P1u@!SUDXjz_)h-YFW9S-ue53Sb?O$1=y%kuV8}H5h`@R+6yNTy=iR2~$R=(jE_$$dNQ1!zGEI4Lz_&n)P}B%cL^7)zzJX?gFo~ zygrghr!u>I@nc8E_n0p-W{VPY&`Dt_`;)$psl2Ubl&v3H(@xDOMlDr)KZbk+Gs3Q1 zi2jzzTtwJJ_eULgpV4D~-J`b1<~aR+m@Wq=mruB@b@+HCaEkL8LiGxldpJ96NH3x- z(P3fCg%6W;Ugq46_0IggqPX>7@3z)Q+-ekIw^I>7D%;o9IC%^EoIl;=)ZopYFgG7r zkasnR@KT0`fj8<<$!WAWr>&iz|h1?@Al6+lbTOH&8~d zM*gJ?^UCV)$L-<1%^z6kO$2IgE|Wk`$25)>Cpj#@9w%y0(KA;Cw9yr9L2jPKIsb-C zH|d+t#51qkhl`D%ibm;f@(LYqmkXBqP42nstA7-08fC0{KxdCM8uEi^z6w<*2yEVc z;I91R&10}a6n`kg=aZZHa0AD;ahBvR7Z1PohjnQ`L^Ri`uhTl6QsmPV@aVJB@Q;?< zLi&hk#jsHP6v`KEX#0HS#OfXPs}7!Vk~6tssp(NS0!Wc*7b&|w6=I>>d7twUfTcPr z`S^U^`DsSKwonQy>d&t$T?azHg!#9vh?&n?=<1(w?9}0gwnx^q*9+E)xXSIVupPWy zP^;7FBQ}fKUfi0X^tsyeb%nODewT{bL>Vvhm&<8l`@!cSYcO3;%IkjR7T8Zj7Ot~C ztZ?KC0=tR7^_u6y4sC{VFVC3h18VFoPg2%c1rjV=1#Oi~^}iFkHw^b~xO}QNG0pt- zXr+Dr>J)rvy&X!RO1kSh8sP_!B`vsvVRQICRjgCQ)CGpDtM}5Kb?4(=57hidsLhLi z1nSM|L%R_1J~edwTyrw%>z+%C6^`@CG ze!jjUBF4>=MU@3s!K9^~uSn{RNFAe0f{tg&1!f-AUn}I0z7J(~$Sa#4P^a=Qs7|a) zcd1d?Fcvm^LD$x=h&&2c!(z_$sDgcjvNYw8oPN# zf&2%#ch=;A+}grZ4B8=`!tY<87^`1(TDC>R_Ar|ott+D~bF!(mkFfNUAE`DqWvq_- zsf7CJh)yygRvr)B-e)k~;|%;7oM8}D>AxRf%bbh3NJyiDGS|~pM^WEghWfeuzs|k` zn(elY+o)ZmwTc>T?LCUtro*UJsbfCqX%rJ zD6S~|{(G`s+l^f!8{4-N@=gPJO|02Q1#ijjXxR4!SI2ZV3^zfRsLPYNUM0z&>lpx4 zxbN|`pgBdU9x7DwKk9RAdHwRJ7+@|`i{z!cT=qum>b=`?=jl@u0LHF(5Rt~Y#8-rt zi+cj!4YLRg$_hQS-c4FAk`%KUd0xaTz#9&PY?PYt;J@Is3A15+6j--D&|dlsqp)w) z1Rv;Yq|yv&;d(Mlpr3E3h8^r18RIobm4 zbeS4OrMvm<=ne>`p@sUsE@nFbTcvUFZRzusi$}Y&vpT`!UmHY7xfXr#jc!80YmBHk zJV@KGr4r0wmf0rSeu3AtkB8Kq_4r!=|-2oMBJ;q+<1b+U0?~!2E zIf}a?H$d(rMuA@^F0k0CEHVnfOTTQDfk6GQ>unjUuU`B9+1z-@sX6un>D_Z=>FJX4 z`GJ}$pW#4R+2`xTlTg=SaUaSpDeoQRW$)~~D=oP+J|;#dklWaFcYXFCjGq*NQOk4lu%>JsL^yASsu#TZb2?Y^2c^2!m`%N=N z9$UN7uDMwnQc0`TH7B!iFY4=a zG{*L~pJ0#f;l~UijXO2~pC5x8ZjP;SRR%mVQBUC&6tfAFeuzf5~X#>FWbKQdP7g<`GK z8q(d9=V7mzEC20N<|FNoSKann1OS(iQt_om$Gx#kOgqGv9Xg>cF%cV};{*gepPFRm zn^gYg-RaGKopDE#itR7q)0P1T2v~nJvs7c_6|W(c=S|!`56rG4?|oV;UXmP0g}Hrg zEzZ?YT0gDnfZxFPdmYfZu<7eB2V)h1bq*W9j~djQ3k_nI7e_u+tCzO5?^Y??^X@wy zfrY;sl9rsRJik9vfABpB-kS6k;Eh^Rz9Dj&zEI^c1oK}jfUP-9Gu}qIQt#WhbR%Y8 zRHcc$$lFE3-;f!{?Vt~DXuzBFLN(~4{b~27nt6giBF|ZCcUC`mx1?}lgn34?CQ_=a z(4|rMhnB&$@*D!W`TYQ4H?zWewAqkt**~thJ-XYX=gI|9*Hmv{0`p1vpxSqylpW!5pz60K zTd(DG@JT*2JR!K0nyJ(YS?rd3$XzmQT7H<%B^XGZ*bIgAAwQSzL}VA5qJ&c+W_tCB5u_g)|!oP z4UPair&t*~2&#An>YYyO+`8@M!OP;DKRSCVg?rddMp&C=Tzb1UL0zdc)t*BSU#Wyx z9)lvPB@!6ISdlmF(eBlYL1y5aYX>A6mlmBByD_@1TH`Sx`X92?jNCs*x)cYfOr^Q^ z_y$vbwP!3gs@{DAubPF61f4AEh_oCcX~{K93AwB^dihVur>0!T)(yd4C>O=D)|Ie} zirIlFvoNozpd~;a@ zd6<%St5(gt>Mts3^viA1F46-}_+&Gq%&G5b2%{a2K9}bYq`p`M5HQ#+92NUG)=(NK z5VC3OWSfl!JZd(QXqZS6jowCc;}J-0R9KS}gwjx3Bu+(^O zEY)~Rfql!Ex%aXA(oIiTcz$u(1JEw#u!y;@U&&<~yxzLimY?&=yZt!{%SE>%4wouN zRpi{no6XM7`wbfjLZ-EM5s%7a6U-kHMiC2Zn8@H?B;lD!7$&$Xz9|r6vmbV|uK$F4 zr|l#D%;ywzQoL5+nd2&rBa=!_$7 zeM&$vW86qK&;Kc-Zq?(kVp)f)6GmKc4$9-xysOiY>ts?^E&DB^7<_2wOoSIs5T8o# z>HAqj*ZKa}?%btBLo{ur; z;AR_CeR-65lg}(ZCT-U>H%2l1qmBh?u7&qGvq_=;g8q1!eb5U^UuPLc?(3Ku49HNW zJCv_1pHu038nZb7roWF)ot?xKr#27S*oSU!vCdZQNg7G{j57%ov_6fdfQ#^vQZ~N_ z6!ojCS`5tFCykmb5H0PcDSCc=)$;1)B4c5oLB=OZQ%unMfObZjcr7$&oHM^Pf~*fL zB>hg9Q!yF!2&v0E3Nw24_FYbU$|u>|_UWC}jwT{6n zok};RnaI7_3!xI+o2q{p>sWvxigr3 zGCXc~*U0c1&8Ng5NeA--p5)U{yR>$M-+Q!qw@g{byxTSq z(6ZiC*r!n}BUnJNA0wTvC}aS*XLI&@M`_y3w1)yp6w~>oVpW1?2EV`%kun;@a{GY) zVUdHWgZ7Xri}w>ISf8AKKbsM9Ew-Vjpv7MCr6y_xSUBT3mSEUnOXSMB4n8i9o(NL@ zsCaH`Lqs{bYJU?8sTZh@-O^B*>-@gSf!7;#M)C-UJDTSUr5(|?XVEG00{xbPI*Y$Z z_&u8coMaC}MMqgHPSs!F7Ea&o8&+2WnxIQD;^L;<_EqfljXK?%CtZ&>|E%B;%KE!M zi*#fZ(#NxPVuorzj!M@V%$_nq0ÐC4+$Ki|=w1v&dtxtK^TK_p-N%UU82GUnrt{ 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 ({ devtool: argv.mode === 'development' ? 'inline-source-map' : false, @@ -34,6 +35,18 @@ module.exports = (_env, argv) => ({ template: './src/index.html', }), new MiniCssExtractPlugin(), + new CopyWebpackPlugin({ + patterns: [ + { + from: 'src/*.ico', + to: '[name][ext]', + }, + { + from: 'src/*.png', + to: '[name][ext]', + }, + ], + }), argv.mode === 'production' ? new InlineSourceWebpackPlugin({ compress: true,