From f2a3f8ffc098e258fe1cc0d9326db601757b78af Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Thu, 30 Apr 2026 15:26:32 -0400 Subject: [PATCH 1/4] chore(docs): use dev build with gallery component --- .../index.js | 2 +- .../stackblitz/v9/angular/package-lock.json | 14 ++++++------- .../code/stackblitz/v9/angular/package.json | 4 ++-- .../code/stackblitz/v9/html/package-lock.json | 6 +++--- static/code/stackblitz/v9/html/package.json | 2 +- .../stackblitz/v9/react/package-lock.json | 20 +++++++++---------- static/code/stackblitz/v9/react/package.json | 4 ++-- .../code/stackblitz/v9/vue/package-lock.json | 20 +++++++++---------- static/code/stackblitz/v9/vue/package.json | 4 ++-- 9 files changed, 38 insertions(+), 38 deletions(-) diff --git a/plugins/docusaurus-plugin-ionic-component-api/index.js b/plugins/docusaurus-plugin-ionic-component-api/index.js index 8d9acb8c144..f1d8d197469 100644 --- a/plugins/docusaurus-plugin-ionic-component-api/index.js +++ b/plugins/docusaurus-plugin-ionic-component-api/index.js @@ -54,7 +54,7 @@ module.exports = function (context, options) { await generateMarkdownForVersion(version, npmTag, context.i18n.currentLocale, false); } - let npmTag = 'latest'; + let npmTag = '8.8.6-dev.11777569278.1613db2e'; if (currentVersion.banner === 'unreleased') { npmTag = 'next'; } else if (currentVersion.path !== undefined) { diff --git a/static/code/stackblitz/v9/angular/package-lock.json b/static/code/stackblitz/v9/angular/package-lock.json index 335c0192276..29617c53249 100644 --- a/static/code/stackblitz/v9/angular/package-lock.json +++ b/static/code/stackblitz/v9/angular/package-lock.json @@ -14,8 +14,8 @@ "@angular/platform-browser": "^20.0.0", "@angular/platform-browser-dynamic": "^20.0.0", "@angular/router": "^20.0.0", - "@ionic/angular": "8.7.11", - "@ionic/core": "8.7.11", + "@ionic/angular": "8.8.6-dev.11777569278.1613db2e", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "8.0.13", "rxjs": "^7.8.1", "tslib": "^2.5.0", @@ -3217,12 +3217,12 @@ } }, "node_modules/@ionic/angular": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-W2/mmrL/RTwlDrFyOmRukTz6x0DLl905XwVjIIMeGgu/IV3dbHbzHmFj6VwdhdxW13T9kLOrzLqPRri1KQtdCw==", "license": "MIT", "dependencies": { - "@ionic/core": "8.7.11", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "^8.0.13", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -3236,8 +3236,8 @@ } }, "node_modules/@ionic/core": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-9UX9IeEztWWXymi+xCUMEBnnY+TbaR8crZLOwFnxPUEq4FFWSUCSv5XeHHQBpgZjBO2MJuDGcNv0GCQumIjVcQ==", "license": "MIT", "dependencies": { diff --git a/static/code/stackblitz/v9/angular/package.json b/static/code/stackblitz/v9/angular/package.json index ff788c8514e..d2e24e02fe9 100644 --- a/static/code/stackblitz/v9/angular/package.json +++ b/static/code/stackblitz/v9/angular/package.json @@ -15,8 +15,8 @@ "@angular/platform-browser": "^20.0.0", "@angular/platform-browser-dynamic": "^20.0.0", "@angular/router": "^20.0.0", - "@ionic/angular": "8.7.11", - "@ionic/core": "8.7.11", + "@ionic/angular": "8.8.6-dev.11777569278.1613db2e", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "8.0.13", "rxjs": "^7.8.1", "tslib": "^2.5.0", diff --git a/static/code/stackblitz/v9/html/package-lock.json b/static/code/stackblitz/v9/html/package-lock.json index d054b91cf01..399b7db96a3 100644 --- a/static/code/stackblitz/v9/html/package-lock.json +++ b/static/code/stackblitz/v9/html/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "html-starter", "dependencies": { - "@ionic/core": "8.7.11", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "8.0.13" }, "devDependencies": { @@ -458,8 +458,8 @@ } }, "node_modules/@ionic/core": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-9UX9IeEztWWXymi+xCUMEBnnY+TbaR8crZLOwFnxPUEq4FFWSUCSv5XeHHQBpgZjBO2MJuDGcNv0GCQumIjVcQ==", "license": "MIT", "dependencies": { diff --git a/static/code/stackblitz/v9/html/package.json b/static/code/stackblitz/v9/html/package.json index 22a2047e413..f3fea5c0d9a 100644 --- a/static/code/stackblitz/v9/html/package.json +++ b/static/code/stackblitz/v9/html/package.json @@ -9,7 +9,7 @@ "start": "vite preview" }, "dependencies": { - "@ionic/core": "8.7.11", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "8.0.13" }, "devDependencies": { diff --git a/static/code/stackblitz/v9/react/package-lock.json b/static/code/stackblitz/v9/react/package-lock.json index 5bdf823b03c..f9a7aae4a7a 100644 --- a/static/code/stackblitz/v9/react/package-lock.json +++ b/static/code/stackblitz/v9/react/package-lock.json @@ -8,8 +8,8 @@ "name": "vite-react-typescript", "version": "0.1.0", "dependencies": { - "@ionic/react": "8.7.11", - "@ionic/react-router": "8.7.11", + "@ionic/react": "8.8.6-dev.11777569278.1613db2e", + "@ionic/react-router": "8.8.6-dev.11777569278.1613db2e", "@types/node": "^24.0.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", @@ -716,8 +716,8 @@ } }, "node_modules/@ionic/core": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-9UX9IeEztWWXymi+xCUMEBnnY+TbaR8crZLOwFnxPUEq4FFWSUCSv5XeHHQBpgZjBO2MJuDGcNv0GCQumIjVcQ==", "license": "MIT", "dependencies": { @@ -727,12 +727,12 @@ } }, "node_modules/@ionic/react": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-h4j2SVRMgoxZBdr1bluKGrb0xNYEqEDcjHDuHsok669tKH3RnTMfD276zytfhFh3R8gIKWIqxb76NIsW/hfZcQ==", "license": "MIT", "dependencies": { - "@ionic/core": "8.7.11", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "ionicons": "^8.0.13", "tslib": "*" }, @@ -742,12 +742,12 @@ } }, "node_modules/@ionic/react-router": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-ZpJxx9WjprNngRaVEUvy1k5S22P0/BNfXNKpqqFci/JDJL5uPArLaevwXAuOzdIf+EknpG+34IIW6PBme5cPAQ==", "license": "MIT", "dependencies": { - "@ionic/react": "8.7.11", + "@ionic/react": "8.8.6-dev.11777569278.1613db2e", "tslib": "*" }, "peerDependencies": { diff --git a/static/code/stackblitz/v9/react/package.json b/static/code/stackblitz/v9/react/package.json index 8b0deae5c16..008be6b69af 100644 --- a/static/code/stackblitz/v9/react/package.json +++ b/static/code/stackblitz/v9/react/package.json @@ -3,8 +3,8 @@ "version": "0.1.0", "private": true, "dependencies": { - "@ionic/react": "8.7.11", - "@ionic/react-router": "8.7.11", + "@ionic/react": "8.8.6-dev.11777569278.1613db2e", + "@ionic/react-router": "8.8.6-dev.11777569278.1613db2e", "@types/node": "^24.0.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", diff --git a/static/code/stackblitz/v9/vue/package-lock.json b/static/code/stackblitz/v9/vue/package-lock.json index ebf2a96fd89..1dda3eeda19 100644 --- a/static/code/stackblitz/v9/vue/package-lock.json +++ b/static/code/stackblitz/v9/vue/package-lock.json @@ -8,8 +8,8 @@ "name": "vite-vue-starter", "version": "0.0.0", "dependencies": { - "@ionic/vue": "8.7.11", - "@ionic/vue-router": "8.7.11", + "@ionic/vue": "8.8.6-dev.11777569278.1613db2e", + "@ionic/vue-router": "8.8.6-dev.11777569278.1613db2e", "vue": "^3.2.25", "vue-router": "4.6.3" }, @@ -509,8 +509,8 @@ } }, "node_modules/@ionic/core": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-9UX9IeEztWWXymi+xCUMEBnnY+TbaR8crZLOwFnxPUEq4FFWSUCSv5XeHHQBpgZjBO2MJuDGcNv0GCQumIjVcQ==", "license": "MIT", "dependencies": { @@ -520,23 +520,23 @@ } }, "node_modules/@ionic/vue": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-HDEcjhxWfimVQxvXfghrqlAWpXnJvcUDTIVE2Mvq8ul+s7gL/OZCpXTAODJOfFCBAGJ0o9QXyC7OPjyN4UbO8Q==", "license": "MIT", "dependencies": { - "@ionic/core": "8.7.11", + "@ionic/core": "8.8.6-dev.11777569278.1613db2e", "@stencil/vue-output-target": "0.10.7", "ionicons": "^8.0.13" } }, "node_modules/@ionic/vue-router": { - "version": "8.7.11", - "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.7.11.tgz", + "version": "8.8.6-dev.11777569278.1613db2e", + "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.8.6-dev.11777569278.1613db2e.tgz", "integrity": "sha512-6k/bWLORJucLIPYqcrXnSs3KEI69qaWo6V4bGAEOSkt9dISdTy65gafi4gtFFyV+n81LIU00WnajJYLadDG3Cg==", "license": "MIT", "dependencies": { - "@ionic/vue": "8.7.11" + "@ionic/vue": "8.8.6-dev.11777569278.1613db2e" } }, "node_modules/@jridgewell/sourcemap-codec": { diff --git a/static/code/stackblitz/v9/vue/package.json b/static/code/stackblitz/v9/vue/package.json index db6efac6dda..8fe47ceb973 100644 --- a/static/code/stackblitz/v9/vue/package.json +++ b/static/code/stackblitz/v9/vue/package.json @@ -8,8 +8,8 @@ "preview": "vite preview" }, "dependencies": { - "@ionic/vue": "8.7.11", - "@ionic/vue-router": "8.7.11", + "@ionic/vue": "8.8.6-dev.11777569278.1613db2e", + "@ionic/vue-router": "8.8.6-dev.11777569278.1613db2e", "vue": "^3.2.25", "vue-router": "4.6.3" }, From c41b22e3699544316afd9b108906dca828dedcca Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Thu, 30 Apr 2026 15:29:30 -0400 Subject: [PATCH 2/4] docs(gallery): add gallery component page --- docs/api/gallery.md | 66 +++++++++++++++++++++++++++++++++++++++++++++ docs/components.md | 6 ++--- sidebars.js | 4 +-- 3 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 docs/api/gallery.md diff --git a/docs/api/gallery.md b/docs/api/gallery.md new file mode 100644 index 00000000000..cd038896ab5 --- /dev/null +++ b/docs/api/gallery.md @@ -0,0 +1,66 @@ +--- +title: "ion-gallery" +--- + +import Props from '@ionic-internal/component-api/v9/gallery/props.md'; +import Events from '@ionic-internal/component-api/v9/gallery/events.md'; +import Methods from '@ionic-internal/component-api/v9/gallery/methods.md'; +import Parts from '@ionic-internal/component-api/v9/gallery/parts.md'; +import CustomProps from '@ionic-internal/component-api/v9/gallery/custom-props.mdx'; +import Slots from '@ionic-internal/component-api/v9/gallery/slots.md'; + +
+Floating action buttons are circular buttons that perform a primary action on a screen.
-The grid is a powerful mobile-first system for building custom layouts.
+A collection of layout components for building responsive grids and image layouts.
Inputs provides a way for users to enter data in your app.
+Inputs provide a way for users to enter data in your app.
uinlwjJPS*Z84YWXhQhEad}{8AQ&l({yctkOynXvD0DW4C^y@X4tR)(HL3u{ zv=P6yP?$YuVA+a@c)4RRE0TsE(U2_Sy}5}c2ALE`U3OS+?0jR*;Pk9&vZGmVrHzcL zxgq3v0oyN+-!@K9=f}|0NazF#F3j?*B3zCw7xtQ+Ut?T~p1c+^OBpv$*~Uigdq__M zKVj_=QVAX1WyrArJZ8tX2^5r0B#NA$0H0iBI-E@iFAg^^pJPf6FCRy>c!mBC+u} zDG3EM$q1$OeB1ATgTyk-DFSe4Q7$*G*3UKmqTFh!c$l|fy#q-bix)G5 zF|xX4&ShgLMqB*P_*nPv*ml-));@c1dY#rAQuo(%UmfMC*ZG$$U6IKSLm`mDxq{0e zj)JwJAa-d&HoSdrLdoMLJjb@`4i=9=(+bm8#_+o4E#qA|$q5L`TIb>Bu$DjZxtHY2 z_l{&=mDr*F?NG woYZ8_8XOjM~Gx@4K 7IlfYr{*<8t+@*r&O4*TGo3wGn z6s37P!yrHQ<@@s0m#@pM-5?VUa}Lv%iGv3I)I6{7k{3G8AHB6BKe{jSLUShjsIk`x zgt3M9A?l9uFj(|=_7CONL-n#%nHKqs;DR2avG$;ag;D^C a2H(qDhGLw0-KYv>e9KJuR|VM>=imt|DwU#ay% za}+zXnRO%@=2?eJmkixqO)(^qetf<4=KY%Or>GpVDdXNn3vq|bV~)ukg2v@r@FM;o znd`fKUGi&2s?idRv`-tPbsH|dc6GjbueF)g9s5_O^zGlR;lY7+;RDi&`t#9vO8w8< zbLBh-8-48|euJ5r{Nd$R) yKxFqKx|7@+K(PTk;!ydJ?=5b#>`QN<1^cm-7_#oDAKK4V~<6cY%(;D z9f>-C@L=$vq{Fg_P2eyS*`ZtfKN@^kFEY!9hv&~#B)@b+=&bV0@D01W1(s@A<}6jQ z )`}Wx<3)z& Zl&6qWe)M^a{TguVFzU-?NHPLass0hvt_j-p4k3T)0$;TI4%fRKHLer2Si<4(^ z|LD5B`__B%hu?imK6r>mEeA5*yCL(%+GC0}+gifF8z9k2ALaVBL(<9yH{Kwu#|oj| z(ATfu*q5Wj135dN%WAn~k`%m6oC|Bj (M&NixT)0z?jm zF&*oN56)C+AM0zovRIWwqF6P;FuB22DNCRftQ^hR3%PyE$TB<1D`eg)8i(XA7}ZFc zBLWbO@_558Se8i+?s6(S4S{{> wQgriN;s~$2uRV_rD&^xOt{wlNsg^27eLhjgzYcxe+?g*QOdGC_LXn4X06INrA*9 zF?YxX7`Wq$kO@i^+oNig0PGJA>@K6b9*)Unplofcak9H=SQo$i_y1>a=7R04oI($p zbvN^}vUJ5{>{-Ff0Hlqh839LQ*GhSceTeQ+k~JqQYrjXh1WV`N&Ff`Mv!xv~ jT<T!4Xc9~pLl0d{@K=vvgSd2EK zM^uT8Wu$MN1&Pmym@5Pk5@VvljY#xZt3cW`*1oTB Svz4@53Q8+-H8xWoj>P(7H&2hN28-V=KDlgqdOcrlM=C7Is zA0D5{DYn^gWNQlO&@-9oiKNfGy4AF@M%?;nGXpp}_jPS8T#Ziv`>d3l*#V=sh_Tzn zUi6(C;Yg+(wIHW??|$wu#>4AV^(42hklW$NrG_7PKlFKY v||po~{&4n9}2?Y-oy}+_x-vdeKDLEbGWhwrmd}W(_4bMk5iNTZg#eox|AV znUA)|U`)U$M_;_Jyfl$-e&tC1@OzJBt4NWvbbAof&iRQNTc^5@&UD<*bYISpg9Gv= z&y&gWy3}#po($#BedUfkIJ=N{)_U%dn*)cSPR{dSJpcI2@qDSsS}mU+59BZ2nM%~q z%S9^44G>w@7inbe?Ch8!26nw@RWDY}Njy%ByJWzmHMW_BVNhDboIx=r3h~b3nH2x% zm;Svs>22ZRT={g~W@?4JctTTGqLnQlW7xMY*$#Uaol>{!NEeUJ3&`E+-b4oXgTKai zc>Fw1d&rQY)2CkYu!D3Sbm)Xb`-+db^>$nt=Z{^IC@?pR%P(D0zV5k8PGrhTHTA~P zA4}|grYFGZ_KXekHW$agvuBf)c`28T1xq@T?CH0o3oXa6p%@kl5Lb8>&H#F#7A&$! zWgxk`RW8A5ubF#}*ZDKK?s6ch_gqao9-|h7;){Sv^=}(w*LscY{@xzD`ZR8&kb47- z2MVh*+^PTs`H4BuosnX3GkZqHQP}~^V#-3DQPX0D<-M)FDTDr fjC63J5W&l>Zksab_f)-hR>9gveIcfdu@nA}pl1yPfMKiws z%Ave6+>r;1neR}ez)Xc(`q}Hx26fCe!VWEX9cebO332;9W~XzvWy9s|+w$_)7Ru1~ zUIUvKT3<3ZK@B*4yt@hy4wqXtb|{?(d!kAS_4IYMA`$_`z=SV-&mcFDU{-me2R=Z~ z#@d=*AnA3z-g=fvt $9qqupb+AYDXg*u;x{D= B*C0o{y0t6DS`$P_zKk{o#kt }d 4F Px_WrqP?~zSHlDS<7OT>sLx6l9(zni;4gRhw?9;)HoP(k?dKW-K0m0-6 zj0au&9Ua;m<0$_QV*0vgQAKeAnc{WV#uit#aeC%*z*wud(pnaj$0PSlqH*g-X>0l+ z^1+Z;{PHjT`)}rSg4UZBkq!ut9kSd_KfSKHW$dtC&Je!Yr_EGro#M1^NXBv$oY^ej z?y^w3q}KbMw*>b9a`II8q{6)dn_u>@rHgNKV@fYhot1FrH4nYGc51!$*v8Ids{}i5 zzJK56KhY(R9BF_VM$d8c*mO|2d(y_r7B0 SuksL!o zgd`A$;_cdE{ehDmU>qtt;K2^6SZoRwKa{r7K3cLy6S7|=p0H>~WULk~+FmXjGa5;0 zxL(WsTepm=5`4?5gqMKIg0K{fKw@KiwQ$BY94=&(gS`v}05j0V;qYkx-U5czd6}uu zd#um i)aBC7hevdXrmPpS4l48g+)gp}1>tgB91Rj8FxO#Dt{JFbLe!q7r37 zTWPrkFl07h0~0x}E@Tcg0m`H{fz2#c+_b8@oRQEWS1H3D$qX;af=rUbx`pMjL>Iiq zg2JB&GoZP_OB!Ilr!ZzvSh7^5@yg*56T@J*s5+3>uJ6gUon1LmSe-q{2UhAbMh7#L zzKG>wAd# u45J}Zn8889rNTQJ>IzM! zQ(Y^B<%Y5ps~lkhX|Q&ocrKKs-B$Seo3G!J?|*zMl_CS+Y1r`W`xcGHez;Ww`pI&m zp{)^1z$%TMuahuSoM*?;Kgt_jyIoz6y`t7I%R(N{)R@%J#CwXSu-bx+ZK69PVr6ET z;x!q+g)y=CoWuEHrmmkwZUHlH2iPP3P!+btGees%ZA!;18Z)4?APhZ^J5YF{P~Z5R z9fIISE-pb5X5o1ZJLPz-X9Z?s!4G^ktwMgn(2H-kyyDSn`y{qXr874CI<3dudDESu zGb<^y-nNM26Rr2!QIU4nB6& h~$ZSVrSxYk_^a7wIT%jQX*sW-}cS4@tY_h(&1fUrfH9 =smiH zYJ!t|;WQu=uG(5=IYT~To&!h{K# %@*es9A=ffVDo?ZxE+!!_~0Ja}>54r0l^Aw16?u0U=3t z6{1uNQ~=4dcWvqYXCt5e<<`6{o(ac9A`c@w0rM7=WCQjsuv}#+S~=fw(K8fN5Ax1l zP@Cc7rDxfAs2!99OkEb->1eodQ}^oY`pf5=jr`cCl%IY5zI^}DQ_6s;UUTeT;ZQGm zv6z!#ZsndDn`uBuFDr%~5VwXGh%&1Y6eZ>^1R7%n%d1p@t78A!-9x#5Z7R<|u%brV zq0HpxzxIOMnx4t#;%(U(ss~&@lN-A=ALG$kB- 6fY@2yNZgRm$Y`lTBK$*U70BNQf3aTW{b zo#q*j!Q12}Pa0c#2&twa(Kz}9D%Fbf<85MDqE@sD+sLrYAV${pkc2Fj-?6PMEQK%@ z&GI5TZ~DZ>Q`$KhjRDn~qCw1^_9LINXc^P!Uj_@E0rkq>H; X$OW>xO*>s|oo z&o%^4+enm$_#K}25-6SSfny}1>Ge@v!t)HzTF(i>Z7>>3@54TTk)n!yu4nZ`e`i^z zcPYzAfguFeP$^aRw>TP^9*P!{3|n*B8ia^q**nN~kqYd7zx==aTW^~DFptS(X;zf> z=F16L{tYh#%6c#&L}XB^#Xe!N1 MUX#Tlol!?D8Xj8(Xx}Z|+#=0=_|F7G z44vW+?tM!?W+qvQ_r0A?@pUn9Q*>loN~IeZ{d#QiF?rT@Lf|b!*>z7ohVB;aP_HW5 zD3_J5!;fy>*z09Crr_6YKhu4__3lwm3I*S|M;^SKC `d1sI*wBFh$nwN|hxtIdQNMx7*#>GvlwZ5DMu+opuz1 zAjK%*sG;T9L@T?Bx%3Ib$>S;@Nhk|zB4Qyn6Bu|dOH5PY5}l+Wc^MbiByvswFOCOR zf-_f$bcy $9qx;^jt~-P1Ry5hY`ghqJ&EvBjYM(9+E|jAyEl??DGL5L zGy|&fy&F5PDD?NOD{0f?Iaw?lZo;}zw%_#J0(yL-5xwGxKEs#PK>E3B`|>C59>^CD z_hqV+_~DZ?`QCCS8 Ak=vRj5!$ b_sd2Y_CcEQ( z`L*ABBzw1CGOyR;@o4-pC=H!J=QcKD(R)B|ktJ&w8LKolw8}e8S=RD+G9iC`#nPUJ zp%^st*xeg5*1ke3Q89xAihAI4%QW5OAw?olfi^w6b0N>e*#IpR!(4LS183M;;F{rI zw(xh;Dr>wCL?S%rNVY3S >-?0|$Kc zv$=mTX&Di@9b#-LM$O wWU8M7sx#B~o$B>w_*1k5QE(6hu9=hFV2_F!Xa*f_EtEsF(Tp*M znkzTbOFQDA?2RVW4O%oq&dZoYy7+T1UTUt9DOJ|+LwYrXmLP+kev@fTidOM7-bcF4 zMrJKqqyh|N$+A+Wtgv&h<~H+KJWD%gDqEGf#m*^6z4vb{U5Hx(O@@gx)O`tBj%NAU zy-Hp)IaQ|J+kevI9@u-JtlRI{8*_0<7Po X6OHX2Xpef;qIZz=S=GKk&{0mKe#x40W71r6yPHE#Jrxuax*kQt<4C|$TXoa=@g z-(6U*>&k8U%7sAV2TGhli(^imiHpO5F%p{7gYfc;FKEndst3swBzb0nwXn1Fp2QZM z*1j{a94s5I);=~`vKr>fOTGxFHKFYg)L~kA{X+`?(YOU{38pe6=is@fI_`t1XLsBF z#1AqdWo2y->n$6LPdM(EzFa_aylha>v>u9WwUO;{ILPQy#0 YrFaw&Y8dG?KU!7tNcYFLA3T)r9zT@_dX4$czQTvs^fObryL%|F z9UjW0*1ZEyqmI^m1w77rqk&%QNIklJBqfP;p#lH}g#={@1%o{aWr!_3Oo3%~k1u9& zQ5zfITI1O}#agQ61DRc%D6~6}^RuCBmm_)b?qj)g_pTfkOO2aX#y*F*E~hUrBYicS zlXVO8FhW@uk{3(xT^k_=>Xo5XplA;E59HO)y{KOHnr0wb0g0flm|2eI7x-B+>2qTw zFr~Roc-?w8Bq9mq97hfX_^Fw=CasggZQ;2MrDr3P=*5YuNC4A9; j7_ypO;6D3wa0dCy5!Fxe&y!`5s3`T_+%Q1L) znkRpHG9%{%Pr;b58Q4pGM(VJtVF>K$lV@f`BvcxX?ErWmZptd`aUD-8&;Y1t>+0Q> zH=Pj!M~enNXG}!xTtb$6iYr7QLXCOvY-=0s+@rA78lkuoRazOcnt*6@%=t$>_9@sB zgY`DRNOxgq>ZcCWaGmJB8M1AyRVomO&j=L~Lx&}asL0Lkt!9a`u+%3po1Ud>|L~Xo z_M0Z)+|%P|y~gtsm|OOg%>yOLgl?oK&z{KH=_%t(NCK*oVf~UFPVaf0Tm(e_FZp6g z=o*UH{R=Ni%F4FrkZTET+#|z$T@2VV?;7{0*v+Nz7hLjWuReurl(;9u(xlR%cvm(d z_g4-r)NBIDlw)Wcb>MYN80ve BN5mSu$541#y%}a9&x6=THt*Rh1bB!H1+lYj !?3FxZ>yawad%RWPf72aLTAh8$GMx$lyF&YXk7O2gpM2g`DWLZ+Q6 zM#qXnisY!7KG#J~w1ihHwI_NtE XA;I5zN-Wgz(TS zJ+>{sfj#WNp;PIUY5r=rRk*x&Jj1pPa5;Lz3~v&8gf`1RCup+HK4*pdd1GZko!om* ztq~lYzafXF*kc}Enoh%9Uw(VGkasi~__jXEyZZMZ%$M@CD&zv|0&ko>oJZC_oZ?80 zL3pJJrKq*+2BU+VOh;-2tgV$QcMRg!#_)yCO<*y5^`*OVc5*7J@nnSrH8gM8F6I6q z=uH>0bMUhKm)}{)ufKaHvl$@pJ^8J7=kl9R*D_YaZfv-<$H^^!Aa~TFh2zY1FgC}N zDQ6iTCSY+G4q)9ny|}Qpm@M@%qzDRnKsw)s9y#i**%=H?KBz()di1d|bds$tlfmZb z6K-|NewOg82nh^EycP+38jFP!d#szbgv%O~Nbh%(_vrA&+WsaG8h`1f7v aS`yI4*1%aQ;T@>Zn|)B=P)7rLK@phZsB zI=2(gg`;LQVRI71F#Kys#7LhPMjOIlFz!+D)Rb1L#umWfPS7=;=$zf#i45l;9I*&i zdWl&0O}+n3{lK5TwJV<=4dhJs>ob(Jx#4dpXea-T`$C8e5S@;pHQLE~hO = zXA=O~>kY2#OZTchW4SQ49g7E9GYBL?RN{$TC_8d?BV-*r#lCs%t^`R26O1REa7r*X z^txYnP0!eC furWpIWxSoTC!jI3lBrg*<~izrrQU1d%J2E_m}QHD+hz;CYIeP* z^~7E2^*){(vt+c^oMtbDxEfN3UHyD+SYbv-@|xxxZmH?956eu+n7z8t4Ozt7<#~oR zZ)DJVll$O0-*)@-Zcy3QPDXwr=Jg_Oy(Jx^F&&XMqPB!2mPtwQR-VBuR9%1c!$n+F zK|THVhRU7eWWrU`LSy`o9(H3iri835DGmmI36dEVaD#-HY2n5W4sVnL{YEY4Jykw8 z(X_ra&!5RyIdc{aSNho E7i9SJ6JI?= z%dgtvXO~HMr1j)e&w$Lb#E=v>Ce3A2kKZ~lW%xVW`bj#YA@wrSnYV(oT25t=hVo36 z^oQ$49 @ROm(-+$c=E!?OYJ5!vVv zBY@avK%{(YZ1mri*TCZ(kmgkXwOXu*Pz~tWH?3FAWvy$;;fo^Em+IF<;rQuv+V-Hg z>spQn! ij>Z#|dbBG8!=KQLxmp zq7e+pdNyAZn#Z{d?!{uVtT(ourRe((^TE*<9ttasOa;)mm39To%GV`;(f!)z@0wwm z8s}i&T3z~jNn;2kCnV4Tl1I4NoIq*J`$efIXBfx@Sj}+GGvcS$zo$sgJ`OnveH7l; zF^y+4RnS0oD&xGTWrXU4ioEoP5%t?vk~q-sBP13=M(F$QYV7>BD*Wr<2nVSZ }fshRc^M0jAnnKSyNN@JSrR|Wj?DO@T-aSJ9^^{{wKF-*6-7;g& DnXv-T zn(;Cu!T?3`{_e~!uk3FNJuItaUNYj(+hD!3EAh&QV9FZ;835!0o2jr+&L*Kr$cAw) zgh=pN^$SI9dX|$QZhBvT{tvG2%QZzx&veaCnvHo^VzFX+o?_2 lfYKim>JNIXks&kSzi6n-Z+0vvftS57_WE_>N% zOfaIhO5PV+Bz!_f Jt=!eKO4#*a_(!Lss!IP@+1~dcN8%<@JX7V#%e^LJL|MJ^1J-jJT z-+5Qw|K3~j+Lym18-;dHPcGz!Iv+7uOHO!LtQ|p8oGLXEm4L(pNmht$0 pvq zAMEdG{CFtK I&!k8CPdk;_f;$rEoHf{exX~SE__*jzFSZJ>$ZmNtp zCTD0PUj;@ugOS0)VPr5Xjev^faY!80dEBP09O(7FasLIWR!c?WgkE%sL_!_gzFy~Z z8p8PE;Ydb0=QG{w$5YDClXOd`4R z+GT}olG(0lYvQjbqe|_P!k%XUlpePa?RE%mOodkXMklcH>!c`|)vXCxF&beGlpEDa zGDXZQv>veYe+6qh$h{Oz5m`of4t3-fn + KW$cyPvyVAjhv-a#uTZPiAhOQ;ynRaq$$dove~EJ5z! zc?)YKf|ACS8XOmA7p$0I9X1t+8?-vM>7 RK+Bqb3> %aoQ71#wpeU<{ pZ?jq^7!$FHRUwk^-!LkUnm5<;d#dMp@EOlsG5;pRn`vHL|tO2Y@}W~;B@ri zzJ2?SoSdDJJxv_J%>+N<4jDqM*n@-7& _gU1g~9ocER$1dEUpR3V_&TI$z(bsMs($G3tttrQcYVGgorktuv zeMc4c*Y8X<)KbX%=PN4uGbEqsJU-R$M-`G+(cRBWG8@pNCb_2j=k{hUKRH2b&y75R zkaHHt{`oD)J8x%OJ?y{zW{#)k_$FD;#5_*hFj)a*0U$1PQtwxfi+X85^x8pM*}=`u z(72^zpUW_~(My_0@=?lV7})+D`jDHLC2dJhB|R(i7`ZYgoCZ4P8Tkt5c%J2XDo1z2V(=u*Rk>}uuZwrry#5BR-wxTe_jZJhJq_ne!Jmd zOJ$xrv%fuazpt!QxU963Ct~F;RH<7?$*nv|&mEk2rL71s-gwLW&ttP|=7VD_S?=k1 zE<|b#7P0$_dF96P$5|&p5X74*Lx5i45^|hOG3Ep?SbqA+zgxNYir0{@?5zruSo6 z7sD z&zBJ`l6EiM)i^+FasLA6$-x2++ViUt1N{nbK=cRu`R;*QEQtOx8+} z|Ex@)WuvD%Mxp!8S>5?K>A&~XT=}=JPvx68_T-wv@^7EcSn}5%2yeG)Tfzxb00$0- zT{56N-{kB(`1XcOwt-iNBDsM=s`pjl91e7CR0$ucP`ag_>bhD|u_7OKq+={$X@l7g zUDh@YmCcsk{gA9@7~{ZOYl7hpnb}N4b4WM(-eb-ThOGC3pYfVL_t(Ghiv0F>- N@l=BSAqsdTdEApj)CgwdQ4Sup*s_k zy=tRe1suEsdeJ%?g^Bza%;MMob~OI_{U5w5AAayuLrVu{kUByICN(6T5ne_`LuH=# zurMaGI)^8MP+^yuXT2A8wDC6duAxW~7soOV5E}>OuEtsS52kGHVTo&z#t0PTWIB=W zeCMIY=_|?^AP-R7U?@al-Tq!JUwmyx9zHv@5F?G2!i@-1ni$EQdpD^!5L> aH!CaA3xE*m8x_L-oMmqjU!6?bg$|d zc61C24e>lwqh$-C93B5m?~D8v94YG{W*PTT+B03xJ8HE2o!6)Gzy7g1@;BZ%lwbY* zcjVdlKvGZl2ouE-sx2*P?;rk$|G}HK&{=`er{wQB$tNc~_jpjm>VMrU%3gz)Z}F3E zRhzQ&NyAXQmek^)-T4mvK}vE3e)+F*={*Ju*NrU(tT0ghS(~`XO+dH@IvWc#G)0Ha zZcd}YR1$iE?UU|F{@-)H9OjOeK~5#gWSK$h5wn2>r?s@$xlw3&+fkoySB`S&J3pU$ zw>dE`D_2T%FP#&Q!KYlaos$~+WA%Ha-aTjxm{RSYHOHEqqLP-f8381I=)>=sZ4ECu zMBN$^zDA9>C* y_A=EXV qjgm!VkZHvo$CQZ`!BSaXuE z8231v#4~bXo*opT)0NoF)MyR>GM1I?AC_|kFVnJIi>-Sw$b!BRw({q{_=3E#Kauwy zo{(hW#<*m?>tl^iovEOFqSySvY#|Te#Zajh^kn+XPl0h)Ll|