From 527ce6546e7ec50e7720ff7b9b6ff79a89c3b7fc Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Mon, 7 Aug 2023 21:41:18 -0700 Subject: [PATCH] various css fixes, fix new image loading bug when previewing, path docs --- content/advanced/architecture.md | 6 ++-- content/advanced/paths.md | 45 +++++++++++++++++++++++++++++ content/images/quartz-layout.png | Bin 63222 -> 56729 bytes content/migrating from Quartz 3.md | 1 + quartz/build.ts | 20 +++++++------ quartz/plugins/transformers/ofm.ts | 14 +++++---- quartz/styles/base.scss | 4 +-- 7 files changed, 71 insertions(+), 19 deletions(-) diff --git a/content/advanced/architecture.md b/content/advanced/architecture.md index 31a9d7f..f30331c 100644 --- a/content/advanced/architecture.md +++ b/content/advanced/architecture.md @@ -12,17 +12,17 @@ This question is best answered by tracing what happens when a user (you!) runs ` 2. This file has a [shebang]() line at the top which tells npm to execute it using Node. 3. `bootstrap-cli.mjs` is responsible for a few things: 1. Parsing the command-line arguments using [yargs](http://yargs.js.org/). - 2. Transpiling and bundling the rest of Quartz (which is in Typescript) to regular JavaScript using [esbuild](https://esbuild.github.io/). The `esbuild` configuration here is slightly special as it also handles `.scss` file imports using [esbuild-sass-plugin v2](https://www.npmjs.com/package/esbuild-sass-plugin). Additionally, we bundle 'inline' scripts (any `.inline.ts` file) that components can run client-side using a custom plugin that runs another instance of `esbuild` that bundles for browser instead of `node`. Both of these are imported as plain text. + 2. Transpiling and bundling the rest of Quartz (which is in Typescript) to regular JavaScript using [esbuild](https://esbuild.github.io/). The `esbuild` configuration here is slightly special as it also handles `.scss` file imports using [esbuild-sass-plugin v2](https://www.npmjs.com/package/esbuild-sass-plugin). Additionally, we bundle 'inline' client-side scripts (any `.inline.ts` file) that components declare usiong a custom `esbuild` plugin that runs another instance of `esbuild` that bundles for the browser instead of `node`. Modules of both types are imported as plain text. 3. Running the local preview server if `--serve` is set. This starts two servers: 1. A WebSocket server on port 3001 to handle hot-reload signals. This tracks all inbound connections and sends a 'rebuild' message a server-side change is detected (either content or configuration). 2. An HTTP file-server on a user defined port (normally 8080) to serve the actual website files. - 4. Again, if the local preview server is running, it also starts a file watcher to detect source-code changes (e.g. anything that is `.ts`, `.tsx`, `.scss`, or packager files). On a change, we _rebuild_ the module (step 2 above) using esbuild's [rebuild API](https://esbuild.github.io/api/#rebuild) which drastically reduces the build times. + 4. If the `--serve` flag is set, it also starts a file watcher to detect source-code changes (e.g. anything that is `.ts`, `.tsx`, `.scss`, or packager files). On a change, we rebuild the module (step 2 above) using esbuild's [rebuild API](https://esbuild.github.io/api/#rebuild) which drastically reduces the build times. 5. After transpiling the main Quartz build module (`quartz/build.ts`), we write it to a cache file `.quartz-cache/transpiled-build.mjs` and then dynamically import this using `await import(cacheFile)`. However, we need to be pretty smart about how to bust Node's [import cache](https://github.com/nodejs/modules/issues/307) so we add a random query string to fake Node into thinking it's a new module. This does, however, cause memory leaks so we just hope that the user doesn't hot-reload their configuration too many times in a single session :)) (it leaks about ~350kB memory on each reload). After importing the module, we then invoke it, passing in the command line arguments we parsed earlier along with a callback function to signal the client to refresh. 4. In `build.ts`, we start by installing source map support manually to account for the query string cache busting hack we introduced earlier. Then, we start processing content: 1. Clean the output directory. 2. Recursively glob all files in the `content` folder, respecting the `.gitignore`. 3. Parse the Markdown files. - 1. Quartz detects the number of threads available and chooses to spawn worker threads if there are >128 pieces of content to parse (rough heuristic). If it needs to spawn workers, it will do another esbuild transpile of the worker script `quartz/worker.ts`. Then, a work-stealing [workerpool](https://www.npmjs.com/package/workerpool) is then created and 'chunks' of 128 files are assigned to workers. + 1. Quartz detects the number of threads available and chooses to spawn worker threads if there are >128 pieces of content to parse (rough heuristic). If it needs to spawn workers, it will invoke esbuild again to transpile the worker script `quartz/worker.ts`. Then, a work-stealing [workerpool](https://www.npmjs.com/package/workerpool) is then created and batches of 128 files are assigned to workers. 2. Each worker (or just the main thread if there is no concurrency) creates a [unified](https://github.com/unifiedjs/unified) parser based off of the plugins defined in the [[configuration]]. 3. Parsing has three steps: 1. Read the file into a [vfile](https://github.com/vfile/vfile). diff --git a/content/advanced/paths.md b/content/advanced/paths.md index e69de29..2a5e09f 100644 --- a/content/advanced/paths.md +++ b/content/advanced/paths.md @@ -0,0 +1,45 @@ +--- +title: Paths in Quartz +--- + +Paths are pretty complex to reason about because, especially for a static site generator, they can come from so many places. + +The current browser URL? Technically a path. A full file path to a piece of content? Also a path. What about a slug for a piece of content? Yet another path. + +It would be silly to type these all as `string` and call it a day as it's pretty common to accidentally mistake one type of path for another. Unfortunately, TypeScript does not have [nominal types](https://en.wikipedia.org/wiki/Nominal_type_system) for type aliases meaning even if you made custom types of a server-side slug or a client-slug slug, you can still accidentally assign one to another and TypeScript wouldn't catch it. + +Luckily, we can mimic nominal typing using [brands](https://www.typescriptlang.org/play#example/nominal-typing). + +```typescript +// instead of +type ClientSlug = string + +// we do +type ClientSlug = string & { __brand: "client" } + +// that way, the following will fail typechecking +const slug: ClientSlug = "some random slug" +``` + +While this prevents most typing mistakes *within* our nominal typing system (e.g. mistaking a server slug for a client slug), it doesn't prevent us from *accidentally* mistaking a string for a client slug when we forcibly cast it. + +Thus, we still need to be careful when casting from a string to one of these nominal types in the 'entrypoints', illustrated with hexagon shapes in the diagram below. + +The following diagram draws the relationships between all the path sources, nominal path types, and what functions in `quartz/path.ts` convert between them. + +```mermaid +graph LR + Browser{{Browser}} --> Window{{Window}} & LinkElement{{Link Element}} + Window --"getCanonicalSlug()"--> Canonical[Canonical Slug] + Window --"getClientSlug()"--> Client[Client Slug] + LinkElement --".href"--> Relative[Relative URL] + Client --"canonicalizeClient()"--> Canonical + Canonical --"pathToRoot()"--> Relative + Canonical --"resolveRelative()" --> Relative + MD{{Markdown File}} --> FilePath{{File Path}} & Links[Markdown links] + Links --"transformLink()"--> Relative + FilePath --"slugifyFilePath()"--> Server[Server Slug] + Server --> HTML["HTML File"] + Server --"canonicalizeServer()"--> Canonical + style Canonical stroke-width:4px +``` diff --git a/content/images/quartz-layout.png b/content/images/quartz-layout.png index 4767b549c2469c65482dde2fc69dfea67c0e781b..03435f7d57874b5c7c438dd0866318fe3c8d61dd 100644 GIT binary patch literal 56729 zcmeAS@N?(olHy`uVBq!ia0y~y;M&N*z{btN#=yX^k)1Jvfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU|=i`a(7}_cTVOd0|Ns~x}&cn1H;CC?mvmF3=DVmJY5_^Dj46~_3eqdI@kWs z<6{mUNpJr9JaaYL6u!7o!P+`t!daya8BZ;1|2sG9^mP4reFiwVFz>Z7E1bs=rFI15Q;2}W>y`*c2$O+lGIlvobI&LljVJHXLr}pWZ8NKJEAW{rlhC*tqyk@p;?1@xocG3=NrEpM83I`Z_nX zAljhBCu0%NCvU&+!TD?JwSJZY(EWl=%MrGVReDvNJ!$((%b zR*OaPGoP7r=f2&2Z=P+n)pb6wK?%2bt?afHKR*|CY@g6HoBDq>Uw_@+p8sBF^~Iyz z;-@bzcK^L@`=sMDUQZNw9b}~U>*H~G{a>F$vTX|=xx7p_jrV3?Sa#{_R@Nw^Qv%uR zO}1>yxf%5B-CgY~yPVF=vyCq8EnW*PjT@p5E_j^G8Piw2MmzC%UE|5Pc0Spttp|_q z+_`hr>kX5R|2U<+{!6U-!pE1F`|I!O|M_!?ygCDePRgx<Kuc-)B$;YhYNjWpn!ZvaT&X&PlM7z`e!u_zOw$5I&JAgd3=NrEwjIz_a=dnT zclq?-<$jf3f?#b8ol`fwJlZY(JM6j4k%x!dxhHEso-SYir||i${lDMsp8I-#>FaBo z($CM^lz6y}iGks=SI5-O%^?R$^77VQPLK|3S_AT``U$I3ZuVdU8G3?NZS33h>)Ff8 z%eg1#KR-8jE-M2=o~Y9rpD8{QKVEc~{~G)L%uM6C4zEs5R=4JT_h(<2-S0o2&rgs4 z_h~w`npL}~;k@Q}zr1{g4KD-30$pR)u!TNzC#nm?*M7ZvZj03MKH1kS3E6u;ozk9b z0IjHf7M=04SoLb9y5AfP1_p-79;#u>4&B>Zefrzm+oy&7Z31QeYM;$aKeaM=`Kc9W z&z>!vmttG}?M?6ZSq*Qe=|-Pwz3M_Qs&^$AhZgKli*B4)*H|vvz*@xNj9<$2#3a+hnIMJ?5=e`exNk%}qD&zghlq zQtNTW;=Cf=;29hY48K50WQpNyw?BQd)~lMlj@5=qJg)(FA*Z=>^{qN0D@pzrxWpA|(XRJG(U-xhX1( z&P%S(T6frK*2ewK?EHLt=X3Yw>ONWAZ>OcL%lIVbaLnnY=e!qJ-|5 zW<4wBRFktR$#9jPWa)0oc;>|AIqrQjJ3m_WKA&~rm6O=-n6rPcWY74meEVeWOx5F4 ztCg=O&&ZzmUh0cY%3o%7zL2}lXKg1ZpZTkF2GXWmJY695*TeR$mqH_q<0chuymeD# zarGXR$Mu{J+ic6G7OtA}yKdL;M0x&)nWO-FVy8X>XGI44|ja_yOX<%aClzZ1`^Da?8=^({`;W%K>!d(Jn{%Ve*+ zxukppIOGpx8E0f{h(0Dh%{XkM%-zST%`6esPj48PUA$6<%>bx(XfBT`U(sg(f(!(_*fsVk?vw91-SkfSw$Z&Buw-cKv9E_-O} z(_D7rL885-d8N{(w{9s`Y(+L(WwrA6{e0%a8gaSO=+*DVoSl82qj;+BiBDR-@U!gc zmwUjDVtD4g|M%|q`=Z+>20ZnWI9?GY{aE$mA#VLCo72xvOH8#desh}ho!_LE%IVf^ zSG2EhC`=MqE0vPVwB~V5lUeTxGwn@$L3_WP zn5dlk`r6vmAe95N{>q0pTVGF#ku~Pj>3?K*s{BgWMMzoj&*pW^{zp28TLOg@-ij|d zv&}ts&g0C98z-G9vfz_^EqQcDL|?5`+J@6R&q-Xecycd9hLxc~ASpE~_x`@US$l6S zSGat_$Dwe}EQRdcWL@6lX3H8pA8+Yh?pkcKb>SoDcD_*dskbM5Hh%Y8`Iw;AIol~& z2NqBAGrW8N90Cq=dosUDU-!EIdqJqL@QF9iuZG9#F1~WCA}S>&SteO<@tR zHTbmSc(u_!vvm$e3=FH=K>^VFx6Xg9Tdqa%40T51vws%^-(BtqD(Ak(>d$3pX5rr~ z56adp_M6|_*;%|`dG_(IQ&N*BXf5Vk|4c&d=$$(;tFO8j>$+L~^?Ua=@buQ0xBlYH zAU8QgXK|JD80}6tYY}v;Gpqa1m8{L1(vB&)S;iUlJud%DOB<%JZ+&s!WgcNUaZ69*a$T|FY<8&$$_7mUE-v@!w?=ql9hF zPBGYB_BLwM;{|26W|TNQ(Y$qZpZ4!5ZW;UeTHn;~|7^0xQLFsf9y!aRl#`|3-rbFs ztNZb=^8MdO;`?7z_gHQN7319ha&B+S?XG**Djv6DpZ%uZ5|^h{Cf_~YUDRp5lOFl~ z%F5tWnN9tiHvb>6+rQZ3=VAVPx?hW<)x1w7A9s9%)J)4fkMVBHySwYjj<91TMr@(R zVZp-hWJ(WCa6D$|W*Rq1Yu^68$;bOjr6Ra9mo=R{AG~#Qyo5pTuBA?Ewu+_*E5*F(JpRUC>b|M}v1c|{Y&dN? z=G?!fwT$!0zMs!#*Iti)v1jSWXyGJZ=W2nQ|8FgK-u$0CwtvolotFnZ+}+Opz1Ffw zeE0pfsjq+EDL#LeJHdR`^1ST%U*yt1NP;4kVVN(}WbfYpOU~~tTeECg#R-ko8~BXo zUCZC2k}NOTze2L!^McXqUaJYSizgTEzgK(4B8Y1dkI~_Tb+=DWR(H2sW~{e$v*S1I zC6{}8pZ)r>`qivrlfKs+3hm_e-&xN7GR5#Oq-A+!rR3_BnkIq9+ol>k(>NZJb^NlCSdj6($sfCJeVi27@2cW+ zCtrTH;nb+ba+f8S&)T^DnbozJ#dofoK0h@>h~dCm?~bV}&APZInDTB-o7EGQdEsh_ z%N4tgR$MpdFP~TS%5AZ=zn|KM8Eh}yYnX1?XXYo!~+@jr*l`N{uj627Wb0n#20nTX(lSdXM7LuUioa+(rue^dwryf zzP-7*s`PT?gshE|mwj9LsHB4DlH`=)xu4^A^Dj0yVLPXKY1!Yamo&k-n_=>TW&dke zX00(*Jkk?=CCqYdp!K|IZ?B0|W~SIID*HQ&YpW?6Z#rKP!?U~P_jM<)OS_YK;q{Fb zKYIkU84j%V>=5;e++rAYIpEf&)YAc?PO}qU1WmhD=c{_Ag}waEjf+{X*QF|@wwHNL zPz$l{%#ywYYAZCa;@#V~$Z&pj#f5XLWP)>-J}!v^H+vcWF5SN`{(tqcS}|>fz-ZUv zDOtz0+BnZ$t9$n3A8S(x>0u-EIBwqRjO>cVZ$r&)fg6`8vgjbA8_~<9WB6H|(zXncx3wd-Hnwyvk+4bHC23ey0g)yu3bm?fbpz^;vsE*kx0= zrcDjFEoqdKyl>g!l$8sL*XG{dHZ{@b^5mo7^ktx#m9`>!#itCWHGh9SG2XXj4wEjo z^-Zn2WO(_i|E^hWHSgBWQuh|0q>$hH)GpE{C;e(0uk@;GpReeE z?Y^>lCaQbatsI%cw6+@?DpmjxQG zV__(G4J!Vw`kmew@wi+_%G29af?w9ky!{a<<}J(J_&% zkA&`!>6)SU7mKKDV<$^+@kn%-ak;IsHYs4+2FVJ=JLw|94MTe7F0pQrnN-|xKV z*NxN9>FgGq>ox{~_OxiR*vQ6^x3fcY>JMI!}TlKZi2c&SyLb1+F6|b^QnIQP0oh69R&;bfWq~x`F$OK z+pkvwu0~zCE$ePbV62y~^IEeL=A4%*-t%p%`}K19+~um-hi4deJ@#$)p2m`uE&XQay2E91 zJ>I$LCk&pi*;e#Uqv_gYxlQ24V?%W4q2;G}?faBCc2Bv*HSciG^d&pI&Q`b_+cm9v zUfbNO8@}xbJ6z#;cE{xvT=y6l9Gp9*t}OcU;^M2WxtV9a&3?7$*~%+6xfVXnWkM-Y zQ|C0ZL}fRxIbFN!(}RP}=2qU9W`20JdVN@Z+4pyMg-h3ETT5p-U%gwT-(Ms@ZPK}^ zj@EsB^7i*`O+F6}gaYl;H%=AxZ05>d(%{uQS>1n{<5o$5vl1c4?Aazdq=QPV8H}5r z+3*>^V`X6Qj*L#=I&=2yRPnfqg;qbrP5tMZ`EUQm?U%Ouu+7n5-SK}G39Fnn`;;xL za`v@Ox9!eZY=z%eR(H;6|6{lR+2*ZtrOxg;Z}Ztla{Il$o;~M+E!be9sgR)IU{;t?*w)33ib?Gm2(*I~b zFQ2h7kbz;@Yys`nQNnya&FK@k=9-2^DEBTk(fG~EwfV23HRC6h=i2M{Tq@toEv|Rx zN`PI#1Bd&yr_$LnQiQ%9{{BAw zzW)F3RiCFPuUT0%>$k=8B#}!uCsc2GcHY&hCu{WvyFVWegOdS+MBFhkBR!)RYqA0_ zzuzBoc1DQr#+i=CyxAoCC9YPSRA3Dairi+FGW+#*DW+LlS?hvUERWnC#M%1 z@3N+hbN-)MK00N+@AuexS^nRL_PNzdzW@I8)8tfdModuH|e>RZ5wfLu-fh_8?-O8@{ zD_eViQ#=iFy`Q?nTf5%fjdMTGQ4h~v*5>J89(?%9yUPlRrx_z8G{UGe01P-^Lv zOBXlHnx_St@MCE3H23HzRb^_t8JGKGS(q%OzTj!}WFt{ZzJ21ujfFa}Ir)D*mBBEDGJ=aK$|INzq`LmgHG3WGc7jI5{ zyoxttnd6@N|NmB%&VIG^@QJctwwkkQhg$eUWaN6AV{HE%%$NwL0_|o4aM*mMJ|?R~_PFD0mHOTP@xA z^WX3H{c8@+{P18$b60anPpn_*O~)rYZm(H2Gui98bFU3!RCHpgu)V=-S2g8b?*m zOq*7FV#i?(u8fk~JB!noH=NyZOli}8$=4Bn6HM<8EDoW@0&sg^G??rd{-W=)bZ*L;Qj@}4-?|&|JpYiW4LH@7!j8ad7 zM(-P$*;idVTb@=m)6rT!OKYRqtk)C!raaA(`tb6Fq&w@iyq78x+mh9um(H2%22R-r z=6{v8k36Zh=I*SG%{|S!;m7oXL`{-y9?R)xHqAcVGu>pfi(jz8X3Zm$6W(d8y5e`p zLWO~0a%yg4s2cBV6Ti>d%fkIxPwM2F7tLbJ(JD!^`rRUPe!ji^h3A(u&Kq?-xL@>L zy@*eE&l$Vk-OLNzq&BGg&s$^FCzIc|TkXfJdvHP7OtzeuJ2Em^`- zY`baioy(U0w!MG7tgG;x_x|Gff6wgnaqsa1CvAod_hU|C+WRK{`{k)+F|qdKn`+6= zC(cwI?wS6i!adL;Md0T9e*1qrWbEtqY`*{Zo8|Lb)nlc%rhHtWvw8F8xrR&r%yKf` zT9mhGiN-~h9%m*71IueM`)YnxF}f)=9yLk&{MzaA?d1n&r{3O{yS7B3ZH2^UdY8w-U~5wW|J>^ZfcV8Pmjg>fk#6ZK?zrVkK zzx!U$)b7hOr_`RSJZYCMKih9{;9GTYuot|J$g;_md91p4LhacZp2xh6o?R2Uv-9fl z8&$_A?viY0VOVgfR57eU)3ggQnSEeJ%zRC-b}(_lXt2ytLqjj&6{yYAEw2A9HvjLh zuc?RIcp-H-0|UbX*Xym2OaXR##_g{&!EIkKk3n~Ic6oGmd31J}tl4D-2E6N2?%smt zvjZn$_SfyL`Fz&=>8-8VbMG@V_{=uVzBa}B-Hyd)&a7C-q0?^H6dcr2S|2hP*ym=#c(HU-@jk4i@v_P%4DE36_&Z(6d3!|4$N9v zn!o>VS@0VshTxZ=cFo8C^H?I^?|QwC$$$q|Y&8g;n6j&vB?8pWTig=%|NZ}e>pxdd zjc9x-kd*r76MyKu9Vae}Utb@u&+w)EcJB76TeGjfdJxl8AJ4$hP&o65*-SHm1Fsgu z_vdMCU}CtOb9R>L-2d-Qu10)b{r^A1VS%L7HJ3KdV{JH?QefoGruKfvR|7sZ- z7>;FLx|MRvfnjxfoh<_cgGA2{>*UX8&F{a6VUJk$$2RL#>(4*GnHU(hqzXaQO$Mu5 zu~YCDKpH%ze#JnwFMk)jX-Ur0%mgRu|0?&|d3toR{J2E_T)R z@%!T`X!2^K|3<*iK-)^QqeRXv;>x=i* z_kYJRG9-KzfUVV!KlA>44yX`3c7D?Om>&NGEv$6)U~zIr%h(h zo~;dPMx>vcqbaT*_eQ6C=kIsBPj5^<&UMEtEiLWT+wJ$`-tBnYx2bF`huDD)e|RBN zrwj~tHu=rBi)GsyvY=Q>#;#_EjBVAHUl!(hcOv%vc+_pQVtQOv=DpYM^0iy;l;5vq z4V&B&Dg5N$x$=F%3=(r-B>)41EIXf!#_@i6{oIP5Pp3cM>n9P`G4<**P|TtI=jo?>uqmp ziP*h1e*eBdpY8t_|7@@S(SEMvWq0KEyx7L*yH{6-pEkc=6P&mI?>8g8_}Z_bKQGV! zcjf2TQ&Y8{{`&gbyl&dtb+Nm*1@oGnKGSon?Z7Jq`0Bhno3`cO-}mJF`MK8Nd90wY zdwzcY{O|Wb!P;N{=kceb;_)I2_Ge#TH?{D@{DY^b>z6xi>OOgXQ_at()8}5l|L@y& zYsSwk(Tr*{_b-KIth~aN7PqsnuZvCQe#-cF>8)3H?!+wr^lE`n&DrNcu9l5q4W3K$ zOkk?bBlp+UGKRUWTJ`UH{r~R)jMt8Ve3U-FHcT&eR|tdJR4@1vMB!&=W*R?zb93|4 zJ3EW#di6+~<-BO|+MaheYFp0DOO>`S?f(Dyd@e}aakszy-z`~ptKaQheqf7N!`J$M z&+AWpeSQ73hDkl&^|jIA3~Igbs5{VNQS+l<=G?h&TOy`|mVXqzxUg_j<>zNcEALf4 zpZn=f@%hm8^OMhCIu9Dne_!`~H`C=8punyF|GnN_EFo9rgq5*z@V?J;--|SO8U@3A z77@5|$FIZk|27CedLy3DE3ED}1+-{M>kH=^xs@I@Ute7{;^W+;rowIDiHQ3MN6roJ zZfsmU$G(0a&nnK1%e1oJ?&^Mf*y(jWD9BfyonG|)Zu#`u-`_+NDnSYKoRQx3b+OvT z#l=s-rNRsm#F9}>0Un>VMQpLX-+&7x0FPFB8F&)HS? z_gB$}2M1NR8)sa-cI&Ho-klu@9i|Vj{mC&D*Nd6)z3T3+(z)laoL5O1`w6fe-_Wb~POSpP3`_K8o3B@b%~|7xEqq^?CSLRW z_+oK?*|ej79^3zWyyv>*v*Yshdk(Axh2`9WOzD4LmfLe~WD-tZ1`ELrNwRJR~oXw6G>C=9_D}H|N?C*7He_QT?W->QT+5LXsZidsB!$hy` zsQQ|v@^5ZhD(tuR>xaYq=eg&7tBYU1)M*Xp6+Mxp zzi&35KP4Vt6WH)^SJ6|i%;2UqPHPURd@zSh?=mnP;M!5~@zI{^(q=gt%^okde*ayy zUpPT=bBe;*KH05mY&6de6Si^dcQr<1i!~eS2r;W*N((B|68Sot@3S;g?Fptf#Bj z@6&qx?QMSjZU!GNSkr`|fpbIM-zvqB9j&S{R__E}%a-3+D5Px=n8pQ*Oa^T&#cPG^ zKL1~>|F??4M+ix4!N*5OneN>BcmMzI`qZPMlYu89c)||+`uh6$ zUc2&lF^qY+oHO%oY*^S6wQA43+V6K+6E3aMg;^B>stp!zD1Cjca{c*vwzpRvyCt0$ z>*KWk{oe2Q_I&^L=4NoiRo%wRKS0r@@#J^VL(v4GmGDw=L&w?K=J!Rkd~cM92qnG! z`);v&|Fyb3pvvLR{r&%sefo4-fBIFG;MwK7OI`*s{?j>ldH?_4``?G8#rFM?RX)Jw zgXn2CsD26a@xAcn%uM6dokDun6(1h#`7Y#RTlp#F{`s`I!s>o!s`KC9+nZ{-^ZmZx z&-T{6-Fp30E4Mh;hjh*jYA0qL_`V?V8mP(n`6j63VNIB{7Vb@*R~HsKrylQh*fRHn&6wcbzRan^*Cu6I8UFJ72}TWx4Z+|qEM{BG&>i2rYxdL|(XSRtV>Ux$*i zva)->IVWF>&^j_JYfb*XpU?J8$XRkKYucZh!)?5Czdw8S>{)B#G8KYzVmKfPDlTrA>j(AScM_WK`Cv7gPk&W!s&mMT1< zTyPII{CZ5AP0~FaE!dp+Gz6Cewobo|%(-tL?XRGW<&l`R{*ieR=lp zPp9?seYV$Lk1a24(p~%^{{Pqbr>CZBv%Xk=wyuBY&Yhq+dcV>uty)XUR`V`13o8Bk z<>lq4XJ#7D%{385n-+oP;{r4}m-|vRYRX&;c=|MApS)BjwzrVjv z7gqPXQ?a-9_qU=~S5`u5iUVH+K@I$fr&Wjd`1G?(+N?51#{U1$^QSNS+e4Z7P?EAO3x3AAEit{KfJ@K{b*URPN ze=C_*uiyJEs`B^S?a%lAf7mWxw(kGqe)~8E28J0j+1J+W{P_Fz_4VQm4Vk5HZ*4ty zX~s-LMGFHNP%YFDs^xerkKg8lgJsE!fW#_LJO3$YZ7ILqkA%u^H`Aa0)j1djR(bN0 z?7bhqUaz-ac2MsF=zuzrCU;XzWyZjVTD|~L()cN)QDxdESS$k&E zscAD8)rx$&`+m=7zn@Pg`#;Oo{=GTx?k>O9D?Y#X-O^5bw!^5kwrTQoz1Urab0%iK zFP_tH_bWp(Y~Ob4DV67Kzn@vHH~aO>x6f_L<0`019L^PfefN%z}) zI&tFNT*oI7oB1uj_rA+E=-9b)=cn2C|1A6SkiTBz`T6bpW_wNIypTRl8$Tm5ZHGdusZ zv$M^oC#vZDK4W}-imca`1{Ybx_a}R!oizw9_!bA?5;dM>HDnLrX7Fg zUX<-PYxndABLhR*MV3fL28M`Pl{yRz4J$uCne4A8xg$sA#kb4z|COxJyeZ7~=jQpk zYn-vy+PH)p{#@*@yTU2BPAq@#*RY=_{p*5C?UbLJJXbkx=`*2V;rr8-aT*71X)E4X zWBsD6SXX$GZ^y=OQD)!$oYv>QTDxaf*4C{>^V8=S*NSm(C_8P%xf$FUu`XZ7qcy+s z#lm(m-VJ5mrZ>{8o5SpUPi%|+X6<;#F=h8&(b)Et&me8R0}0?vzRb&M`rUZ_9(azpvxVudSYH@W3hYWZJ2p$DAIXZc*L5Hbm!bxsG?Md-dV%k=xbY zNdErz_H~F}te4Zm^S0k(B;ADVWWVhB=H;>Fx6N{E_~+-@`785QPO?7nT}PzqE$?wiX=hLc>H!=G$#iPv?6CXyq$9VRADH!4<;0D>dp$h9ZQuVlxANc5=g)JE z?@uh9&ZU?py>;Q0w7<8smi%Sfa@O+Y)P_8}*$g?t@BTcQ>~E!bLFevm`7e9)mT*p2 zEBXC-{{KJA60+8%=U*tD@b=l}y^Pmn9xrrm&)YSvJ6Hevoo0T!9S?pj{<1p$Z`Qrn zb>IEBw=%7nZI=6r#Z>s)nfJ<$msqTXncng(Fk`&T5}6H})R|*j{cYLz&3i$~ac%VW zdlmYj0l{lcuj|}?_b;-SC8?O_uH%(Ib`NjdTD5NP)uduOw!5Ihh=GBD%^cL7UFIVE z$Y+KLM#7T0dJ=bWp?V7;PdUo_L2 zt@kGj+UEMJ9;d;&@}ITiFo7~b%j=&3Xwxc7b)=bqHPE%v*Y zI%WG7l&OAU^Pl}{iT6oEwFft)1>W(-^C?~5{C$t^mb;1T((|9*@L;{vdT7(%ZPP!8 zMzd~@cG?9hNt#ZBsxrTXU+(t5F8UsP$+9(j^@eX@1!tcNY4~Q88gfokJ8>)eWXZyU zto6p}=gzEtB(-witOsv`W-;V4t!VaAy>_p5?%cU+f4y-!c&7&DY;fDdXCkN`&)OT} z?|WlYb=TJxw%;##%lV9!Rv((dscd%Jr@{38^xDXrzf1en8~4AfJ@@M`)BN6h3o^HZ z+V#sE(sENz&FOwqT>io+@nWKO^tHJ2&#X$`m+yalQ+nOm(iMBB-Hdzxck=tyw*PzQ zEWg+ADrnPLmJIRT=~YkVUfc3>9=PVAVe&nqyug(4YF!ocn!xJ6oAVavyTy9OO^GLazO9@6*(&Gg&8IovC;Qt)7XAJI z=luVePoMvOiTgcE;7idGsXVQ_d`0JVxA=d*SDn9dYw`1QmFtD|Y|G!>nKb_;?=Cf- zXlbsqyZ$;Y@AmB28oobkjpej^e|@h;KvKgkXll5nHS6#?`Mr$i>w?dJf5j`nXUzI{ z$5%Fa_rf@Fu48x$ULuDF!7 z{hrpU=C&a7+*=`S6B%+=ttj&jy}tBISmN38H+Oe$huC?c57fJFSja2fGPkUmty=wP z(f8^ZS(`bh=!Hp|GG1W`-`#xf=ik%%`|tex3Tlx&zOg)yvy?9@FK^wNDbDSDQ)R8o z?o`Zmc>D75@_erCW`6T*EZ>*rKaGT#f6N9_ghQTglT^64?p5A)mWoVWY^W>59=x7+W( zYsnM7^+aDN%=g2#-BNEJ9&SIqGI)7jl=;JJ_f~CMwEGl2pN-IB|RJWcQDSh*P?eA|Z+3q}kaIpFFznFQJ#mj`V-mcZE{`2Ew z<$CknTU#=Yg4#d~3=GF0146>Oq2cvkSI6HCi7g9i-ma~wcrA}}!#B1t<*5<7R~~}Y zJs0di%_D|si916Lg#A*Ce12^`^L_cJSEu#&*F4_4{eInUP`~Vh_{tr#x>ns)yn6HI z&B}+@{=E6~^YdrB?dj*|L44t`8{FEQ_VDZVc=Nfxr&N4ADt?-o-zGrqW;4H?h5nIW zKcCN^&MmIDgS}d1!!6mQv+p;n+>zQlHS+U6&`1d+^xw_`%|0JkRR9`x_!8H&=FIef zEUistuh*WrT$e0i6RTrF=a{ZwnywiU+Xz)ts`11L6QDKX(3M9q8r~@~pU+b6XvRj@jetvGM zWA2R&iT7Ub+_}@J<6gtd4Q21{R9^nROzQQ?$?DJd&evMAH#8bDBAw9=GTXpZ=!3M% zg73%e|83;SdVH++bKLrC2c890^%q|F{OhFp{4amcd0yD<&;9oMlE@eH_P*cuTP(JI z;b*%Oh4bv||1J9t-p7z`mV4{UcWbu0&kQ!rzr8(w{`WYiHIcjC!c+bRqibR_geF^P z@G&_2zE}7A?WX+u`}Vz7o$>QwyZpK8{FMd?j~m(LUgRvUuI{)0SFv)c=DFR>3vXTr z4aECQl1W|<>ekr&{c?HfG3)nxE`R^6=D4o>yRAXSik}}I9{y}M`E^9`dtUADZ%*s) zw|T#}?z!3V8D4AehPK=Pc+mXmMsojDspI|f^S@g$UabrDHqXCj^S(5gajSX2t_dM^ zw#CnUB&UWXzvWwd?%cU^+$Wz^WPO9I{%`mg04c&aqpyYV*1lXiJ+ErLn$NA>eohni zCf+!za%bk!pFY!CmsQ7S-dujK;K};Bud7*?Z+buV^ZjZ&HqM{hG8bmwls*vabI!GR zO>WHTJC`{fzQ;AsD!wg!?%dWjoL$gSq4jDXc3!XoEo)RibIZT!;NmG-tM4wneedzT zt=Zv_7)yA{0UCb|R#rUJ@@HPnr<1D8(>YI-h6neCd|SU#VpeHYI%CDRo9VyVY=Sp# zHeV3F`|Q*U(tSQ1pVIArM=tMro+R`t#`pM)zpw6Ye?G5zUH$~q>sHSfMfZK4=q{(Z z_}k0n^UKb??yvi@c(&HjwArSjq1DMS!pymD&1d~d=1B%vv_ACHPZZb@$jDcPq**? z`?l%eiCekrT4YW~=kGOLzbZ>uz%TXuoZB+#pX>V8SD*Uj*0<68i?yfFsXs6M>#H7@ z27ffUZn*Huo9b!L{(-tgR?nAykNE!fwt0x^HI|TS=BsyqZ@OUl_TG1?onbfk=d3RL z_vdHPg9D9zFDjm&n+sZ*G55Q$+TXMJb(<4znA~2?J44R0XbEV1K?nvI_ zGaT}qPOe;bTX*4|I?+gJ%X2L*?Gq=w3Ua)9G-ZDA{cFE|p0B^hsq#H;drM?|<k-!?r%NNNCY8B%&HVFEKTp=1>RSKzbv(a}ORVp43Cn#f zW$bGub_*S!`MY{X_NAE9iHEkW^r?PxW24cEn!E`QUN3OG>8KKNTN~W91q~5Q15NB4 zxZ=6Opz%nE*W0y9w>((SvHY4AtZ6de-}Fq5dZ?cG?J$)OKm7lH@qch)Sx?X&ByCHKS}zawn9PbU5B)-!vJGd`3C+`MM{{my01^=a~-Ul*yU z%=-NeGzND1&6}K^6(1ipy#{qVgIAh3UIBN@Qmd`Y-@OS*dAqjd*50*irswva1{aOz zHtIg#0V&8OdQGS6$M1_v;Q9Bz`t`B*`+whkFUG+3`2EG!-d}rkM1z=?IWO}+KmTi* z)K?ZJP-*X%P%RD(~jR?%q^V6+VFJtvIB+ozrVlN zSNEH<=sVL>LmZ=2{dc-Fpq{>#vR8E(X!2)(omk7z|3!&9x5qn{Q|P-WI(1 z05r+b4VB`Px2w5aeS3R8^wbj2+EviZ|En)yiFbDvr{CODSqv@biXdbA!B6h&EH)2~ z^#!$R7#J8DPAY*~@C-gvLt<*bUJZwo&#^liO|!3wFf?Rd zj;)RB5RKsL|7&O(v`8jFwWQn&+#V`;?WKCntxKK*v}{Cc;nipVt$x}E1kV&r2yj}% zu)*i<+)2>zHFztO@U||&y+c%D8aSGv;v}6a^IyLDyRh`rx$<>?vXd3+vkqtNj#}wf za3@0BqG^}b^aHHAA>7MD{=DwhIIz{BNkXiuAE zc8ftx;lPdk_n)skX8pM$=lqSw>(h^|pKfyK^BLpMe9JcIgYE%Be)PYgMzgnY}%B8fq^{#4-TuYPiJ5V+puxtMwT@)&CSi6 z5DzwdOMuS{WAUKZ^%pN+dP0;kFfcfz3v9e(dTmYQWQJ+Y`|Dxi3o4bucDdEp*E2=% zz2E=84xA%ElCzYPmS(Ss-5qv({08_W$R^ z?XR25FwM!|-#=<^Rq4laKb9{bGeFqkv&)*2xidO4w3I+xFy6BL9&GZ8fq`KrSt)aH z#0+iI+bS*b z-2C$0-QAsg-re6npHJ56%74wX!X}up;e!s`Bwe?Rr>My?d|!OuUrW!jQ02UfA#wH?0ulg zcW9G=VZ!knHzKSmJ|uipzpI+`q+`vSxkUUafzHB91U8 ztS$cg>+7u7f-Zdg{L9xyZ&$NAe0O(w`d;0-_WI}N=I+|~X`-_GrS13YW-~OryEZ$4 zwc^*8%)-pn15tvLBkO;?T>j`IxH@ED$msq3{r&j}wS>2Nh6Y*h@9lkgtXDcSBV)z0 zZ5J|_IoqH-jtNnedUk}UV4v*Q`*)M~(Qq4-`m$&m_ za43K6ePQW5yV@w1r8`|sq;JP<&x?iT@QkH1A|gM&xw#pfiXI$n2BoBzx07e3*0}uM zmV3L)V1p#cW6A7|axewfPA_3*~V z?xaO1IJ&>Ds<0p|JleANBs%n+Q_HgV#_B>P9- zK(IISU(4%f@%hXaJ?|bP6>Dy?doD9OpUC&McIJW)&7?P8 zv({${W4P7WF?F4=eaZgX-)6eoPo6xP6d(1`53+NNp`okDB%G5ceYTR6;-d=}0)mBY zloNFQdDnIvfA#+T{CjDYyA3T(n0D*$`;l}{a~?at+?=o5st!Jlc^%&U)=bD)&Z=a^ zjr*+~CycjkzHoBILZN?QM=E8m*hqH+}*Gkp@~YA38^*a(l(6 zlv{Uqmz&FSG9L&M*mx;4iR*Q@xPH*?ihqA9KlXE9hPJgD!a8=C96H3orJQtUcX__A zhE%YV@)Ygk9UF6=pPS3u+A+0r{?$j{=Ya=%k4$)KV7g5-G4*Nki`CQ5inE#-Gj5&v zRoe30jD{$Eq2A9?mf?k+rH|&s>?+AT_U*9^=)5V8YVk!y=aQ@qbjeiy^nS65e?z7Au$?52FVBki=(uD_4v|IhgMQ2w9d+W7r- zRh2AD-1}ra7cX9H>~z=7r69^~U&S0ZZ|G`n94(>Xx%d!RBc zN>S+)hq$sv&y7toif$~GkB{~43bs-{l;h&k^Ys4SW8eB@t;5PUWwFc=yfJmV5{T+A<;~w8}t&o1cQK;kCM^^)>=L(O`Z*sHu+c&QxLi@HZ`T|2hk1AF@8 z>GO^@_j1lZ&AHwEes@~)~T2z8pXcHxAXVwF1oWLfAg!OThIE;)y+3fy6wiC$PkgG z6t?Ts>hSeJyMO+CJ|EgFcF=a2aN~sgZugGJd3;gxo>|WRR3&I)W|V1i=){a0QMzi! zw=D+O31RQ&Og(BiE%|PT^?cjvX<}OQ&R02RR_=a!V(Y}`n`L$#dvb5bndSGsiT#SH z`~Ua*<~XHIy_)Ome;k(2O1j;l^L+NBXhC7m(~g-et3I=C5Ij3=yP&Z5<4Y&ZPVf8k z>9pj>tjN6u+XA1STz-{0PzKI`h6&ylvgrTd;6&-?vJi!Z@Nmz>bjw-2D>qKf zTwmPDxpCv!R-gC1$z8ug-)F!1UGqCi|C4E}XhT_&kap~1+2tF;K-C|(SYu$&3ESI0 zXTI-Vjm@Zc^WOaWeChqH$B!SIUY~8bUhws_ z{>?S_q^_PR+n#&dEcs^4^X-3PuHSyYbISgDt&4Ahx=ya>^)Xp1b}@6SZuGV#ZmuCw zeGaGlufNLGE8)s|lWl3&+pyg#Ywh!AXJ?yUSN>$$DcVq`l(aN^OR>hUUteFtLO0?p z%hI!Jq6HTwZT}T7C*MBds4=>(Zb5CmPjpxPd-cHNU{w6W| zZk+a!B^P6Nmo1$*abny1;697loLjmqkl`Lv)*`V#{WBS(QEZfPiQ`B#mCB475ck?~5 z#?Q^{{8`hEmR!95_g(qRYipx2osd#&9YuojBk0&0F+uGZ+*X7^c zWoo+W=JQRVr+&wX{Vx6c>ubrkH#c9V3NAb5a&7(oe^tkpT$!q;bmdit>ApViBWqKi zYOdMX_nFgSx8TN0rnf9b=FXYp12LaruG+GcY3iw)YM#x?vYOxF>Oa?N>MdWN-?n9M zB0fGpIaz)AboUcgzrMUI`S|GQk$72)f&~`(SA{cPyRK1IRyN(3ePe%pJyS#3Wmpr7 zAwkl0LG_~}owHI6J-1k0Q(0R2`kJU>_SVnO&!3N2FSFs;-*0bjPG(qecg7KLZz}V4 z=9;~Gs|q0wTJZVH_wUOa8yj7ozixT{X|lhar?_6s3eNELF*_&q$=S~OvHI@r^6M?D z3-_J69HGphcVFEpj3L8ZDQwrVRiUdd9XaBX<-Rc=Vi?2RwCCsMW>!>KT>RPA)^_RX z>FL4N-6xEk&aB_}E34|};dXxEt&e1KZ*E%p?9Lp!TC2OeN>~4=N=ZpMrgH7mmoSD5 z@ng=HOn?2lwf$t?^IB-XzoBen=H+FxUSAE4{JDC@nke0-Yo~Uu>T5WBtXDdF*%l@T zYfvy>TNgX~)>K%hy5Xsbo!vaEi5*+_Eq3o0o1Crv$R>7Y(b6Bkz;(jAo14`c9d-+C zykr`-K5p)qE)cxlzaoehOs`s&;e|RtF znnD}HsatQU&##%pupqWG;-!>eS6I96+oY?jLY2ZA#9qDq`?_C$ecawpr&Adi7A$>q zwrG9){(1Z4*1u(7aImiY^P}+aYrCp18m8F=1sk4KZFgHEZI-iQ=e;wPyibdx?egC) zsOk9_Q|5FciqBws&P}7|zogCc=6wG5SyEOuH>+B(f7;=jpOQ^B?>*X)x#sGl8_Fqb z#TLF^<~v)6VT<+5P=;x$U~{?+4BN&-R?(mU}yEo%@d;4-PhODSdtIO2_T(`OCeh>-omZ zOGtP;KR@69tyg7#MW6{@8x})z#I)3=CT)&sY*E+j&my(dD8eQXe1H?BCzhxyaes+4S_edA75q zO5fetsZ_N#=2q#a=jY~HXRkY6cWmEz^=sCpuR_jlvPkc3TWEQ-IQHK9qA6C>f7q?A z(|cTgU|`_pAgD#qBIg zz4zPIB)ZQ>eDyt(YgyIb-gq)xIOnpaWa^KOm*4N#+i&guey{qx`#DCP#viUlKD)k^ z>wwaxt*!0R{igS7zsKe;U}jjL>*^w*_$Wp(+vkE!#fJwyPk(=V>)m@}cX|HVuN)H6 zoRP`DPsdwcuQ>xy8X)ph<~4)fbD>Fn%0a_S3cecQ7tmSt0S7&x7o zp%L}-#*ZIA-<_Ll{qoz}+s1P0|K{zk{+^c=;<7<-{WN)Hr(-wbQkBwkj1Qf-vHa8d z>1Xpc>pVKv;kLT=``z-Dp^tvNI=T-u`fz(&?&asDH8p!Ij(z&caaJz*=g&WHHlLqn z)6{!n;~!hW-?I0ut;^nM%sXxI?0CPt`1!;&(eHPHj^o%fIpVc#dhuWTvUT;7U1n6h zzP9#CM@MM=_ucnJgCkBWS*)FRP0BFSM_YHjbZ~rfb+6m9uSz#g)rIF5my~Sjh)&+E zc<9b2mpeD|l!X)0g$r|@evJOP!(hI+ew@f$zYfQI!y3K?p213C)6Nv_^ANth?)%|P zzx_Xs>UaHjWY(D?zMGMOL0}`(6Xm3(qAqK6TB|N5vn>AFbZVzdgN2F7l@Gr@ZcbvE z$NhJv;lH@OH9tQs`d1hGs>Afim#akqH&(RDJT7usWBAtOTymvX-r`x7=c>-%bOJ5> z<}d&qNcy2xNd(mMzwC5m%cUD}rEjd}X9)fK_x}IBju2_lg>Q~_i+8`+aw{qM@~J7; zKW*Fh_uFk2Z_guKTMkUwZ~4OOfwJd$$r^YioOd)Ln`=`pnZ+O5A&W7!Wg?eB$dK2npt{{MMy zZ!Wr_jhUTq$@=~Oc6FG~4xD-5md}A%m*Nj!ciS!w-ksz7K3@6N+ufXN7)rPVwPUsG z7R2r@%RQC*_0`p*{Ge5gpo+|Uq0o$TqN;9tq_+RRz5nm+CZ{W}-ny9FK9L;Kblk7g zTD$Ds9n0D|pWl`*mrHJ0Q&`j6c5DYfeNx7?3kcfa2^J8W&#)ToE;@^v15;CFI?0DS$_|3HBId6CN{HWC2S1$GSb^L#;uV23| z4Xgb0#Pip)+4+}Vym;|t)7jbP;s-M~PmYr=e1C7R(vjL5(r=HBb}u^1`LXk8m1F|rGM6K5=H+F+oD5d29aBYB?KV9X-~Yqa(9$&N zTKM`nQ`?!QYU|zhNQr;c0wov*28InX@9yrN?&j{EJ?-uN{q~Fw>Vg|LDTO9o6Hv^K zxwofsvYMJ&*NW1ttW`U7o33(%hOdu{^(kEY2iopr*f3{Z%+8?V+Q-LwGtbYn?>1iwsbKPL=YX%0{BUeHhcDd$5N7g`7cW2-RFfcF- z*sR3veJl(Y8t?6^oedhGS5sF94d^m4Fl0;(T^+V`-@biYs=mGgcT^5s0)>dI`lGAh zmP>2J<(Qa9yv5nq)0M)*PI!E>x*)WMYtATE!Jqvu1gN zC<8;r(tG#rJvv(?D!3IKf*VYHl2{q6!u}LVGB7N-y6V1;xvA+?28L<3{q6sTd}gbE z;bJ%=DIr0Dk-@8u$uJT9CB@J)t}If1-O^!y&xXHjaQxw2u~*VFO;j2xH0eruY{&CoCto*{DA ztUtfLl#!v~-IKL`Ajd-RfMpW+ETKa;XpWMhAIF#=B z`0MNISsR!c7R)|!-b$1yEWr>yL({#j>g%g7&(6+%^qM0geouwsD+Y#Lem-;7&$E)Z zXJ*uy0_$EaU{#6$Rh(5{UtRrTbUA{tA@ADt>*`6YVy>_f<$}`G4rR4XTp+otmoEqZ zxwAR#>@1cI60mvN2C=RM%6d=xZ?Q7G5HoC)TObM#U2g@oDMwiu7#e=5e1y6jR05?7 zX~!n#!|p8b#*vX7{h|s zzCJ!nrt8Q5+Q}Xv0?kEXE5O0D<=pM<`Q05`m6lC9>i(9Ap=9=to$8-mK8D=RWrmYufPVF%5h-hpTf=!PzFfdFYHZpeaV=?I8xN+l`hwbvq((dl9 zHs|HzTbB0~G|%($($X)`c^>eL;jilN?|cs*J`4_$TUQUa^IyKa-2d{f($|-!=|+R6 z9(7a&wGS}4Y^nP4;-b=rSg(&i*!ktwM3(*h^mJWcGpIa2k)M*HQv2ni`^(w+`)0<8 z3BFz%y}fGzczSM{Q$EuI&8ZtoRx)3E^)?iIXy<~fese4Wg*UX#I0YK20jEUoqbgww z6hHg^tNHdOQc7OlU;E(6$?C7=Ue`R&02lM1?)!u3U3| zo~`%c!-tFWl&@Jrl zv@ZVs?sEORdn%3pKCl0mzA^8{j>6=^oBL|3tqLAEWL-OP!sBDb*%kMehs}7sy8o_c*Hk}dDPCGQ6v z9=C(V7k1C&Z%h-^$=j;8}2HpIZ6CAwS)kFGs!Ru>lmn{R0CNXR<*vq-#tm}!$ zd1asou5>=f5&D?*|ErZt4K2TZdwZJ`6zsQreZ1E4MI- zSI@Ap4nH8ZFe7GFzy7scl_$9&J`Et1)rEfPvtLQw?*9$azu}8d66>uvORL@r(`75o zl&s zT(^G7pTq6^uiaL=_sMwPulxOW&BE-X&(6+%KIfK{uy?XhrZ%{z#B}Y(c~D;TxBIEG z7CcKP6Mtm&M*ffKUvs%dZ}**CwK;cl(V3_IOde26_BfalGd7;m`s_qG57X1Nx|1K&t`py(s!AguLNGCXrgrJBq$r` z@Bg#u-CIHPW4Y>nb5_g@kqUNG-qGVxq*wTVC)3Frb*q)HdCiCx6nwrmdi$$)?mD0& zCJZ%A7hQVwawWHDVouKI*X#G|$!*t}=6Yjy;p1bHm%|^&oDto4t~7dYu_R;e-da#V zMx3k?c9{M9-|zR?>*_xoWM3(%1ll~sVCC2{CH>r-ndN&s^iB)gp1vG;+p%R1Xc+(f zXJ4tc=B;H5m0Eg>t>SH@9J74F){6bU-!%ag!VNb&BO14v+u6+%TYT?J2*{2MbHO|_ zqm{-?*FIgjI>X{to)VMp?Ch${tsIfjspsd}@~#cfzkloF9#FAUGI<}%g+w{~x;g7& zcVGMPD>*qCl3?z>ySrODZoAD{6ScO!o}MjNk6%6hFQnUJyNzR++0;^TYtF4RbFa-7 zkUoB4)k^S{9cNUMSgp>zy}i8~yu`9(^4Hhb&G)=}c6N5~@=O!8wH==~-smWOe5{vu z{p~mZKxuwM1+*cN(Af#@E^8QfioUP_jd&#_DCk~!@E`%?#s)vJV9+82i)2ZV_ez97 zWi6k)-JCvo`*|Rdgr!|8m;L_!-XFxdaIy+Ioe1Kks3F<};H7LAzOk{hXRqt;?^g%O zgR#}@4$+KiW@cv7>+-f$Q$S)3=RSRTd3o8j`cF?hL2g*E`>Se$m`3}uwV=A8|5sOsn_dSU*07@Z z*JXcu-53AX+D(7*urwUB4-@p6E_lvJSKiB&Dhrh~6 zwI3cF{IYa%h-Y+qmo5U$(CO{rx@INATl~&xLN=R(^WYovU*3Oi(zef0wvnI|$8hW7xw+Qq zI@zOGN>Xk96Pr_^4uer^k2D z)NK3)egBzjx6Sy>3-Zm{fcL%cKWaJ`c6zRzYQ8-D-i$cTxW`+M`PJ2CA8z9{o_5r* z?3VN!P%54lmCuy1F!^|&sJ@SWYeztG)N7}>7rg>sy7l+XD3;3Ey^3W|+yl@dn+qmS{9a`ngbuSc%!@UKw{T;6s4)1%8PSIxDlyp#gkm(?INIihh|_k_~- z_x2ujxpur?e*2f!n-w3wzq`Bp<*%==UtU`3U2Ipj$3y0_%(u6A`09qnkRiwby^#`iuAFY27~cWvh;v zM1$LE4zR1+WpCNrsE;dy9zT8zDzqB@D<^?Bk2IW7%KP(f z_xm8dshlhB>Z#4wI~HWCUj6-@t{%v#S6=yoCD0HK_`G zfXZE1XL8F_@9BDHBS6&%Nb3tdXa_x^6SSA*-0kDXk9WUZy*>ZFAHST%;Eb>m@~AP!h*rW4!b5p`?nd^(cANU&GYVf zfO;1oD@&H|1LrkDni$%U4{3 z&(bn5C>TTC0#ZJtSMsVu;u-9Z;j=z@)K}mL1+B8ivzDINK0JIt3S{U|Uba4(EI=^` z!uYmWj3x_E2!ZivVh0BUh#-2zZ?v=k1s52TH>ga<0ECZUGdNtgsQ#8?RsJsK@aym2 zzb^+3-4#DS_sGb?V#cn!TeGiUS{b}NYZ_=Z1t-Ia)9_LH2GN|F8XMb+4+?YbYOQL2 zJZyjYQ&BZZY=T1-5+xytb1|Hg9tvw<<+?;nVE+V>~8 z(Kl!+YZc=Mwli`SjK``ER6ntuP-;+JaEVx9?-t7Q-5$o!5DGsXm?1$Z?eFXO|GS=VWQo}S z``vDk0f=ppGk(0;eEwT$^4*&^GZ`4d5*LHIK46pgl-z!!C%u2?PD@UcZS(Bw@7dJ; z+5)<1qC9^3xw+5J&(B{Mzu)d>o#dx`k%#^r?G~T>A;tRIOyhL5ho^eVUtU`J>`*KB zS)(nFQ}-LCS%-a7e+=5ZxO@HC&u_CA%~@=C>*t^6_WyT2x4mt7_IKRAnw>udjLNpH zy=tp}?8N!h`?vnS+2{Z5zV_?YLybpRSU%hB1a;W= zCc9e49lLq!mQ{ek$9sFL&;I@Wz52Kphta{KHub;1z4c7kxcC04KRNmN=E*7tW_*7! z`+V7()OU}Sgf7^uIP-Q(vgFg9WfO|iuT?zVxTpI2JEwz>-TURg;SgPEttzHFFzeOuyXLm{I-e?FgAS3I1# z@c6#m-KDRusqER&!BYI2X-)0pJ39)KFUXvkoV&N|?X3sjv%YWSv0WEc$#cBL`}5}H z{?v1G|M)P?>(1zZy65AuIp>$^@BdSDKbiAv-_+W-UhLOWOBb;=EJlRVi>Vh<%`a5^ z`ts8AfnNOYEwRzZGn!j3A6ox*#$}Z~7G^#(0x~4kbdGBum)RY^G&45dIIgMZCEu** z`*+g*^I821c-b*Kpz!*IrSEPhNB;YBp-`NYJ3TI2=JdYg&mSHhPU|`2ZD|e~4rh3v zaytX$VG!neyXo7+rS~>JsW#`CVGws{YHEXl{p92AZJ&jzbgVPf3}(zffBjw2+sgMk zujBe=2E2NDdOCaQmNRuwPJG4vX&YgZJJPA6l}S&o(V@*Ky_ISvw^c@z}b5GmiB!UZ2Zgwf^SKn=fl?o7RAa z2+Y-MKW(l(_@HNM@wRFm;YnwIZ%fv@WN1-*UsnJ9%;c-G>C^UYcza3p!`Ew(-!L;zPUr=h@6`(HGtmF;N@pYPQsp3OP__;~;KQirp9 z)GT&t)!t2NZ%ZqdIXxk5_k7FxTLRhN%zsa zlpC*Y{Ppb7?)Uq$+qB}XO)7X9j?aW|yxrixt8m&~o!=@F5pBPJOa@sVWD<$*VPIEqYKB&)g=UUEpe3tt2 z?CbaGZ2Uxw$RR!i4c)3un5n z^ZZ<|1)H-oJdAJ8a>)Go`STZ6-S%_YakDR^Y|qa4X8G{a#@hyJe`fvlxls1vj?2xZ zX1^`AoX$Ar)v@hr+k*7D_O-`1t#{6!eud9l*Zp|d4jRs}u)Ov3e!EA3$@;ftvvhX*eUp?v z_U0A0h1wMh?IX9Y8-BjCv-oVlO5Ul7M=DQM&Jcg2t9m24Eh1d=xS?#q@x1h#H%ojR zjGsqI3d|EvdTTxH^DegXr+dX`p5B-1>rfHbu~jDf%r>S2h1FH_P@5fux#AQD# z7`e}{|Mzo=*fnvHx!;VJZaluc=I@@*%isSrEH?dSQ8Kmh>J`59+Ip0uVZlDRK_pgonV`t9ZI5&^+!44r%r~Sc^)9j3wt(=$KcDc{atNA8= zZ`IbyKR-S?#e#23e=*%4HB0~Vt_C?1nO_Uvym{lp)bFgjcyTV%n)3Jea-a2r27XSm z-nn~xlU88Unm=k^51h%=E6KO5`LV(L$gIyhcsBZR?`AsSsREjhInY`D^V8Fru75;c z2k-fR`~JUe&ks+unb*g?J^wy<&?@52=jZ3u6%W+du6lT7p-_g7b8oxjuI6QK+jj1> zULCu?uJ-)T-(Ox{_T0O{cHhj+HrJN+aWGVa8wv+Fa@$+;!Y9m~I~SB* z8$gHe?9)GROE1$tW#?BG7X7$AH)KpX?bKANW_-PRAZ|~E;*lr~=QW%gmSyM4_0M@6 zJ9EEw_&O7Y1Nq>F0GrqLv+p*2oIQJXb=ONxk7uiXm8fRKPha%p=jZ3@uBTH)D{ebw zbRFaL-`h+&u?FMv2;(~@_8n| z@~-zc&t=~G{^{xIv+WZ$?v@qV_57&B&z*0gchA53{iNMI>+-xJnd!Cfcr2$SPyJu} zq*mP0Zf5(Y9rJgd01eez#QkDgbNlvfZC6=A`xo zY5VM5JJl*uI>}deUG~K&O$M2C(5Zb4%(fLD68sH~!p|&!G2_DBv$M^=+gv|YTxnxJ z`}*?3hZed15b6AExAUv$>Dx;$-}-2D?%K6$jZK}Grxj;6FV#Hp>?df{pQ-!p->_%u z@-{se%O1e1f4)t3qP2^y-$uAqu9JOoXQpXfrA~X9m8NagmyG+DGV1^TzVCiMblc-| zbFHi8KzC1phU#VPQ~y3+@U>s@*FAgjF8;OcCHmX!GW~)Y%6sN)4__a5ckleqyP{XW zT@`zrrD1WxUPcCnghWlZWe%3Q1vjUze)sv-wgyYLuE(Ifu99N0C1Ort-rZfMocel7 z2k-1-$i5G{u|UFv{c}q6`q7vzt741I*Y;S3D2KB zdv@je_p2_)-=sgQf7AN7_I$r&apZBuPMpE?Y?3u)?M;X zMmxEr-+h~Mv9XI}Ro|QRbMxN>e=|L9@_Tmed+j6YC#=3O&+54<&T|f2?ceUZ`F-I* zfmB7i+m_Gfyx_k5$`90Bmp?b7%0K=^;kDNNwT)Lde(lH^ z<*QNn;^>*!)Y|0q^z;x0^RFv%;;UB|8h+n0>ypmXJ3W!1E7nWD+q3gsb={d6rz0X) zgCA)Z|@fzH+t@0sbidX zEQk3JX!G8&SF^hf+hHeE&lxMJ52??4h=Y%*} z&b@Y+z?2`~eoFCl=+uS#dZr$DY?G@|bgi0K)|mB1W%4qH*&p60F<#o&CpYuDqU$S` z?9==V$6C~)EvMJzV8qp&xZ69l@s|_p5o_gtFZu8NNfE5o%6q|=6Ei%{{Hq@uiyXHz29xI^J=)e z$J6+hfOG%$;w!Kz-gM7%b ztn7r^gO?SPpUs$FJgaif*7U`h$W}5ZcrQXxO-I;$q)O=ID<+js&Q_rmu=DRD; zV9{v?I`CV}%p_&{gM`RGz8(elCPloAyHI85;V z=UF$eiL5+5fBtg)49k+Z&$nuBTzo4vt5z;rV!vSnAMT6(+Rw3~T5(sZw)_#F3F zeU-U8Uj^-+KlAgp$+^c)e|)pre(Ul2j(wH6yI(!Cy=8d2@~q94=y*Jnj$XDP+btT;!O7Gq*pfVJDv9HKbXPvYK=g4ynC;q_mZU_tji>~ z7s)+it@i$Du$X7#x}d&ftJ0pk=QeGAIin#hp0OsbW9$2fbFZcDO#L30qW627sXX5q z?v2xudvAjJEeWN!0+O;UIREf+{^jMhefIu83-9Twpm*E*x6ZXaosdw?_{PzxBX@%7 z`-#6?OI1)m&2--mHmlvrEs-Z`#s*;!p41A2vlg?Q3|ho{CAGWAtYB z-yG*9o1g6HducMe^6V<7R0*qH&jU4&7yH~Tez9%Iyy$t8IX9eJb&~0T=XOv_YQuz$ zvizs6^K)*LJEGKjF|+m8La~=jA0bUyvHt0M-(0tux%j;O|C&z^4{b^P@~du{$+sU< z*3U2h_r=yeZ5?0G5q;*>oGZ@Vy0?$N^H|AF(0pK+a{c<}`Ckkd9@@C@IEz5~RmNY3 zrmrkisoB-DE8w2;!3*i<=b84)+t1sRe`wjyTXtm^7_wLMp4HoQcjn@fg=e387(6~6n|rtpVu@`(wbwtx1whYmLzm5YtHT?WlIZm{B1 zefIuq$@Mv93$wDcf8MU2cr{c=$yZn5YjdRb;U#=uo=%T9yS^@Vc8lfo+KCmtRW8pA zAKob8@U30B#Q*HYG;$vhT$tim!~=-*jOwlW;Z z0k_}W4`6A&N3)!7SL58gEl9xs#kEZd)lZ!#tqx!R?%sKJwwbFpeRk<9t@L{ht`6J7 z4>hcQ6EREbOk&)@w3}OZ9^SYAbWritxh$dfE)^zQZwH0xFfpV>gZ7qMToIaaMku^C z(f-xxpp4WLMYn`f)gzy2cyB5FT6#m5`Sj@*cR(fV2CbJGx3;cIeQ8;BsbzupTyBQ8 zi=d+*9|(9ieEs+L_is6Wivo|vJ-cnL2O5^#U$!z(LT`7^w$qa}z1~mt6TbWT`^(GA zcYE(}eWuf2`Z5Ewl13)%<(8RN0n?v8>b$b^RKsQ~aRwe`P?w>=W2r_QTf}YEx9vLH z=N)=^v|D`kVzqBhqrOlq+(`@!1dhYkczRJ z684;_;UTyhwVM!m*Z23K1<%jT%{~^f#5g0qV{6Q(+FAPo9w{ZuO*P1{+`rs^e%`T& zEr;E+Gs^F{>b|ykvPbv1TI=6Wdrnm@0QYPQZY(`l`1{-2XRp`q&r^`It=jT@pOrX6 z&*qB^3=A74Y-~JhG{Z{!%MEb{S?Q=4l_R&d|M`8monL(}^Rv>%y~WS{Hg^=EwHnjk z746w=Kl!gr)R{c%>C@g@df)#n`T5V!&u0ZrTk%=$1C4gQyT5<`?+B+gPk+t_wM-f0 zuRT3I{reRW(C~&#`OW8wrCY9q6bbt+neyxURPFGx_xx-3Gcx=KNB4#W+djXTaHur? zMPZoXX8jGbK0ad=-woQ+mL|x#rp$Sb<|9yV`sTfR?_}-Is~?z^kn}Ax=ZE3v?+*?( z-~DZEZ9VzBjMS~O=hNPVZTtA{?(VZ%rOY$eRz7!pw#<6{&1VY_p52$X<8#-;+Vk6w zXLPvkdgV8nzj;^jwB(q!h|i$9`@vzWPVt$`R%^)|S(QDJq2SJ1P<-luc3n2dmA}5W zwzmH)m+iM!*WXP&msLLO%IGkSWj^)sbDg+;+?VSZO}d;h+qQ>#Cv2BlemgU9meG=#-(R$qFF$!_`saz3v&A#~ICk)?S++Xw z=Ebf4eQzgR=M62>JZboD-~S1JK}}l*h6g{uDK;XYshm?u?Sy6S$&EJio}YF|aO&S| z)%$Fx(UVyU$=e^lFyY*-mQyt$;DP!5n$7Ej(^Bd;%W@Vy%RaO^xBX_xtB8~{WjlYa zGgGlXy=CX$SF6|0N{JN`q-i5Zs9p3X^=OMjbQt#i88XZsyRz1Uq_p4Z(D zEe~@r{XIQ-_nUy1Yy9+_zq5l%M23dPsi2Ya1Vzr7`zk&r2|e-IVLaFD_PRx!oM|V& zu*lz@kbZr_h2*%&2NJLMN}H=Cp17kIvtz^WibI_@r^0OSL`M1`{&$C!m+uO93drmOC8-Myj&OUwT`J1dFJ)q;?Th-6l?8^*>B&NE{hgQ@cJk262Y!}JOy^~K)} z6JM~jqk-zr3ohX^tqVoR!{{7YVzw0Kf+wkOVdPh69(DEY7%I_;SjrgSIt43eNvcEz^G<8f9W&U{Js91{$OZR;l>$>gwv5>pdL`)6#t#4ya{W|sOqnR4kU*dKa9o-2jupBmn zTD%7)rLOz|s^#|mez&{U@x>hI0sfF`%DWge1H*pp_4W1U0{wEfw~Fm$BkX^_*$lM? zTp_aUs`>e8p6Uhtm>m~Dl}PydxU;o)L1S{}4_&;{&&|nP7qfFywf%F@A~^;Ih8ED+ z{{aW}jk{mGy}e!9qGNaYdoxI)x{wYURD!S>8cuN|gH870k6nYj8;87(82EQes1rFc{kni#XPga3B3?b^E8Uw;+a6q|lcvK2p zO))UEU%7Sb*1PZT@9)oNu()$?Z#B4cau_^`#K0gE^!oMwsRi}_ex^UvXmHjMm;UqV zwEphzpzUd(aNV2>xu{phOTPY3;pbmpU!VM*e{avsI}8?5W@a@!pqB7w$Rrm-fydJB z_@*@sGP*yv|6bg0mj&wR-Hc%ZZ-OuAQ03UVZJXK4L%+Vgz0KBeSo43_`t|Gm|J^<3 z$^oj!Yhdn;+4b|~3y`@CGUl(L^)tvRA!?(M4GISc9!=lS^a2i!(a;zT4RA37P7Qc# z0%=&0(thpOF}Kb8*4Ya(Y_O@@&cMeF8Y~4F(BS-rzy60aGXq0`Oy?C)#{eYCzz_gg zJObe`T!j{)U@o<#3{L(2{=R&Fd~|d+gBaw7Akg3y%iRyhW}D|rF*H1Wb$569ZpCYV z_*9N?>12ThB0vs#aKOyWtnBdW{r`TwR=Kfp-@5ez3l#kMkZ_6!Q&S{xUFZP?=x%>!r#WE{1|Tst0D> zuPvF!&UYvtycv&yfx&yzwrysd#e1s1=Utj;dipIBgN*r0yZO>ciy3tyttP$nVq;)1 zn7w}%$b}G0W;-em=Ffzc_x9J{-&6TH?UN|O1B=M$Xiz6|HmK9dz>e^u3g_B?pHAza zUBCa|Ed~aebk0q6zg{k%yq=-^lRl`{0aZMcKr8Q<)-W9C{P6DX?q|#A*UhS7jhF&& zXLwKe@M^Yse%br<&e+p$m>7=xI<0>D-sY#>e&*UwC)IfmD8ZXV(;mFNy?yun`Y#vV z56Lhb*f{lmHE6^0PrJsj{ofh7qd=q0Apcuz`2PO>`?~!b7tR-8D5zO_`_HXgx1Rj| z!*}JcEk^FLJRtdqA>ghX^YJ4$H>bmw%Q8I3xX?M`J9v>Zw{G2f_x=6-_4gSJ z?(8mq4;lmprA-Elb1e~(GrxYl@3($_{l7>B?t}#_|LcD~oqqQ>xC8+!Vqkc%<7P&J ztKGjJkDq;geSPx#`+F*lcQP8>JJ$9;78cb7e_k9pb!tg*Lem-s9lig3bzd&J^FsAA z$e2g%-WbFgzjp0f-(4H_)&Abbn6U59?w$Mg+5I#(5odv^J5Z={&r*NXE}B-VqrppN@Payl>Nk)J(N~v;UJ=@$oSK`P`~CO#_xC|_ zTc^LhySp1a*4l6tbjelUl&@d!*VTf~EU(?c!@!^usyFTT)9LYL@8?^Ut^$wiCYYK@ zF*GPYdE9TG2d>!votA0N4Xe!Km? z+4{J>S?A_hUXIyWwA8ZxUkx*4y=H^5=G_S;E?^58_!hH7tdHA!>(7tJ{k!{ZD?TjP zS^fPTsL^)dKlpw?aIvX#ajtdwHg`8SkSSMUBQ09xAp{NK;d&u1H_pEF@Na8d0D z7pz#E2}CRLQXS$(FN+1msf}beDUu<{Z3q_0qQB?CRS~qjhtStK7O&w7!Rsg;u$oBoA zR&LS$^t7~1GmIXck~Ysv**X-&Op3yZyeOe9Z?(tI}5?-z@q}`*tpwTdY_9{oP#?YwOv$n}6+c zlaaYzT2*DW`+iSF{j+D!vh2cN*H(k>$uNFYb-a|F0ltf!f#F5v=g*%-`;}{YI2Q_T zpSEoMyKlR8+}&BM9=o?{>&q8Lk8ZrGH4D-{mUFzn{?Fqt=d9mf=?V9?`}t(@8?o1a zFWdhO7MndyKHp{8+pY&&;toh(w_cZiM@eCC$;+UuCBJ@1Wq!TI%y4(*1aQzYFfi~f zm~kyqKS5VKFok8k;PSG~^Z$KW{t|Q}%xktaPm`ox=L!4W7QCI6%9OiC`l2?2gDzy7 zK1e^i-;rrcGv^*Yd>9l`zcYSr*s)`WZR6G$mi3^?vh8_yz3#p^*vx)2i>Q%d32-`G)D)zjpoZy@%WVUXV0BWyS_m9RP&V?&#dh1=DE4KZBxH|jVnz#rMJ}k zx;(=I7x)mBjK%i+`{(u@bH91q{nquMSz1wcYqyGQcPoiJe{*yC<>&M3_r3nS@$8H@ zw>%5i@XOn+iTL(v_4;M~X(*`LgN!)up=0(Q_@-86F%(9E!&7$1+{e)z8=W?JmE}u8dNJ z%D1<+E?c(onQUO)r<3ZU{mKb{zg+geoV|W;Sn=P8f1Bt3)%klh{%@%3iredgc%rov zbUUA#=il>ret!P?8_)m#{=PYLZQy_AA^(&WU&E1Mv z#s+b3q;L~lZlc?H*wXfwT z$1pOSf?tl+z`T5FM`=k($?;8j-4UyoZ`k+m*K5#qHNJbz)E3XPD%E-$y7qNQ{`{-L z(aL;m3>xa71$dzJ!N51CLt}QRZ1lG#VRgSPTk6!+HkM`0(q?ezgqMgG1yLZIDh%1c z2fu;3j*8z`$N$x0WSF22JroaY)(MpT%6CATz~Z1IUJz0Xj@wjzQekBHVg=um=+IyJ z>r1Bh>-B5as4z6-K~KD3U|@Jrw0`fmsH2bD`Q?|f^UIlhy|r}d(k&Y{OkiNx)eCpv zg426H9+S472HNwuQWA7v1p~v~34tT*|S@=Zk@`&z+km>|9*R3 z9-bx2?tP$>Nb>|IN1UHyIT>_G#@p2Jbupg#`~Q}0t1aK5vmG&fh5JCbz`1B1izqwl3aTSC6=W@lh(yp+@4!ZFH8wjN?)VnPfTe!Hw;aPY7E_h;w-2|Nr8Pn7DucYw~sTM%9IzWV-Z z%Tm*%tM%8+=0?K%xIppKTS1(5#mj8QEe(B7aGrzps{eD@TnU&S7 zXV0H+m%qQWSpBz^nOWHPQo#>>Jv}N63#>aM7#rpV*|EM{Iz3JZbRD*AsD{WU`)S&) zYryBWhIC7mmX(=peRZr?n)mw8qxyA$=1H}0w_d-re16?5&=uWZPO8tpayz8z>(%hf z?ecXq{ypITr|@;x%a<=p9v*7#N)_BRE$Q0bBQCex7HTtmcqAgk;LzXoAJka6komM; zXFDWncloxgk+1y{D7Lxo`|kU`>F4I0oaXvRDn5DEYj*jX33dNI&rd%u%ObeQ?F1Kt zj1Hod{Ia0<`MK2XRj2HquDkB*>$@~*BojWm6 z5fK>@o8LX(&&-hU{#RIdc&(fm!v*8I@0(A5`W8baM0Z(!PUM`Ea#5F=bqw_Fe|!3kC-EJEu;0F)_R_QvxlN1&KB= z=VWGT>gwo(=tzU>VEtL}?De3b>eCZX(0qK~Q>8G51=2h!AT1zVb?W>6|9{(F-`QQR zZ(H#}!M66-mZYCYj<{%vb#pR2a21AEj++y61xs{H8c%a<=%7%uR_3(y8;eWq*C z+w*1~;$kS_MU*Fepj!<=SAu{}aWpY9n#91cs}=631;=ZCy?fd`c zGBLbxLwHE8_}!hI%dXwNal@lu&en^8;qD4}jmp5FkPcVLz`#(1C=VGJ6v|Pg%qK7~ z@NHbWbSVo%$@-*?GeF*EV6d10I*1s;#?XStv{5NoiX#y0r~$>y$-vMsZ`+nFQ}XWY znE343vrWHy_x%6&8`P))cTgA@_IQAztwFBr?X9h#R^5vpZgIVkmIKDd#+fxWHc(Y_ z!REdQWV&{)yJ4$MQfyot__#_2h6De=t6fltnc@K*OnbozvD(DmKK^4xPL9smGiRV#q#-U4)ENGmX6pPH;|PoAV?g}%wp%hS7k{_pSa+rP^{ zkI)g@zCQa-zI*2Hr%BZt{|a1R^h@gaKCj<-&*y-B$FLx>cJ=Dj(VPqm-2c2wpZ@mu z@jhAa>QFgX#xIjVp~x~VI5;@7s>-S~s%HM4vbRxU8_a|rK0b2f$h>~#L#J-uyt$0& z(v9>v)tfgyeS3TR-~9JF^Xsp7?Pbhy4SQdGc`wIs;NgaC+oqYBnQi**?CiX9|9<<@LywR5 zU;g#0iivO8WOe^#jg5b2JBr<(4mv25;ndzwr?fK*3Jl&J-JE{@(z9o2W&dAXT)Z;i z!@>s+r?=HSXJBAhu#CfQ|L3{yO++`eai}TV^=53kYcJH106IS3*WaP{ugerE$F%hw z$$iB=*;joINIkN(sQ>q;Z{@1DU9azGB=9bME&UoY^yaYq?fvgwv1 zv!|}}U3bSF;P(X!L)KY#d80Pe7u&RZ>d?bxry zix>0$zYB>l2W{}#Ua=ZV$I}*Hx%BI-pM7utvivP;qbB<*C-q!+J0Wo}c}M;KILJRZ0{uX&|VQafr*{ApGqdBXVFK|2Y>t_1=ts)%LwS5!r=I&qmeNok`Y?ree z^LGD+EF^5m!j_J%zB?Yv{AT-JAJyC^f4|@NpFDZ;ZoB{QcE5ke;iAklcjnBSUrl%W zO5~PhW$f8zb*uO9RqmkV`1?Q4m1`}!%%SsLr~UCw0ubnWGRTZV?iiMhGDxj8v0 z-`m^Tg6iw*U$q?XmtX$%>sJ;TA9eqEKFrL&&6{=h>DyL)(O{fX{d8*hr3ViZZgqn$ zA3l5b?3;fV7rO^94Devkz4d7>Xu}QHRl`gl{k7s7+BkTXBXoT;bXU%M7U{iqWk>6z_s&=R7Wubsn~|&p zBvPer?zex+$iT25SFqsPYz8TLO?hFf)7SGwYNv&?cRqc0Z}0BpSy{#hlRGSo`gYb- zrL!#Ujf>Z|nmc2L$Jq|e^@ZB~+K=m&FI!%A>F@9F+H&T<>!x1QoqtApW8R+sf;+Zp ztqV84?3+9*_iLRibS+8ABv6IAfZNqUV*A~Y_7xv@2+Qx@w`tR+V5-1^+Lxn_%}zK+&T z>eT=rg~`BR1wMGz;rJG*1#PcRY^^$_b9ZUr6ds7VXQe;|s>8cy&z?nbmBqW*NF6W# z`s!*|>RP`E&{TLAT-ZKf-BI+^>s6UyWO-7O5~Tb;P^SSZZy_czoS5ke3WpC&BHc%~ zh#RUxi}R|Ppg>`WYlz;S_tr86YG@pu0S|C9XG3mEiptxgj~*pug>H;kQ?X~$rb$s3 zU;Tnu=1>l@n(4VlurF>`$;zaghYmSe)&KjmZeqGj@SFUy zvTaF~Z`RMOeYfn_R>8h)MxEQ{b#``kMQksLm2O>Acz5;sT$$zISYTjihyyjj7#8>( znP&KNbIq!(mTBVpaXyO|FBY8~oLt#5Pg`5tdYiGW?cI_LNx|%|DVI1R@7H`jE1Q_L zw>EBXmFZhoAMdq&Vaf`<(Q}HwF1hyU@p`_()km`*&zi!%vQV$EukdX0{f+%Q(l-A2 z_xJbh%i*iv!UBJRG&m{Uc=+qxAQ*hHZsf=lH*I#XXr`EUsV#w9K9ofQ)S*su2 zI##)@I2V$Z7f6FU*ef)huFc51<)a|gnA$QEv`cy((*=&8Wa*9fXLQ}lxO*f0$hO{V zxuGpSoxN-R^=;uY-#)X)&GGyHj*&rzFFQLsGdWp#x4ntUlwZGp2dmrE{jpfP ze!cpG1gpwVDN+&=9=}xy6~GDelrC&q`}emd2LnR`v-*3_1%kzLZ7&zAt$`%R0*RCN zA%O!*_GrTq;FcChd{@}Q0FS?a|8g#f-Pg{*a2I|Z;)SDi|G(GUGj7plx@Q09u)Pl{ zod#x3h6e)Lpl%Py4hDvXKQlp1MhJ(&;T^cbhVq{H!K5xQ*4EbE{%&q=F3fPiQPlqR zl>d8zHBMY;_y+G}eOqI5uj1dI%5Piu@3&`UkWq<_j()j%{k~guZ=TC0=)=vGEqHQb zqE1}z24%I$Q;*9sFtA@e(7?i*G2ikW)LPjK*RM}+Yip~SqsLH?vFFPr@0;?U7`Aw` zfwnh++B1rR8$iP#H(jpHI3^Vw$;iMr>&Hy>M_2#-`^U0D9Ms4Knbg47wIaEoz<`l~ zAz=RbjUXWiM(a6&o7xZ=28D8P_(VrVc{#iXcMic44fj%z@2THu44Yg@kk84@O*Lm| zXkM~@z5Z^-k|tL0tcQW(Mwpa8(v@k9+in3HIu3tYm2jD8WddiCne;$mY) zhP%lb85**dMJkLN%we`S=zW`g|Bo6d-!d$y{__2McLbvqxTXhbW+0_sO;7LPu?ysL zzK!sHJp;pu`QSzY)IW%v3Od0PM<&LU%2R+9LnRxZK79(hi~%%iIc?gsSL>{;tY)R9 zr3o=G-1UbQ0}LfgJHpe`(=Yc*n+sK&+uP3vwf6p2q@<|C?kdq_WZ0ttivorP+Oc~o z3}^52N_ROR6v&Pj0}7h@X?fpb;Zxm&FwmV`0(ME z^8X&nU%GK4;_mgMRSXPY*kJjF;X>%6mGf+?&EC4^ zY__RdXLqh5FE20ex76{v$3Hi2-1tU{nL&RVJd0UuQOem<_}Fb%?eDU)CpN1z9q$&` zUv~23$t~f6rRUC_TlVwk&t0!wGb{}aFJ7{HEaB~#qrCARXk2~Swc7uGzeij3b+|v? zb!_duQdv1UzsHXsXI541S{v}=)Ku-4=jK}9?q9xa*{0m1|5ndmE%v+ntM$iuObll*VV8B$;8w>cHeIIbi{aXpE+~pHuZ(i zbk|*ddV2couFS``+%rI(s#M39pfQEGqosEB|7s5ZJ^uOQykpln;u#zMfGc^B6%BV> zZFbH6@#1ILHU08eS61d!Wg7qPU$7-q&?at2!NRo@OqVTjdvJ4AhmCRy=#;nJb}7A| zyI)`Sk%(DmVrjbXovB9eTNCSEvnl^%IU*Sq>fte{P`;LJ$=P-GW@gt6lJ3SuGx{?XEu)|l9{r<+C7p{7U-=#s@tdR^t3`=>4L8K`_nf!r*FQ# zMY(U`ma{k9_RL?Jd$jKH&lxSzwYA@O#WO6h#nO#rU|{%t@Vy*^gY~s**Df79=2ljp zk)iSR`}gI36@PvdM#abb7hL%Ba{j-}Tl|8G$EIAVx(8|mPPR%bvh_Z~l_QZ*Fc*2Nj#U>%Y9X z7@{E}c4jNGbK~sr>xx+mSmHcpjUuxoTo!&6PiQ z?!;VvJ>9zWRmk1vtG7!FrtWRnnv#;D(jA+emEl=qQ`^$ttF}0deWsxQu{vo@+325N zuIw<|c;8}PUXbllGZU@|??=CmuKiIO z4MauZ`X)V@E3aO3KTxzu~rfazt`e-sa!BYoq`D3;F+>f#F*?yzG(@y6TwO z(zABOyf3$2Jbs?-tC6evZq3%bwYmE;1g}ra{<_OeCMLi7ZQk;UuU_ANSI5}!ts{c5 zVcw0OGBA|fdiE@hiGhKyKTLgAnbNi#)ugwgR}J6CC0}wYEZBVe<(FR! z4(Yrq3=MKY8Y1AN^ndmGeO~%|zXWaLVPIGw{HXsaXa?==aZoFffuZ5r+BIvI96fq; z+O>MYq)qQ`+_>@WahUoECWdOzR8^Ii%j)dx?3;hTe*OA}je%i9JR94e_!SHc3~zT7 zK6Wd6T^1Z1e3O@74gXc7~{ishh=I5-(HAP;*#xBzO=R~s4`O^VvOWy=)4S+7>E*4EbM zWLO{wH>V)u$niVVvrRQ(BO+Gp-kY`DZ|<#)Yo^v-i`st8EPl(Y8Q&G!b}=|SM-)=d z$t5LQ9(}xXCnhV5WzAJ#H_$B%-%Sk{Zm}xaTm3yRD{O74|9rc-yL`VIo;`nldDxMy zduxAx`?mJ#b!LXWnXr2E!q%i+53gMdYdZWy`u>k&eX0AuSMQ&0^)Ub6vwSV4lRN&O zj{j%$_vifom4~nYd;kAm{?W&ekM}R%|L64noFBW)?^P(*{(8Cmc0Z`Es~5X#N?i5Z zt-ID&|N4?SYwp~;8`rw6zkPQ8pOf=LZ2AAA?bZAL|K4Bz{a$tc?~k88 z75#d#xc?H!M3b+-{{QIz?_vM{=lSjO|G&onFAcu_?dkORbrm)i7B@E5YX|uMiDpiC z4{wXd=451O983(>=CiK)lJTkqba9l=|DW^!&tzSs`u|)0|7on#)6dPh`L*=@p3i>2 zK$rD)rGn-igO7h*|Nqx|QNe7MdEo1zbZ_f=)P8#6Icv@wA8&7O(bN0C?|r|uR`=hJ z{{K5370Mj{|L6SwB{OHv+!9{s^ZeXg@A#UJN55_Q|7-n!FVGe8*9~^yp0*2o|Ng!F&3!J04gY_Ig@^w=DF;a(2jteSUAwfmxA#q5%W}aW#h)>CVejwmo({TC3UsKfoLx=C#=JGb z`c7-VU5m~SWtsQ%caMQ7sHT`6UpMpZW}7X#Z;h87d*`|_V$IIG90BFR$3-UxNq0W} z_so3%&g4p$O@;HGUe{8(YjIuv|BvH0f5+C^oSm2c$6B+#_RVv5`(J@f-|oYPcPm0cSL<9&6we*y!~9P5BY2vTm>0UnkH1qrx3GThuV;&1S2%+_2Rb-{dLv^{(8s z_TBEAE4JMGrrc&*_{gQqe%Vz->1pyc)P%uHk7wf~#t|0w)@B)&hxGC{Y~!dPwAF}vBFk;(G~=agB!>B&82 zILEqN?`=Crq5LR@m8FX~UoH{Xe?D9FxvpBCPJW#INh`(YnWBdW&xDc>CS59dx~V z_4jvIW7XF=8ZXS(Ewp`X^Em9^Jhvm#w|fk&Rne1<3QmTGY49>**Nye{e_w;< zI2X*GYf~9?gp0x9^dA=30t*J5ooCE;H@sgxD#gI?1l|j|uocu&S#X<|=LA0kL&n_s z(BV*qT{j@t5m|J=r(;3$awzu;p-zY5=}OU3YJqBWboA}-zkmG_azopr05OGURR910 literal 63222 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 diff --git a/content/migrating from Quartz 3.md b/content/migrating from Quartz 3.md index 98a5b9a..d3feb3f 100644 --- a/content/migrating from Quartz 3.md +++ b/content/migrating from Quartz 3.md @@ -6,6 +6,7 @@ As you already have Quartz locally, you don't need to fork or clone it again. Si ```bash git checkout v4-alpha +git pull upstream v4-alpha npm i npx quartz create ``` diff --git a/quartz/build.ts b/quartz/build.ts index ae5fd40..05edf86 100644 --- a/quartz/build.ts +++ b/quartz/build.ts @@ -23,7 +23,7 @@ import { parseMarkdown } from "./processors/parse" import { filterContent } from "./processors/filter" import { emitContent } from "./processors/emit" import cfg from "../quartz.config" -import { FilePath, joinSegments, slugifyFilePath } from "./path" +import { FilePath, ServerSlug, joinSegments, slugifyFilePath } from "./path" import chokidar from "chokidar" import { ProcessedContent } from "./plugins/vfile" import { Argv, BuildCtx } from "./ctx" @@ -91,6 +91,7 @@ async function startServing( contentMap.set(vfile.data.filePath!, content) } + const initialSlugs = ctx.allSlugs let timeoutId: ReturnType | null = null let toRebuild: Set = new Set() let toRemove: Set = new Set() @@ -102,20 +103,19 @@ async function startServing( } // dont bother rebuilding for non-content files, just track and refresh + fp = toPosixPath(fp) + const filePath = joinSegments(argv.directory, fp) as FilePath if (path.extname(fp) !== ".md") { - fp = toPosixPath(fp) - const filePath = joinSegments(argv.directory, fp) as FilePath if (action === "add" || action === "change") { trackedAssets.add(filePath) } else if (action === "delete") { - trackedAssets.add(filePath) + trackedAssets.delete(filePath) } clientRefresh() return } - fp = toPosixPath(fp) - const filePath = joinSegments(argv.directory, fp) as FilePath + if (action === "add" || action === "change") { toRebuild.add(filePath) } else if (action === "delete") { @@ -133,10 +133,12 @@ async function startServing( try { const filesToRebuild = [...toRebuild].filter((fp) => !toRemove.has(fp)) - ctx.allSlugs = [...new Set([...contentMap.keys(), ...toRebuild, ...trackedAssets])] - .filter((fp) => !toRemove.has(fp)) - .map((fp) => slugifyFilePath(path.posix.relative(argv.directory, fp) as FilePath)) + const trackedSlugs = + [...new Set([...contentMap.keys(), ...toRebuild, ...trackedAssets])] + .filter((fp) => !toRemove.has(fp)) + .map((fp) => slugifyFilePath(path.posix.relative(argv.directory, fp) as FilePath)) + ctx.allSlugs = [...new Set([...initialSlugs, ...trackedSlugs])] const parsedContent = await parseMarkdown(ctx, filesToRebuild) for (const content of parsedContent) { const [_tree, vfile] = content diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts index 0904ed1..e7438aa 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts @@ -413,12 +413,16 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin js.push({ script: ` import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs'; + const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark' + mermaid.initialize({ + startOnLoad: false, + securityLevel: 'loose', + theme: darkMode ? 'dark' : 'default' + }); document.addEventListener('nav', async () => { - const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark' - mermaid.initialize({ - securityLevel: 'loose', - theme: darkMode ? 'dark' : 'default' - }); + await mermaid.run({ + querySelector: '.mermaid' + }) }); `, loadTime: "afterDOMReady", diff --git a/quartz/styles/base.scss b/quartz/styles/base.scss index e219cc5..185582e 100644 --- a/quartz/styles/base.scss +++ b/quartz/styles/base.scss @@ -7,7 +7,7 @@ html { scroll-behavior: smooth; -webkit-text-size-adjust: none; text-size-adjust: none; - overflow-x: none; + overflow-x: hidden; width: 100vw; } @@ -311,10 +311,10 @@ pre { border-radius: 5px; overflow-x: auto; border: 1px solid var(--lightgray); + position: relative; &:has(> code.mermaid) { border: none; - position: relative; } & > code {