From 955c768acf1636a8d25d0ba50c1471720d8b1d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krystian=20Sowin=CC=81ski?= <88927709+plumcoding@users.noreply.github.com> Date: Sat, 24 Feb 2024 15:33:59 +0100 Subject: [PATCH] =?UTF-8?q?Projekt:=20Firebase=20=E2=80=93=20podstawy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 + README.md | 2 + docs/10-firebase-podstawy/README.md | 94 ++++++++++++++++++ .../assets/01-portfolio.png | Bin 0 -> 23736 bytes .../assets/02-image-card.png | Bin 0 -> 27747 bytes .../assets/03-image-card-out-of-stock.png | Bin 0 -> 27097 bytes 6 files changed, 100 insertions(+) create mode 100644 .gitignore create mode 100644 docs/10-firebase-podstawy/README.md create mode 100644 docs/10-firebase-podstawy/assets/01-portfolio.png create mode 100644 docs/10-firebase-podstawy/assets/02-image-card.png create mode 100644 docs/10-firebase-podstawy/assets/03-image-card-out-of-stock.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a8f913 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.local +node_modules +package-lock.json +pnpm-lock.yaml diff --git a/README.md b/README.md index ac7fbdf..09a1bda 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,5 @@ - [x] [TypeScript](docs/07-typescript/README.md) - [ ] [Testy jednostkowe](./docs/08-testy-jednostkowe/README.md) - [ ] [Testy E2E](./docs/09-testy-e2e/README.md) +- Firebase + - [ ] [Podstawy](./docs/10-firebase-podstawy/README.md) diff --git a/docs/10-firebase-podstawy/README.md b/docs/10-firebase-podstawy/README.md new file mode 100644 index 0000000..47ce537 --- /dev/null +++ b/docs/10-firebase-podstawy/README.md @@ -0,0 +1,94 @@ +# Projekt: Firebase – podstawy + +## Nowy projekt Firebase + +Bez obaw, pracujemy nadal na aplikacji, którą wcześniej tworzyliśmy w ramach większości poprzednich zajęć 😃 + +Załóż nowe konto Firebase, stwórz nowy projekt. + +## Firestore + +Załóż nową bazę Firestore i skonfiguruj reguły wstępne dostępu. + +``` +rules_version = '2'; + +service cloud.firestore { + match /databases/{database}/documents { + match /{document=**} { + allow read, write: if true; + } + } +} +``` + +--- + +ℹ️ Powyższa konfiguracja umożliwia odczyt i zapis dowolnej osobie. + +--- + +## Integracja z aplikacją + +Do aplikacji dodaj konfigurację połączenia z Firebase. + +--- + +**⚠️ Pamiętaj** + +Klucze API i inne dane poufne zawsze zapisuj w plikach ignorowanych przez git. + +--- + +Dzięki Vite, konfigurację można wstrzyknąć z pomocą zmiennych środowiskowych. + +```shell +# .env.local +# Firebase sensitive +VITE_FIREBASE_API_KEY= +VITE_FIREBASE_APP_ID= +VITE_FIREBASE_DB_URL= +VITE_FIREBASE_MSG_SENDER_ID= +# Firebase non-sensitive +VITE_AUTH_DOMAIN= +VITE_PROJECT_ID= +VITE_STORAGE_BUCKET= +``` + +```ts +// src/firebase/app.ts +import {initializeApp} from "firebase/app"; + +const firebaseConfig = { + apiKey: import.meta.env.VITE_FIREBASE_API_KEY, + authDomain: import.meta.env.VITE_AUTH_DOMAIN, + databaseURL: import.meta.env.VITE_FIREBASE_DB_URL, + projectId: import.meta.env.VITE_PROJECT_ID, + storageBucket: import.meta.env.VITE_STORAGE_BUCKET, + messagingSenderId: import.meta.env.VITE_FIREBASE_MSG_SENDER_ID, + appId: import.meta.env.VITE_FIREBASE_APP_ID +}; + +export const app = initializeApp(firebaseConfig); +``` + +## Dynamiczne portfolio + +Skonfiguruj kolekcję dokumentów mającą na celu przechowanie informacji o zdjęciach wyświetlanych w portfolio. + +Załaduj obrazki przy użyciu API Firebase. + +![](./assets/01-portfolio.png) + +## Karta produktu + +Rozszerz kolekcję dokumentów o szczegóły zdjęcia, włączając w to informację o dostępnej ilości. + +![](./assets/02-image-card.png) + +Do karty produktu w aplikacji dodaj informację o aktualnym braku produktu (np. papierowej kopii fotografii). + +Informacja ta powinna zostać odzwierciedlona w aplikacji natychmiast po wykryciu braków +(np. po ręcznej modyfikacji w Firestore). + +![](./assets/03-image-card-out-of-stock.png) diff --git a/docs/10-firebase-podstawy/assets/01-portfolio.png b/docs/10-firebase-podstawy/assets/01-portfolio.png new file mode 100644 index 0000000000000000000000000000000000000000..8e0d0e3d2d13836bd27291b17cedcab25f273a30 GIT binary patch literal 23736 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 literal 0 HcmV?d00001 diff --git a/docs/10-firebase-podstawy/assets/02-image-card.png b/docs/10-firebase-podstawy/assets/02-image-card.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc51f4662559f51edecc490cff571c11282629b GIT binary patch literal 27747 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 PhrvijM-3kmD3SjQsh?#t literal 0 HcmV?d00001 diff --git a/docs/10-firebase-podstawy/assets/03-image-card-out-of-stock.png b/docs/10-firebase-podstawy/assets/03-image-card-out-of-stock.png new file mode 100644 index 0000000000000000000000000000000000000000..0253718c7d36160fefd031ec62fe69d49c35fc29 GIT binary patch literal 27097 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

8-d_iG%$1Gx~a zZv?i@X2T6@^DsD$uURA>BT%s+*Fsy7g+t+#pi5@1`zO#`y=Z2bX!iF%+o@*op)3U2 ztT}A!!B!qu>&bZnwjGA%Z@x9;Kdc8upJOM19mDW7gjGubt~n4SiCkcqjDf1C4RpSk zb@Ow!S%JP20am3sG_}spy%*(=?W^vlug?LY*z;yS0SM~y-=XoCI|VB zONz^&Y&+_$7NBjMHZ zW>KgGC)%c_zpUq1bYp=9wQR3uU{xZn(;y3fc81L-M4x{v9`RFw?qYL$u%o-mKo2hxOy?H`XFs$`Yu;Ikm_7t(9oU;jDO zH~Ze^)&5F+?IS3<;a{u01*X0Uu*Pl2e_XJQfFK?8@OeH4x|05Q?#jbKXQj}`IBjQu zkSGC2)HW7^piKT*#ET=I!Kts(GeGdj_;L|u~ znE9Ho88+j8rJz`7t76hC(H8zy@##DIe2r*v2i)n{t){b*Ti`)_>=)t|i`W))aIddV z#IVKxFuYx$$V7wVKB#f2F4eS{X{h*A<<7SVY}+{UY@m%*P7_7O()-eV{UNIPKr}@O^^JvFVyZ>4%?l zXlyJcn^xb2zgC_kaDrjz;Am{4@%#%K&XNDRKNFvoQiGq|y-@!{4}w57`YZn~jV|}L zF~*~qrwp7e*2lP9=j@&iu)-%!kNy$(k1KE`bN$hQ2Tcmwd9N|~Lv)&bRQ}UF$(Ldg z*HI5fBIt8qThC0){s|F(^Zw?&`t3=YxL^Q@qIbP-9>uh}^@qA--HVT*trz<79EgUAl$rIx9Vu4w}*hp(*wBz6Wk*t(7I!X{iyy;bx-4ie{`FxfDfHWup|!J0Fjo@{(jqp zL$iG_b#4{bRo3T0a`Rh;dEcV4{7!AxJ;x*aa}qo5X1Zr`YmXBU7oFVbf2Imkhj?{y zeE$?h>(I+Sr7;G&Xm5t@XSfWKgt0hlt+GrvzAH+*{-N%78jo;;J~qf}oB*gzl_fZLdZh%tWz5GHTt1Fd*yl|Es1?*#|Vq<^&sbJPFP};9EH} zeWX^Ljg_;i8Bl4mx+Q%l5#yc(+yexF)lW;|4PL1#r6!GSzz6@-Kyy$Ot70{|XuuFO za3wt`tOTOMw3T)vAT~iu{j#Dyn<0cfO*0E3X}kB>{;p24hacAO18rMM_!anj5HcT{ zPS?0q_5sihBbS~mbM@nnBSuFJKf)T&6LmBfzE?Fnpz`o&-Zks?i=4*;P4Vu@StwoVrV`m9G}J*A-BAS{%0 z(s2jUFM)1HetRPWhNS{XD<&JXtsP#0CP?e9k@E59??V7%I@5Gs2Ylb-0hB^ZzVgGw zEP7K~)wJ&c5S3%)BeF7wcy&4wptY>|$kRIJf?TzScRkMyq5Jf-6r|x|xbZabZ?tZZ zYM>A;n~x9(1$vxsS)^ONAYPAl?YRQPS- zsQ=tWfh~zm;Z;)g1T`EOXQRD~(nx#DUIR=QOI9%c0pi~7B2`cNar|t-*kGe6(y^>C z3Xy9j%;+RndPoCb&_KLiWtCAUF{~PDSAaWa6AoEfp!){zK+ZKrEYXqgBKl z3C&_>OSC!>E#S@e`E+4$IvHD;qQ6~B86`1F1EP|zC*X(%94*lk_*rpdIrY2+3b0Vf zL(o&a;U)S}MJe=n_L9L{4RX^5{F#Jasij=M)MvSR`&%DNzKHKNUqX^&n6^pJBJBm2;{@O7Jg&D4))r$toTn;a!+>MNwH zSWjJ94;l?Q|LoGf?r4l<3_zx=obE|O_Aa~KbpXrjUTxK{mlU3vF{H-4lO9f8jrOFC>qb`|r8=uY zOeoM~UT`SQ*A_R=uoR+P{}$Cn+{%DMQD9@g4m?FBNfnT zAN+c1I05-r`NaKK=Nd~X%{-Y19HWj=vYfw_g32qIz{jnLAhA{W*D%v;nd%XVX2#)h zgMl1|Z>nmDkwpDMHOBmYLF8mX)@_k0yl&{3nTy>k}npFK*%qi zzV_hxyTSo#9ML>B?>3qtfV(Zk)ES(}Bu&sDtC>Rb>bg}Dt5LpJuz>FW%Hk!22LxK{ zgkA2&ZjPeyOu~RHwQ4_C;t)%y&H-NJh6BuPJ}<((kA^C53EM)>VT2|R&62ZFx)93| zf(!Gc+2lzf2!;}g>pxYdc*8vAWqzkv>RQFIu`#G|;6Zj4Ryj0&r&_bUKROJk&6`I5 z2*P5+!g$CkQxaqq`2aUixr1v6KJRmC46hQ<+7g6swc$yPvRMVp=DA zD<1TP_i5{hU@hB4p3Ganpb#wuW?1+xS$S)y-en)to%Vh1i!x!fQ{3W1ZG-QOwb6NS z9>+&WOm#;z7u)6`28tE`$cquvF6#g{1WTm&W!*E92BeOyRAoG2v?v~)fYFKx7=8H* z$L`~>aodJAfk#m7{@oMThN^wh0xN!5VOd9?=@jao7jWiizI-S>%pZdoux z91r#+3IM&L84qCN$H-BR}yP#E^r&lC-SF?kIp1|u#4e!vbT1&!&oa42i ztlwZ5<2~vte!^0=npKhHtPKW8mhR8--RkZ#EWv=M{U?C3I-g6^78&U4-b7pUJyE2& z6O;0I;hawxt4zO2oe-|=6iPDF8jI(5%(khIJ1-P9sM5J31#I{pdVQ+=2Inu~>%_d0 zRngbaz19xKB+qB6o_H|EYtDXcki({dj?BxX@Uc&L;mNskj|X>W)b==gu9vVJoB8!S zt5fdw^Ph#WDNCp?lkRP`oVBVLUfh_GRIZu0W%@8W{&~T|OabcMEXCnTDF^0FWbg^2 zE*t8y+&Y7g^PRkidB$Y6KwR>Cb(;7JY^{x|J{(QukU#%TrOh>e#CrDYQi3CA+@XVX zZB)*}{bzL_9>Eh}ClEtze6zhLN<3L6rmU#kP*upB0rL<*WM?4PP2{%c*_=!HwVH)@ zMBxR6dUtvIJ|I7xb0_#iX}AGt%zUZjU7D&D&n|U0*Kb~x)p!4nFSE7n%qTAe;GoBT zU(Z5A?h{p#ZkC|zCtPS0`$~J5^26?c6&#v`sl~x!;y0?%2G3T#h1f_wbJ*XqeX{)8Q ziEsYIk^;!D4fy;T(5Ri=cR_}erJ@FUQ=Id;R#W$M$bdAx`8y1+P7j)WelE>Yjwmy_ zX@&L_2(cy+Q>)fxAm;eA@b8)TRp-iDVlsZhtmJ2pm~f!q^pTnKj2<5y02ak?PyHZE zNtrZMLq1GpFuwNcPmR%;8;Sx%yU~{bpZ?3GIL*mA2FicMl)%+T15EzULvi$$->BtP zbe2fw-a^KO{>O(+p5#M4ae!`}S%nwBZnHXqL7YjEpC?BThCF)Ndty4utyiQzB$@JT zQB>luZNG_^4!t=RVeR^P_+EaQcG<$KRYS_x2Wc=vIG~Jc9E_5}n3dqCZy%UH0h`93 zCQRA^A)2uI{+c#!N;50{1{0(};jt$=c{ZOm&WD0(^}{? zNdz288(j9%X0$I$7S+q zuF=0wy+V|~p0Od~bl=UTMxJX!);8(F67&h9qoKz*FpD$5dCLZP;!B=-&xH2BdWW5$ zkLPKNK!`>^LLTt8P<)3AZd#A$aRErEoKxE`!PXr20$$+enHpQ#$aYDRi*jJ@xc+10 z3BNE@si7NkL-rd_0;`8~&4e@c>b>6IDgBbz))si`B)&47$?6&&w=D#Q&)X16ZmJCO z`Ra-E-TgreEMCp=k*s)Tg6Pm1NSELM^zxVh6i*xQJ#rLsTm>%53XpZZr5ejLj+OaN zd%4UvfPy;{8FXJ6hEG8$%mE4rx-}5scQIcVRsk_(Uth4Zm!i$i%Xn20eu~-m_KrzwMY;t=Cvm_wFAz2R3Knjt0wW`%ybmI z1|-YV5!|cuwEz)l1K8f>0?xh<0BZs^;OC%19aMEKZ0}X!%XS-ffE^run14O@K{E(a zZh^#WeEU_|&(9^M;V)&|S*^C!Z|><>9|{fw@#VTKsG<}D>RJ^ItSSfsb;CvgXG@lbiH2bat1KJgvRi}Dk=Hg-l7VaSs_0{kn^TTNgp zCE~(+cs_or6AYYB^;*~Ecb-gao@YeDg0`1Eu7!&wNJy`XQ2x1J3Wuy|g{TBy45$@| zSrIfG{gP*sM%?U^Sv+oJ{5?lAHf8g)DanxmBstGzAx9(>)ax)6u&|QpU0T%>DhlHx z=Du-yN2GQ;I@N+S?c|9^Aw|*0ov(<3)>Z(JkOca8VDvmdX$JUdFWrVLK}gKgQKO@` zfR}x82{zry3#jBa3uEac5U^MQ_`V!{nmHH(f8|5KE7KZ5dL$vp;pWyK9>PQZz?}&L z!&TmS+!U-4Ct#C4fgAV%R>$AgK>edPb>yR?VqqYNd&Zmyq$)!?u$C9cf$c3XoUE4Q z_%d7WA|>ZA;Vx$L5!~6CCJbN_RM}T1CvM@A6z?a}_{;uK>g2K{fr4V~B-l`oZcIF) zk0k4ow}&lPJ-VXX==YQFa;Z}!-SEP|i6PZbBI^&fVF>eh3DtrPP{{1^*5KI@P+#cm zx)2+`g49b;4(7T5ZOkK=+<`ASdv^zK*Z`nlz7oFDF+RBs00mDbd5K6UXW>*0PnFmEpg%&1s_dwx zbrxEqI4;vJx=g%_rvh{~C$%&03_BSyt0{hHe75%m@Wz+EB;G(6lX1eS{&)8MSOq}U zwu_3qTPoQ}7tr=;OQVvb&?**)z)rH3+ zG=H_qtt{TXvh2cl1kN?fOf|@zr=`wCUWGWybvg!KZ0nbNbw8k7k-taatpRy-1z=7y z`UW=gKvAZF7jy_-vc?`0x|P6pw3TMOWeydUz|vzQjGwhY%!RUAK22XT3<0YZ_|> zrtPb^0M=&nnKd(r`7P!`wc_d_YrjhLjYwkdyh{5fqU|E6;l|2;r9#UiOlg{t>~fU2 z4ddK1^=Y9!l&w|1XToPR_?J;)~rr%P8s9)pC0ywVn|()`+w}v1bLziUssS@~TJe zqE0&%2KSH#p^$Jm^?}!JeH_f!BJ5+al_%p+&d8a`Axtp{d>@Gt6r+*GLhUaiMqEfQ zN6-9B4x?+)N}%l`0y*NTqDbF`5N9M9OV+#Xx-e{XrXcDUe(fxpaOpCT<;^MvcBj0S z1XMiw3CR3g^cE?mZ?8opK8!}HzLF)nlbM|YR&YTH%fLwZ{$d{uGLnjSAaWX%bM&|` zf7Ar03EElldJ8!ENw$^}%|@>VYS+b=Ig)fzkMlu&w@In~?q^ZYqt;LKOe>RkEwRKB zM2?9rFzB7#4LFP?dE9p`$To7$jgimco>lHRWG_MH=~OcyryO7;()PHegvS!i(KT%W zdBL&2yTX7((OyFANOeU&wO-m62xw7t=rC4mEzQ3NIz#gkg8mFU3Y(y9fk(*qsq2+D z9mgrzx}D@|%>kmM2h7P7vXf5Y2;@J$!jEjbzAna)_DT+=kZ^9a=Y(=M+G5p&rQ>KY zD0X6cI@r;(;eNkX3f{Tx18uQ^vpH-k*Yzh@L7H4L^aTi2!`{~#hSMGdQX)$3eigi& zfzbU0l(V8Eo3`>thWnYb*s~V=;rAMDskn@5;hw(cTp$1VNW=O0_`M5YiF?I$&Xl+~ zBcB2?DK}dyfCGQ01F#gXUUX;z%;@^?#kEIuwf@5^l4|_-LVpKyn>{xl87rS)Ws4-S zlaex1xw{xnsg#{p6}C&i{@%I>x_{ENr#pkmJ`+AAedIAerU@509`%E$AUik@kJ6UK zjnC;$3(TG*-6OTI@Kl(6zNC0eq3WL~R+6d`*$ z2g4{i{7m(i>|lIX2yt zr%`)F$8y+b-(WMc>x+&}fdxJqNLcuty*$NSJ3JTsY`}Y<<2%0=cpkPaakFAdc+*@n z*liYDKBK4+6OJE^)^B#zI-gbSGD5IQwjG(?6Eh3HTz4oU4FI2h59!=>qe;TQlx`MFN*pD2rRhYWT1lvB9(NAL9vYnid+RvWAiM zZnn2P;6uV6orHHHiTP>vd{%8}6M(mtj;ia>PL)znn$tdB$IZ!1 zIZQj+ue1MHV7Dq_Oijwrhm}4@elR>>HfVNoe(QD9$r(49+Y5N{^L6|Fg}XlsE^=J4 z-m_vx3pU7o-0St*F^FtP53SSm)!?Qd(GAhB^Ybrvwf#6MZoT@kfWIwrf%|r&ZO$Y5 zC9Ik8XVu@2%kh6ncP_;IGox~)`j%eg!05C-ywG$%E%5q55;Y0Mqqbm*En*PzgD%#% zA(Bi@*Tz_&7DT*b{~c9R9BgjaYO0s?FfVN)NAYh&LWz!UILPNNfvQBiKJX9RXm!%6 zVue(BNy_?hk~2V>nAh;Fic9&9M0tfxhIYV1jL|wPVNJd zniHfu1rm$7s=_3TzY0hwTcFHO44@mOn=;W=t)PM~Uo^X5uI=}9ApF31LBOlLE^HA} zbbs=^u@6cTJ1tLC0+>A%p?jIdFd`1Y3rb2$di_O}!hxYsL6n`7_nr#rc>xpWdB?xA z%-C7e9;ge~faoe?($JQm^N(i8!t%fF*Zl<59Z>q=K2ifM+Lb2_g73Zm0aCmN+mQ%f zRie+sNl^6~4fB8^lmIId`Z!3=+ZE{MA@=hJ2ijRA3&;z|gCVNsSe;AqpLZ_#Yy8+u zH&qjRDA?IG@+IG0v#{;1s5EpxgJgtG7mz!@6IBD1ysSo7p!(HgBr@n<7+SR}f!F2L z&}Jd9AKaHd6$b1hCx6`Ge0;+|xMe5CK4?*7qtrPWA({_KDL#{7z7ehTX3o27GoTF@ zC|?`*mP!=T0?>G6juIdOa7_d`;9vs(*Tik+*9#|kegy7r1Ohry+U{=AO=!D(WKG)b z*L$hYLDbni9w+Fegdt3OHhNhC#Q+CjKPwch%=5T5#1vvzk&QqGD!3P#3H{f@q8kxZ z;0}3iI0s_)G#aFe?&LIhgp77wi$gfo7yoS=ARw-c46v2ZE#FR&A3czorV_UWZC+!N z1mZU$b2HGXD~xkyNYY}9wI(q|nG^)Zo??Z;f`6pd8>-!W-F>8R6KAp|+U)ik!e{lQ zu^o)Cq6j=*v!iN}fLF48{0AA#K#wT&n0%8HP5~a6MRlwPa{l9b!TBn5QIA$3sd(8; zCw^F;PUmH0mHz#=E*Qc)gX$VdB$mQPccyywLA8N!+nDzg4QVXcb^nY-06{m%;TA&} zdLUcDxIsAiT;&}E#wT;I$RZeQOruOuPmI2rN+|&R!cVB_ov(Sd;OL%TZtz)mhye=q z_r8NiI;9MQ=Uh%3LW7_L^#p~vsXi8#)%|?S;6sF332-p*0=i;giGQJCB{Lp0_V-+1f00dEO)SDG#ccJrc(BmWxbe(};87u8NsN)Upsc!UE&(4Q1 z2hY5Ycv*|B8ZcTE=E!>gH!yK<_j43)S%ynPe3yfswjMVM%p8FJe#H?zaFS zAx0WacxqSBFAx8kV;=WiQ&#;Uax-K%xuvuFd}_vRTB0-r3cf6P^;m4-EfVeBxMg)! z=9ah>E??CCg$;Q)E2o=>B%cEONo=?~-$bS$)kY|5M)Licz{jVU9!zbdZ{CPazA@v3 z*Vx+r?hz^z7rde33TgB`J+eU5$aWsp zRF!fIcJKXcrM46pZ=-GL90e{=+iY}k|uDQmBY zAxGIkGt#C-&^^iJ7IDtVo~7*8s6%(_;Wx zCMaM@o3c%)4dO?(=tD@F-DpNEgKx|9ur6$tVY;%5jJ5du{M(+GvucjeLORoIcmP>V zi^f--KnDca+AS%<>SvNG%n$Rfd=cKlUL|EC2lZ9aiU=6RG)Q1BloDZ`zoEF|@Ln{T z((MdOvTV*sT;vHq-MRwo<90jjsb;xDgx{?Jt|QVf?MW=d+~61k6L*ndu=G1kdR7f4 zL6=0@B#=!$aA*$QHvU9BzILU3K9T$_}QV^jEm z5fW%Fg`XlYsH?>%vm?pLE=1WC8fv&BAYOri&ifS}6;M3lqMaDgUF(16F=ye_bXWt1 z^5r@clEb0!CFeIy#B`_DE~33n?k6aF;9OyPGu7&NBL%hYk-ZyQaBBU|e(RW@voxC# zX-xAV)Z9<0fkmLss={GWL|qmploO5Y-#)5hOs<6o0f3=3dHg5=z4Ixk;}Bisp> zCD)dOd!#t1_K2lt>rVW0ScG;{?XjPU&j1`tVLISB=3}HlT`W_07rufEPA|lgpcF|L zF~h_Y^-`TxeqmSa2m(Py@W>N+U{;B@7@VVBP&b`b5Hv#BOUCZK^slt3)hTl@)|P4* zVo;=4xf7Mb8rBY@bnul)^N@iH_ftTr5$v$b5BkyW`Mw_WlWb9WaZ}h5s zGdnio7F#a-(9VSI8^;9_v)gqUj^AkHE6~aFUK{kbYe6s2@9gR61miA1`Phwvy zTVq&h{9Gj_sXR8vq+P=x%LF%-v>5pDmu>luSD${NwF%sDPL97!w z?BgmyNPF4V6Zbkcwfnp!*xaF25*?MzSge9a*n$^JIIzD5&*p=p?NKr!1n5{~@MW#r zpnS+lDL_HVbC>P{I{jD;liWHamfG*>r-S^95+;3B-FYLhc!KmE`~b=~CLQ#+Q5 z_6ruI3j16)BWQ0>cl7vE$KWz@h`Z#v&Gvcl?Zn)Ko_jAaNtV9n23K9DJ?gq^7G3OW z8-v=#Xh)Cjmr#NI@hD;6_}ak0pGJd23}az(JU{wWyj$IV zl9^fyyGybQf4)c_fdq+*u+N}h?zej1UCWa|!D3UL5!BXa&WD-c290zKjxm+pm5GCC zrWjEFq%W^}3A*^t7BUjovZF2Qmr!;ggFK*b)ruh5nzI^k{N1pc-f-#`OskV>90mP+ zWBNlF8Oh4uyt@ZPV3U`4WtcVM^!9ro>zzW%n9{YOhZ8w|PKR%;hOhNE<S*ZRnW&gL9628Qyd+g{c_r=2ZRja}x9&teXCNT>bzKb+WgZ3zHJ3buW?cq-2@Ofu&R# z1}w-Yy=m$4tVo)6I$`qzkr%5x^&q#YGW)XlHrI>X1ul~`Q)vP^5bb%pF#Dq522kF* zYdpmtwDy{#Ol97LIrwE2@0AzN7In$#4b#fA@mGPq@#)R#(DGdJK literal 0 HcmV?d00001