From ecc0a7c1bb2949ddda4d7884e5c3e0cb4bc8e2f1 Mon Sep 17 00:00:00 2001 From: Annie_wang Date: Mon, 16 Jan 2023 21:04:24 +0800 Subject: [PATCH] update docs Signed-off-by: Annie_wang --- en/readme/distributed-data-management.md | 99 +++++++++++------- ...stributed_data_management_architecture.png | Bin 0 -> 37133 bytes .../figures/en-us_image_0000001115748088.png | Bin 20125 -> 0 bytes 3 files changed, 62 insertions(+), 37 deletions(-) create mode 100644 en/readme/figures/Distributed_data_management_architecture.png delete mode 100644 en/readme/figures/en-us_image_0000001115748088.png diff --git a/en/readme/distributed-data-management.md b/en/readme/distributed-data-management.md index 2a37c422be..5e6a400bed 100644 --- a/en/readme/distributed-data-management.md +++ b/en/readme/distributed-data-management.md @@ -1,49 +1,69 @@ -# Distributed Data Management +# Distributed Data Management -## Introduction -**About the Subsystem** +## Introduction -The Distributed Data Management subsystem can persistently store various structured data of a single device and also supports data synchronization and sharing across devices. In this regard, you can seamlessly integrate distributed application data among different devices, ensuring consistent user experience in the same application across these devices. +**Distributed Data Management Subsystem** + +The Distributed Data Management subsystem can persistently store various structured data of a single device. It also supports data synchronization and sharing across devices. With the Distributed Data Management subsystem, application data can be seamlessly processed across devices, ensuring consistent user experience for the same application across devices. - Local data management - This module allows you to store and access structured data on a single device. It uses the SQLite engine to provide the relational database \(RDB\) and preferences database. With these databases, you can persistently store and access app data using different models. + This module allows you to store and access structured data on a single device. It uses the SQLite engine to provide the relational database (RDB) and preferences database. With these databases, you can persistently store and access app data using different models. -- Distributed data service +- DDS - This service can synchronize data across devices, so that users can access consistent data on different devices. DDS isolates data based on a triplet of the account, app, and database. DDS synchronizes data between trusted devices to provide the cross-device data access capability. + The distributed data service (DDS) can synchronize data across devices, so that users can access consistent data on different devices. The DDS isolates data based on a triplet of the account, application, and database. DDS synchronizes data between trusted devices to provide the cross-device data access capability. -**Architecture of the Subsystem** +**Architecture** -**Figure 1** Architecture +**Figure 1** Architecture -![](figures/en-us_image_0000001115748088.png) +![](figures/Distributed_data_management_architecture.png) -## Directory Structure +## Directory Structure -Level 1 and 2 directories of the distributed data management subsystem are as follows: +Level 1 and 2 directories of the distributed data management subsystem: ``` -distributeddatamgr/ # Distributed data management -├── appdatamgr # Local data management -└── distributeddatamgr # Distributed Data Service - -third_party/ # Open-source software -├── flatbuffers # flatbuffers code -└── sqlite # SQLite code +distributeddatamgr/ # Distributed Data Management subsystem +├── appdatamgr # Local data management +└── distributeddatamgr # DDS +│ ├── frameworks # Framework code +│ │ ├── common # Common utility class +│ │ ├── innerkitsimpl # Implementation of APIs between components +│ │ ├── jskitsimpl # Implementation of JS APIs +│ │ ├── libs # Implementation of DB code +│ │ └── native # Implementation of internal APIs +│ ├── interfaces # API code +│ │ ├── inner_api # Declaration of internal APIs +│ │ ├── innerkits # Declaration of APIs between components +│ │ └── jskits # Declaration of JS APIs +│ └── services # Service layer code +│ └── distributeddataservice # DDS implementation +└── objectstore # Distributed data object directory + ├─frameworks # Framework code + │ ├─innerkitsimpl # Implementation of APIs between components + │ └─jskitsimpl # Implementation of JS APIs + └─interfaces # API code + ├─innerkits # Declaration of APIs between components + └─jskits # Declaration of JS APIs + +│third_party/ # Open-source software +├── flatbuffers # FlatBuffers code +└── sqlite # SQLite code ``` -## Usage +## Usage -### Local Data Management +### Local Data Management -- Relational database \(RDB\) +- RDB store - Some basic concepts are as follows: + Basic concepts are as follows: - **RDB** @@ -53,41 +73,45 @@ third_party/ # Open-source software A set of query results used to access the data. You can access the required data in a result set in flexible modes. - - **SQLite database** + - **SQLite** - A lightweight RDB in compliance with the atomicity, consistency, isolation, and durability \(ACID\) properties. It is an open-source database. + A lightweight RDB in compliance with the atomicity, consistency, isolation, and durability (ACID) properties. It is an open-source database. - Preferences database - Some basic concepts are as follows: + Basic concepts are as follows: - - **Key-value database** + - **KV store** - A database that stores data in key-value pairs. The **key** indicates keyword, and **value** indicates the corresponding value. + A database that stores data in key-value (KV) pairs. The **key** indicates a keyword, and **value** indicates the corresponding value. - **Non-relational database** - A database not in compliance with the atomicity, consistency, isolation, and durability \(ACID\) database management properties of relational data transactions. Instead, the data in a non-relational database is independent and scalable. + A database not in compliance with the ACID database management properties of relational data transactions. Instead, the data in a non-relational database is independent and scalable. - - **Preference** **data** + - **Preference data** A type of data that is frequently accessed and used. + +### DDS +The DDS implements database collaboration across devices for applications. The DDS isolates data based on a triplet of the account, application, and database. The DDS synchronizes data between trusted devices, delivering a consistent data access experience on different devices. -### Distributed Data Service +### KV Data Model -DDS provides apps with the capability to store data in the databases of different devices. It uses the KV data model. +A KV store is a type of NoSQL database. Data in this type of database is organized, indexed, and stored in the form of KV pairs. -- **KV data model** +The KV data model is suitable for storing service data that does not involve too many data or service relationships. It provides better read and write performance than the SQL database. The KV data model is widely used in distributed scenarios because it handles conflict more easily in database version compatibility and data synchronization. The distributed database is based on the KV data model and provides KV-based access interfaces. - KV is short for key-value. The KV database is a type of NoSQL database. Data in this type of database is organized, indexed, and stored in the form of key-value pairs. +### Distributed Data Object - The KV data model is suitable for storing service data that does not involve too many data or service relationships. It provides better read and write performance than the SQL database. The KV data model is widely used in distributed scenarios because it handles conflict more easily in database version compatibility and data synchronization. The distributed database is based on the KV data model and provides KV-based access interfaces. +The distributed data object management framework is an object-oriented in-memory data management framework. It provides APIs for basic data object management, such as creating, querying, deleting, modifying, and subscribing to in-memory objects. Moreover, it provides distributed capabilities to implement data object collaboration for the same application between multiple devices that form a Super Device. +The **Distributed Data Object** module provides JS APIs to help you use distributed data objects like using local data objects. The distributed data objects support basic data types, such as number, string, and Boolean, as well as complex data types, such as array and nested basic types. -## Repositories Involved +## Repositories Involved Distributed Data Management subsystem @@ -95,7 +119,8 @@ distributeddatamgr\_appdatamgr distributeddatamgr\_distributeddatamgr +distributeddatamgr\_objectstore + third\_party\_sqlite third\_party\_flatbuffers - diff --git a/en/readme/figures/Distributed_data_management_architecture.png b/en/readme/figures/Distributed_data_management_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..170e65589e9429f682d79bd4b1f4b8b161cef9de GIT binary patch literal 37133 zcmeFZXH-*NxGstxDhdKBBGOevnt*ia2m%TOq=X(&ks5mM0a1}ICG_4&2$2#xLGIxRH|H3bC) z?ThEn^e8AUzM-JF(01kW`8O__%^v4(7d-UTl_@Iv+1AcKT(o@(cuGN08Ao&S`qKI5 ztFF&Y&M%^C|MR*46`*6Kp!l5s;@MLJUyJn_s%D*i&dzPA%`Z#8(#J5f$EM8Ix9=68 z*;AfzLmBxQs}i2yNXWW!Zy}+jVk3QQwn~WEjp}seBzVQWlSuc=c6zM3v(BTRM3SEq z3q}W!`&WY1-!)ynaDHP7iup=SJHdYsw^DC>`uE87=075T&r)bB-~BTQ3W~2UuAGnV zPkVAT^v=IWJom0s{ymz1@Mpq*TIPdqpfD82j~>n#qwmiuG(La!rTu$C$=8QCJ(M+d z&s3qe6B7Z74o!8K;VA>e+{YwxBcT8GL!tk*JL<@~44q8tY`xSj)S;xc&!I0~NEYBv z7AW}7i$-EqY_UP>mOJdD-_Lt04~kV*b}_&v&G)7a|Bh~;7!unTuU?slc{zA41$_6VH^K1yYZiXc zvR)p&F0`T0-|N0s^M-m4AP_aG3PvCQaVl>v&9=MyFld|% zllaTY{2)%hyC1*#|2wwK_e$6Po)1a9{(t^J|2uXzFLJdZ*aVW(bc+v!LtTd}MJsy| z3`e5x|~GlNKoQtqa-zJH~hU5Dw}7h#A8fb(Uv_FO#a>Tv%Wez2dH}6#A%zgDj?I|cYiws99(OI%;1aQ+%R>tiNQ*5}3=p~Rw`D$! z;pjymA5YB)D1b)?IHkeet$5ifQibAyj}@RQxHHWjpWERu?*(d|^E3=5-Y|WADihU> za>9ceTKthMd5=&s_V|2z8GqMo???EOQ{j>^RG(t0-V$fcQ96)=BE**M+|Ky+x~K5M zS%jzb$v7to2fRU+qO?wwLYKhCNw@FUPbay*@;(-v4aRy^i&ticLrD~;`ZO_t_*(l~ z@81B!x_rark?Em*{mvK<^!<{~knDQ(ab>D)(?RZC+f~IH3!3e*=E{^Mi{=n&Le)p@ z$wD|zb4Vl6XbCarX5)aX47WKJ9Nf`fWAyY)m}RTs?vUv})E@b)uh)1m=P=^pge_O* zu-3_Wp(-${hin*e+Fu=g5JX_L+qgjSwL0dHvRsW2E5jKnI>c{WureK`g0`<2)VMz6 zu9eK{mhdxV>?7VY0<$WexOpvcviJ`H*wHM79N41V7ifo56V#Z&=zy%hELs#%N&luxu_X(f8?9Uo+e+6-3kO_60(ttBR6D z=K}C2W+5EQMEpIb0|$pX(kACvGfCFUS>XDeSJ`kf$DHgKz`4dUK`RrHM3UML2MaYdKDwuohfQnrqn=ojaBap03!fO>Bg1kT#9Z z*Qm_1YLYC+7m3ADx|k*(#po*4f`&TWN)v)^IrX5u**xVQyF|W&>2GvjEWSYD%XaRuza}o4K10??aVq1$ z5ohF3KX%&KfFn{i#`I7>X8HjXj59?DJQ%@xiH+vFYkFC-gI7WW96?OWNUV>1&>q@k z1u6=bwARrzhiW#vp6%N;Qi06nm5ZW1es|9S(%fzJXOqU3WS8}!k~=nR)MrZU9#RG2 ztS3?iRK5sdDP>liE<9h^TuS0GkPS|eE7#qX7g$Dh*Sy6R10))DSXMH+ z<&_js;EFf$Muc+UBOztFK49NJh|xE_Y9N5UxzDDj#=4@qpoIgBp2?y{+O*~YJ6eQw zUmLGmxsH!FDGE+K)@1K#h6_tge^$pm((n^h^6;-QD$6^al&x&SpfZs1-NSq?bPKyE z?~g34qb3Zoral@H;>kPcOX)ml6=iv05Ij1=dpI_g=F@M|ArRcR)+dkBzAA z&otke%VD&2?2MZR3NH@IVFf4KpLEEuOAzgkVHg)#HQOcRX`L$d(KZ`fYUXI%2aOSgrUwjSe6{D`Wc znhW-uosGdi6!U&h&qK-VFOGieVU-s%Ti=?=)T%EuA`D(mcI?blztmJiBQ2Nvv1=^_ zquf0bPSZhZXEumDdo#$`X%2qsfOr3pH0k1;QD%0-Y*zj$jYOcX)8QtlP-U4Q+XVBb zCZOy#MtO*5MeYm1BTz1njr~o_VlI6`H(^wdj2w9v9?bh_u1{`&DDm}#(0~WKkNdf7 zAkVB(jJjQ$YYwCKVHMW)Hj2cCpmR6#ENfB>sKWnZ3Vr&FtL~%x*AJMp&P@ljjIl+Q z+S>H?hl3+;q2UN1C-2yA`}Eh)XkgdVps}hP!;3{mDT;w!_Gt1n-K9r^%fS{$+f^tUxGL~zUPGYmd=rVb6*F924L#*U1@)crLMz_b2GR|iBELf6otf#PSv+aXg zoJG|E{lo@b-Iv}5Rg0klgEI<7WYJ^7mV1Ni5>bnaRY}u2fDtOOU$bw1ejk4^Ip+oI zAD>m(6%&6Z7!$sc*fy&hQ8By)=<&of8lBFu?{MHvA2n0ppRAy?h)=V>)_bq4Ib_;wb?m_L=6TU83)9UBR4*~2?sv{n@{57 z)2pzPGoF4ijpCVaPcoB+pN#NO} zHv1uf>pnK8MHey!PBcq1JCt};(Ndn~A21c!?m%pgFfDY%&*pw=0l$e9-C4_&*$g{S zyAGoq=~(N$+uZ^b1V;WOMS;6(O(pY^Ej$%V<{EuoW@`xxXp&oxoR^*7iBg2D-24-r zd>=09d28k@bLa5FqvnjpH(=j*Y^l2=+TxR@`RG#A+bBsp^z9=>f0+@G*A52!;*)H~EydYH=_ zz;<8t9p$)f#B&Rj>x>BvMsy1Tr)LS@g}nGsemoi57h9eSY?5wAL5;%h$v}LoK4LXE zo!2>-mi!7D((izqZm-84J8E{wGw%e?23Wb(7YDp>3XBF{p*GA$HWIP|UyoUh&MgX} z#BoC9vTPNndk%75Y5j>YMr%C&4CvK``)F02B6COY+ml3>yj^B9T7pg%$RFUq>w` zUoCxnF}6V&6iCdB9?(OKVTXR-y>!VMJD*1jyt_`-R?pO@;Ey$KC-maFU;FJ1hH(RSWfjE|f zk=BB0lv^N=1TVfKs)wmGYQPMWSeD>^*y}Y&zHuJPGW}JSe$W@iQfT*vy_rn1r9|(m z&L26zYTWghV?v0wDTL44E9lFsNRTd2;MQ(IJXZ|(w#SwdR13?36HAWU$$MNyfjI4B zgBRxNSx<&xvCD|TuJCqW4{VxTvK}DEZ%}vX@vk?>jjGfM z8MFQq4&2wDY5@J)t|>g3$KM-RJi~tvogoc)&0GL!zET^0$G8(xJ^4U;na znQ$N*FvW3;rj>y-k&Ic^>%YSEE5H13cM500_j#nYnMd_zkw}Uz-Y3yk#t5X~rUY-R za5{9(x{3;~d*`B_RVgq-_yGKBisn(3gbLd~qR%pFKX@giMtr>f-m@#dQpkMaCpN|5 zR}im-LT7Q!#cA?Zo?Sz^3~HH(0jp?lvur4#L@))8Cgs>CVjOo1?4K^Acb)n+I?v73 zE)_80?%N^!pZU&L4^N4Cp<~|v?C=6TzFp+5$}mk$^SJ$645YUNeS)!aslTNtzTWJaz_LQk;4pBeaxrrk^Gx{3L5vTEL3;hGimHa0?R9-0CbwdI1g z7@bY=8(R4$Rcdf7lPif_|jo< zd%QK!Mm-#m)OGt-7y;IOTwx_f$^SDJZsX-9Ilq>F9kz zFULr5Qun}Z;@=)LuhthE?GHezUQbU=7)Vurk548+)1IO&pDTEsWB z=)5xIHA7c6NTDbEIMP>NV2#6P%JbyU9M^Q2 z#sFf^bA~g{u||r{M2lnMC(&EwbjWNM*1NS!UlbgSWLosb-&qK0#7oAAzIB~`_t5`X zoJh66C*h+`-U0e81$<*Md*G&F-IcD!ykXW~9fbPGnlsUybAX+9n1D{QFmZ3w*eA`1 zeJpePgF^rGfdQ8+ASLh*ihzpGrB&+&0_mP~# zBsT*ZJ7lF>R*hol-4h4e(@2+p$E4agd_;g3*~ks#8#%`jKnHzTtcEHxn{?(|zI9@g znKE~k^|=~4a{W=m?+7u|6MI%DA)w1w0bI;1ukk}Jbtw(R@^iQL@^l7cS3g!D$D-e< z+`P#P9gv_dGi4b^pLr$ltD$J68R>_CV9ZGhp~q~GoST&p;Dz$#E2mezY%Sm@lwuDo zq^kR@LbC@w93$~YQ*Ep-@1*uWyIT8JFUD}0O_{LY{ptA#SBB6rSo^n-sYwr}q_NU` ztNI}^c5nX9&C(wX4^`JOx5Czi$Ml`7qqX{0&bYC z@Lqvxr1g=u2br_tHUXMx;?sA#z3(-V)`Y<`6MEcHflhflbK5Ty*<_Qy174J4ABSF; zs`+6`zx!9DQAgTtk2kx3PN`@Mb(s8Pv{lRYu9+EakJ=c&a2gC%)h}QCG=NjBqXxrqvpmt#$Efqi3foCP zH8ynV;Hym|wJ_#D;Gh4h4beF_Dc)VF;Z(=ZEcY#~?Ke6=nC>zLnZb>`46$2cgeM7$ zk+r>3#j_|=_;K&dBxEz;^xRc>C~UwLsA8yY0?b%QAl27aZu(0mYBA}S1VV&y%YMcvvcKfI)&x+au}`drr>y+lt8M%Z`wS+u%i zebL_bnK}XzM_AqK{E5`bVrFbwLrsRfLj*Ons5i{L{=kSn}(5@koX#^IikS0sdsazRYRv6e-%9(3Pd<;n@oW9Hr_bqHQL&T7zGXha#6(f274;YWvA?{M1Z#&PP8akRP}tTebR{}3O3 zs9qEZ#6k`nLB^-G7Lh%-hRZC6b-=B9)mrKj?JI&y10a278i^6sxl3IePzBQoDf6iG zTh^oGDR+$@OGMhRDl%5G=Rx|t<#GkAf?$>6u5%_VhN{iXObo;(B zh{L^bSHv)d<)hk=Ktp4`3YVA2%Y8{)K3vfKG*~W49X!%yRIYb}(YG4jxa2z0JwZ08 z_-q2<^vZOJ$;77vH*5eyNgdfT5+0=vKwl7Z%<<V(c&`V{f(<1FqbClve6nTL?NpYoTr_0{FhgGaFu5~ERYhB_ApqPc_ti;c< zZgqEzrF*1aQfDC$92f7eefDf0@rJ(d;FW?>pSwBEmvg~_bwA)v4$2+m(-W{~gl8`z zB}VPkaFo-A^+*Ro3{T(I21WEv+rF=jffqfpy-lF}qhkhTbVsjjaw8#f8jz!BS!Jte z%`%uJ0Ozn!UD(GkdSbn>GV;VZmU?Cng$_@T5f5&Kb&47qJkm3?M{rucfaPW-8Z;%5 z#Vmb#Ywaj2GnS+405o&^F>mN>vZ#@{EIxHq8U^e%qUvMN}y#4RqH6MRX9A8+H5|Ifts&LWh;N zc1ka+T@0}`>)P*W^yJzRZ@mib6!Cn?8PrfH@U+7JUJ!;C1k#GNsLRp0FK`~v&=JQzE_6uO2k=6M zGD#iVt`ENZEeaRrGtWf#!jFz~recX7++wJFjtHfPi>abv8cdCfbT3lPjAHFqYSGrQ z?3qtMbc_Q`l5|m&Kk-eLxcZM#XR99*cmbxJq=ER)1fCkF5$1*ZpPOZe*%w*P4!AWL ztwV-C6IN<`R&=vysC^tKdYTF~7?v763Gcj}<=HAvS`uk+OO#YK69=j|_g>Q~8PHY8qb+Pr{z-?Y33E`#NeNSVJ#|i^- z!tW?>4n-`rPB*%%T?o(~Cu%-IFHlhUHs7=(y}PVoR)ZA1WoNadit;<-+t2=@*BWMO zEM560T%gEy%cH*P77q_A@jAOf3#=Ic?t>}~a#CtU&+)rA`@jDY@dW&Ho>^3YsU*IY z#P2}xcGqnck6*RevzDse5THK?ZLj{@5r{A0`AR=wi#`iV#NH!a_Ro@a`-EW(G*UFz zf<2s*)RR7{rJx8Yx%daM-MZG3FIjD4Kh){x1>T4bplp%!g?y~#5z5m!O)cZw-vq3j zW6@jfe?j1Z+V(U9!tT{Z|KNuH&Fo^J2V|%SviX87;JSyTT7?5-V66z%ZJ7%)@UR=el>zX?sXVpTL6WQ1IzGGqQ%W&>Xy zL@@9>h5GC(C#N7XOS6st1B1WY>X)i?Eo}c>!sqS(y=aS(m*+j}T;_(@r(Ck_AY=;H zs*4?vh@0F7?=BjuU8~px!DYw#1s*&Z$6TOj=h=*45OAxga@WlIhKZPs*H7_U9R*&x zwC!>^TYhuXng25vs;W@Oe(Bl%;}IiJ%WuwDbS6y$ctDn&8hnQY<+EOfP>2%=*{+jBz z4SC;Iy|e>h@>>abs=8BH_ph{u#OhYRMhH+-)5VTh4pYckMbF)Qk?>GA4AuZ_?Sjzv z_Jdk2eHa?y#vJqlR9_Q4*DwIYc;GYQ8B%MSQY6jNAmN>`nKVVn@9%-W%}-puB&3uh zAEfP$i&=dcI;;67_7cqf=YvKomz%V5V#<KH@uOgC}(*PzEdmP5bY?tdb_77ft|g zWtX{1_X~2uHy=LF#ZC>BS|gbDZDQUTZnlY0igYJ(8%emBPF>Imt7dYs!@SG#N86v@ zy-d``X!tw!-`Vqs8>if+gXAjpo?3;%jPHts-jVY#BsOppm37?i7C*~#^sm#^oe?$5 zyx?2$K!X=`x~GFhCV>DPx_2Mi55I-!;(9O_wjN~3_y9(jHvS~UpBO{$wDZIXT;J`o z0f?G?Pkox2@igzj&9w$ipIa)uxBsZkb#*Pve<>ON3v1)Q-9r2?KFNQBk+rKBdAVjG z1B1AVu(Dq3-z7d67v+2Shld3Pk!#L~J&o4Th(3gvEb6T}WPg2PB>5;VLjWCC$;tX3 z2_i*^@9I0l{nD~@39cf{kEAxSB0XP2U8Hn?r$TyZS7-#?0m8)aP|TnA1xDFH>`hUu z8dLmL>9R{%?rR@?g zj&K1X;`9lpEuxR2M?6scDJm>JvGN$ZBZ@@Hv#OkrcegXVPQ@K;Hh#} z&0URW+|M#D8@!z1q}Tk>WPcD_K;7(TR(&5 zZ7f=Z`TUgGk*_Jz5Qg-ov;mV2xzaZliolu*FB{YrJiop+Xa|;AT$z#z+wmKFSxp~2 zgc;$f@p}#w%g=9QYy_+RR?_Y=1)LofF3##zC({~+gTPnhG7`%=*GF(PZu9suJ&>(^JhQH}v^hfk zBY4LB*B41D<{mw0(p+0MW2ibXs1YBc?MM_P78-I;%s2eYYjSOuh?@*jH2%O?*g%Gi zSqR8F%NguPiR`$gXa|!MlR>De5$l)Q9u1pJf?m_TY8=w;JtNr3^8n80Uk^9L_fi$H z!_os1s3By^3-s$5z9c{F5Vgye+^DnVv*tz-maWUn^*i;TqkhvG?9Cl^k14L_{7cKp zhk_0}kua`lM{>rj8 z^hN|0doS=YThL4^Y$w1MW{xcSV+IC9{-cxFwQ+3^lc$%eCq+5B)+o&!dxnKu?aV%| zq<_~`Wev==OwJs}W|W|;4tV%8ex*wWgH#wBkuPhiZ73)quqbmdYd&-n|Q(>A1sG%{bPvR)g+%j;vmvd#PaE=dm>_ot=UGXIxB_KeH5`y%}So|*x5zXcrIQ@hMtSl|V54Yk_m5m(iDh{XJN z_#u?{cvea^r@E>2Uhfmk0epy)Cs(H{Tx7gPgc{&WA-DNo^)y#3Wyu4-c+!v;Ij8PE zUfWX^1vCEF0NyjX1E`otdPVPC>~=2s0NG_VId4UPJyOkNs@*cvQ}{}Ba4#%Cx9xq| z=?SPse(Wl{pM6Rr);_N+prHTrE%#UXtsE}p_2>%G!*#!Nbcp6pXhhL&1+h06$i~}i zx|G?pn(t`E>-jlA5Ha6`VGAc=ro%#UY~ioz>?Y^G1kGVtXAhIOt#4WjjaiJ)HI*&< zOw}w*!Ki84QuPe+NNX!NhP>$FpgX8<;?Qcn;Zj%!Cj)U|1IDZV23|@DM0z0FR_=l1KFsOuNjSv0q-WEJJI)kQ&RZi{v{!1C$*PB@2Ol4&|p_tJfGO~ z--(^e^#Au-6cqn^e&&mFawk|m5-(qDr@Zf=2yE*N6saeSZ zztc~R4$ANB=cLN5(g%-QJ1IdSlZP!;v>tLxb?280N3e%=)N!A zp}o>Rm$BoKl$vqCI z8^u*xNqB>EQDn9&)3C}839{e1<^R%au%9oX?_dKvo6J(0U*Z|O!L|=U#$r;ohYDNH zj4!oG*8w4q6iYlZlI=*+0>le!=As5F;o3uO;s;Oa_UQ!`eY7)@*KsOrN9cxn6aDPE zWGS6{e+~1wAv8K@bQnXy8z+aAVl10Yr%uM~)XmMTLs>*xpt`uVri-hFX9Q^oyb zzt4E<+8qw1d0Zun?17HFmQ`Hu{$+bpbnubiOL_VByt52Q+}gkjVyW*h*X`UG+zoak z8B}(tNPx}3)}tl>$1zKR`|WSclPcd@NmP6uGWHNniRPcEujGI0c@+QiKWWO_di=yq zmJ#{5TPNWk$!=X33DD>=-?`{9HdcboFF`W(28sShrG^Mohm%>R8y)El^?s2~6q9AF zy$Gvx#s2mDw>l*MW8)b}@5W#?p}aA0)FUCMMId3{e=ltO^4e%|8q0x&l@+?f-(_6O zNrv%l%WduGndtkLITCla>JK|iSS7Vud}d=ezr`$Mi0^i0?}%)MO3(JkiAi-2@r}Q? z82(n2I6BhF3vTK!lDV@nFSkwk*P~D<$t~qKW6jFmS9-rXy&Z7<`?4kbu}68wsb8-# zjRz5++Hzeo zKHVPqJP9;dX*o@=J}BLgS=oc=c)@%IiRvol%G>n+G0hXGM3Y86v*sC>2z_jTU2Q9y zhw{#;GUUi*#KEIHO`fnH;N#Lw1Op~^kX4e|6(J!M00*bdm&)Yi%j30uqdmO0XR8JR z>_HpE{S@@!5eLE#>AOCYTMQ}muC_2BGJ_Xg;68DU~HU$U{N5*B`a)4zV%& zbh&HO1fWKq>?V8V0UWG5;?=>lM}>`5<9PRYP4kcMuWA?2p`&%- zZ?da$-bD@HawyN6^G*tP^KRoojCq-zF3cm-ECuzyn90Z7Su0Ss|E@iLPW3z(Nr{;* zbZQeHn8O_8lp&KZ^&n=i#O(1s)FEUy6!H~zs6d98YCq|mJp0cf&WvJvmWMU%a@LKDV4k|T~!#g z#hhl*YsabnF!F&$+NAMC;_%e~w#A_)ckN}T;mm%RdEPtzXBsZos-!+#ZSa_?ZFcW} z1X8}#%w}mlDXyK9d0h5~n0DT-yMX3uwW6Ynrg~J9MzR@cnTq)KV{IHKi=mKcBQzZp z`jZG`v0^Rt4mr861z~R*NNc! z|2Ih5(waP8dA!du4{yO8h!MZvCO`gKU#!@slSeaONxeTNoYSZGMHJSSvBX%Ctt`}? zBx0#5ak?7NXHu;dc^cVTvCTlcU0XxraTrMOkl$cCfPQ}V_pqASsKseKXC485|WTGy_TufcN2->0- za2Rb?+`?3l;kLkuVEf%zg`T#II<2kB5`DK2Lo-E$|GyXZN zbP-H_abHS#bZX}4z&?9(iZnmJOIAN#%qcPU#~|?g_DXI@0#jL;QIi%fp+M>ugeO@w z@P@yAT}Pc$MZ9fMG=i$ED6G=xJB>hhwsb8@$r@{A?KoO|_9RbGEFnMDoK-<(5BdQ}vF*sK^2^zOP0tm#>Y` zvo73x`)P6A8?Y^3GQyhdkg@%B(L8*wX+p#Ldva7r#0Q*Wnxa`qQU)Ox<-kLT*rz~Q<+^bw#-;{-MuoNoHc|&#Pie%ie9Bx-y+{`t3qQ`<8%DlUo zocxNlr2F_nV;!b{|EQgRHi+et2|jpTl1$gh)qwL1CY-+d_SDGhZQu2l{eJOFjec+! z8shOn{{!J%e(ZGb&6x!b9eUVEINtm3k|92qg|BZ@1$kmbiYk2O?c2^Wd_V=|4(e}V!eY*+MYsv^j*eI1XH-Q@~t#F!Aqbq&<{JM{k zZk&;;MN-FhL)bS*uC7*Qgu6`!utATiBcLZXVhsdDYFuR$$0S$GXeU-kjh6l-vYnAS`+UTI1>^u<{f1 zClKc$@dEN98w0|JPBOo(C+Gz^UX3wPRCTI0N&5-f9_hqR*|jrEp;GHL7+^mRq<%dy zReV_y!&7$hncH;#Q$F7T*uJQ!Bmfo(C9N`(xT@V0H6Udn4KZ(+yLJ_26f~hdkmCIf z9^OJ^9h8~98mtHK8fPQ#hqI*>8Cf1`354z14OW>P@t%=$h~o-WO={@ko0jZA=xa^X zUf*xo>h9gUq1*C8zbCChbmN8Buv2__0eS>zxW~VBT%(NEldhm^>A^ty}=YgrqwBYJ8`+_4R_TCR@sLJDRjVLLmsUeg^lM?G4Qps$mYUF59C#`=F~LX#+O_=3 zfF&F`gc2wOrVI z;fIN=be(hdO6-MuvbM=Sl{_a2$>sgAwu-s z61H4@ca9skU44~uV&-z;hQa0!s{6tOE{V-t&9+~IqTi?jqcbCyqq(nGX;e6JM_1{- zyCtNN*i?hB#ltEUv-wH9JYJ!wzxh$;F>LLc{YP0ok4jcts*8Sv1p za6 zbz=n7n9jfH5wkQ7`ibfA=FGPGx84#8K6UU%*Hl(PT5)WZD`{-!vRx$ALCdDi@Q>Y5 zu^&F-cRn^8^|Iv@{!&7ScOtHxOL>5@c83XfW<$t-t4X?CL^h&2dt7Vlf^EGzOJnzIXfPe@Z79|0 zaw0CY-pn-}_L4o56i=OGm)nt}GnUVg*XZV&rk1g=k>reg-NZ!;v!|1rZq9d?I?@We zy)hix)+Fw;XbUqu^x8M~nc&}B^);~1rE}IB+=EWu8v97-kQO@bV|zBDf~6kxXQbee z`0J!UwQDwLrWHKd)Kk(DdjK*k2nCJdO^XdpYdoU*%PsT8)awZI^&fX+cHu{lp4_(v z7XnL2{BLapri5(93a@)iX~j3qJvvq1FvJe`(oQ)c&zd$s(3qcb&E9C3>h2u$tY=Lo zxZQ$?mW7O@HZps<`}4FY2+iN4%G}qRYOo1n7@e3FZ+iG4%cs6V>7HyysZHk(nY6OJ zjb`Mr@K7ZMBrBU-5!tOHpH41?j+K9>#xCD*!a6U}`bn_o1*u7!1*r$3zVbA*5)TkK zGj2}ilt=t}81t)x5hJykuF87@icI??zX0m-R&C9dlft8Or#I8*jG5SGZ87WRr>5|I z`?uJxu-ne%g87#2`p6q7 z!drrx;F{&ScT~Q}&7GNe1V!>EVjs;)INd{$gHsh=aBXmit3qaI-pe_ph}$mmW*KnM zrtclL>`G?r2l%7mFM@XNs6JdfW;E={q0y9B%|I6g&g^x5b-+NU8x=^8U=yA7A8~P3 zr=NQ1=AOJ<@27wL&qDN&whee3b9zT=Yfb9|{ik^QU^9 zemxDVFCU-=m;;z0vTXBX^Iz4eSF^2;>^9l&>`x(khBj;>HdD!+ebBkn9=Z-^iY@U5 zH|#9nVM$3)`Sozo6}=_#4tHFNzwODxOD7DH{Si@eBLQ95$;hU37-;!vCv{gI$$=@> z|53^thiSg>TXL2HBxAq0NfgMmX59F8DLm4?Vj666Gg;48$U&fX{H)Z;&ufLB{Q8k5 z8VLMQ(4MMSW|~;6Ve2F>Gv?KHV7UBpnb*boHLXRBDNkK^QPJelu`%E%zjY@oy);=E z&DIvJNf8qM2Pyd#x=XlhKbTuurn!sZPd>b~+@Ma7gYGj$?8! z+YBj^VeXUKTaBG438I9a?+YAI=Cph2DNE`5y@JrLAm%%tmuYWxCA$8WKGGx%D{hu+ z6MT?N&B!Yhm$0$Kuy9T;_7#a5?ku{Ybx|6+bQ)cGW1K3J7KdBVO@AlH63S%Fs%%S? zg1tiVM|=*nnT)*jVYXIKI9t)$EIB|V{i>OMiIFpSe@Ge;vavio6yy$s8Q4R=i9ND5 zjIUxGt(l=f7?TobUoezIXIgQ+sf{HUC^+t%XX~G&`0dv7ni>PfG^8lKJUbnO^l*Ui z60#2V93aRAioT<^^5S*OX_8{}_0Eyh-ayKjXxl#}vS2pIA0(el58c{NwIv}2eflg6 zwz6-)%wC5`-iW%8tuR(gi1X_hM!+=Cb_0>xzvR5c?OSsCkw;iuLVmfoU4q2RjRAFz z$9ERa_gs`?)%k!4?YK#+Vc+`LSupU|-Jm;exzPE+@GE-q<&+r`hhHjtR}kOn2d6tE zoK#W%J?s1^HCDPO+kqGEa{MWe{VTi#IM4TTJw+ zwn#@4-v>7N^4SGg0-eO4E|X4-nLB$wBO_&WW(rLNXJWz*up~{6x5_|@ILlJWII=mz zJ8mQ?V-@;@_U5mO(T2!zQ@uyijfPZc_(RewMX%q^8w6W3aSyXlvOQ%)6ZPUZj& za($=zl?{cvBG@ z)8NYu$<3!N^e_Q5l!n5$>fBB!1+JJrlQ2!Ar)m-(8wj+E;4;zyayDyO!5anaRMmr8 zR-baz$t9r^oLK1D50BqDU7hE<&Qgjfn1aKka~+Efj~WnvGPLup*5;aOS|jOK!hSXi z1k5~icwNDPE{&>{QyIQhyR9Q+K^|)*cU^QCd=J$%+XI;(U!d4~JsiiHnJc~CFPIb%t3f3)Y_U6kUOK*G;-bpCI#ut}Kf~1R7em2@Q z+(zb0s%=v)q}Y2TsXaXF^65ZQvs$kx(#RAwfHGi*zg{(@5DSo&0GF2Q>aR&Ueo0bo zlq4ofiuRE6lI(o8!He_U+-)&k9dYa#@4!1=-Emf`xnGg@78K~@x|*I zTO+q~lFvH4(iJLFEcmvoFu_Ya*2g)^r$a!X#g|C+h2k?$6!WOg{%qQPw3yU-SmWia zl)3lY>2J#YTg;V6%K%KK{!+}3P|k;TxQM$2)4)q?e_PIuB1-ryRUhGcFW|7}( z-TYfiqZ>UphtqUn6GuD<8Bc8K0B?XzNpNsUC>}}roB|ZzbjIfdP+sI5Dh5K`#3nOGi|%+xGR1)PUuebopTH)(OE_s-K4>I9>1B{FO^T}m=R)zCQrG`-G3J8A`YCEij)9rFID&)_s2%I00#^{ zeG|{cmPvZFbwNkPs_cHt;+s#G@9&h_WwwRxIUIp_u&q)8s3>VgmRrs4^)R3i zc+@sYaK?b$aB-NFsGv^?e>>f0P;mY{#&kc}5aDfI)-vlBrt%$qBc~C929G8~O#eKK zB)GqT1YQyt{EY*)clrc@UqEzj;b5pyA+9O zwsIdQSye@gl?yQk{qWcfJYfvIvI-DLwo)u^8g5Aiao~2R_r)&AIC)V$2iC{g2p(%; zej>TSQeDK<2|u1JYF2uZ7qzW^Brj*l zUG}NRmLo=)gA&~O6+6gM?H}elo(&Z$89w;Zs;(waNmbebncx|3g|o@s1arlT{oUK( z2tT@PKZ7$Uj6a(zZJ`2~7dqLrrvsR9_Kwji5#0yF3@_+h;+%PiW_VFxp0kFF0HjO$ zAm~6+n}!FXFr$KU>Oxwd(5EX)=+~%Ia~F$@BoT-Nw!%WGAwl*iP1LN{aisU~;Ak_Y zr7#Olw-z{Q4zqY%`?cOn=RRrAT?a1LP|d5KZdWn$>$k_N6n+njr2`H4=s}*-RCNj{Z*Z;jRLQU9f%(^qM6MIYLr&2NLayV(Lf%3@ASP-n)u{I{Q%%lhO8 z?RhFxW1qt#_=jA|ilzD;tQB|_X}hL07&P}rhSy^Dzo6vYaVS*wtz3&)LyPDN@a|_B z2N7)tDeKTiXzc6SX7zR#B@0x#@p-*ndrW06n8&zfCApc#`sL5*?Em%uP`Yq@QriE6 zwfBx{s*Cz{QC~$-u!|HyQKSh-mo6Y6y(V-}kQN9i5PA~@q=^Ed_fA4UAPEqfN|Rob zNa!6xlM;H!4Zi2xamG2{{Z6~<4+bNIz1LoQmAU5p&1X?pBdRnh**;5_+Zz1htD@}@ zr9>XnkpD^OYt02~2B-AR``ADW0NLN8mS9{}Nr+9+228rZg%_?=isLa#KbfgI4@(6jLE=m+{OZ#S>cuYq$SuhUUBrNfA$sp6PHdXb!!zMmJ@j#? ze(5&F8ee0SJ*xV8`%nOqZka200Du@?{`03oddK~`p z69vdGoCJvC4(ER;a0C8)yW%jXpu%^{sfX~Yk1ECV_E3a4?r8?-7k!LOD9fh1tqy+~ zA$9oXBMdqsCXAk*Cy+KisjWB$;># zI|6B5x6-J+!E0Go5QdOu;e6(1ZD%k$mc~o`-AZxT@ZS!+)fjZO=SavoqgN{O+dmnD zsjv9~WpA%T#d}4zgx1=H%$k!!t4nl9-;Q>JKU|id{cDrV>seU!EOC@)-v&)CNgv1? zK6$LG(S8L@KWH{u6qYOcDMC+up2w=q_`>r3`3qrGcS0;qKJWwf+iUh7x%Dz(dICJ) zXcq*0{PHqJT=z(?u2g^80>AJYGCW1@AjFfzAj=Z!v*EkI4`&q!J79OQW6vtRp9zK| zRw65K9<#+KS6v$%hrzhX#(<8a*|m)1A_i<4oC3QKb;Ow|wa4l=F#wE= z2{Fi+fJ3mIv1!-tB@gJy$tPE_lK_*CzlNiudmO=;)g8tdJ~Iq*_X*W0qdJYrQh}rt zSGi0OC4yoeUtOhoFzSfg15wDW#X_m+>K@*^y**8k-ROiIQlF_5BwI?ntS}N{<~TJx za+v$k!*fi~6nr$QX9{(Bjl-MIclWG9u)W2jrA^-sn3H-a z5m;K-#vX$!9q5_6zFL&CeT;|`x=7#OvUl`L@L8Uzj%m*M$siZ`-tQfzl8cvpRz9{t zm^kJAK5~bI-V6Y|Mwa6=*&HSpw+Bp-TlT14ZzZQAhOZlv@K>T`M=|rs+wsF?-Cev3 z*I|t6)!*hNswbae!Hk}h7?|Dfm?+xQE?S>RRbTb#TL~`DeYtb!ubd5Kk2k~A2NkG@ z_LXx`jIT~t9c=tQ=Hlw3PQ#q4U zATZDTdb_3CyoDAj+I9*P{E1(kwWcvJE{y$)j8q_eeWIk)Tzb!(GGsr#b@#T`@FQxY z9qLwJo*CoD^YeDm7O=WQ30p(0+v1I^zjjNh zH(wlF&gc@|R)q^Z)G|ft*q0jFxVHq=hRhdA@ZR#e+wu!gQtSMHgZ6svjrna}>!mh< zfB|OS*H5a~WSNxq@&hWz6`K=l_xi||sTg%MgWgf!@ACOiO^LJ`F6Fn3&gAk}oXTc5 zgZ)h1uOUm-Gk{7 z`Tcx`<%ou$vdDNGIeBFM`ZBu>W9%wy023b8H<2^6$k=|Zg(~Rxe&(eZ5<{^!I%HfO z{aRb|?C|7zzLH3Q;d+5DXaMpl(5h0iE0KR-Lw;vqap<$D?To|dRBDo!Ak%gk$TrZo%yW+zNqEOzO`rzNUvpKDj*Rl->`5#&4D}HGp|K($o%yYQY9zqpF^P06k3o)aNavz zMU>OFwG+8fh|GyO?sJp_xrXj(<|3TE=68gB=HxY5@>A!RHmifV6 z7|QOFY$2)YUUy~wPN$=I!bpQsJ8QS;8}~KXNz5&U1N(97o@$&;eEo46@r$06lv}pl zJ-SM_wQfg59m$lx7Hd$Y&Vc!cf3;liYZ3aSUFTurezP%84iLZ^lXdekg12GhrHfSd z1FPQQikJ9nzN=m&7PLyyPi-C_M=|HM2lwvg3filrGD|OgvD;-S6x*X?@#+nnMLs03 z?D_xAGog0k#z*D(y-H4eCR3s)xTVzweOigF)1s4pp9BE)<5j3A$c|-ByuNfIW^U~< z|M3z(DWg_X+G~B7U>iS-^0XjLf<5aaom@Wrl9<{vhYehT;DQMI@wxF0C$UdsNj!0LP>hrLN;KW> zN*)F^Iq-Bgv(&-QP470({wrGf?#>m^lXJMe$iO>G^_jHq z4AjY4U@3h!x7KA<^G0udBJguLDaE7@=s-kR2Y2K)VARdlmXFsb&pTvIk-+6#R$#@E zxnX_J)x&Sb!sEY%R4jT97d86_$CG04aqyk+A(DHzH3qY51_2Me&@$aGUb$7$+UG9T zz1n_LwPPDS_*;2)I48Ppw|Cic+4&i`qMAIg;;^ zeDKdaDUyVoF<+Y{));WQY?zDMYyFNoJbUWU2EA<^Qqd;bZ)VnJczaFCLJ+4gdxw4q zKFu#OfrO>b4gJ(iT-rrcW!)3MqZeF^N z%gw~~M4!c(5C2^_F)QGA+tO)51;;_daE{))@hg$Tc9*`32>$Qs5@mPGZS4cvc>!&! z>ZUaq==Pto3(mucc)x@~UFGox_x8^7G%~!GqBq|CzzeLneSd6QJfVGQJl?eYeyzv|~} zF} z@MH6RsB5$;p)KhBC`#$=uiAf;K>lmm$pX1(*zc$M0R!mue9Pxk6(V)!T}-aiFVun~ z9cOP)gGAgZ;U;om){v)##+`LV$cDsS`3tW#*Ll|3BiygG&BbZ5Rj^VPu)hhpAIF=Y zO~m`*S+`}q)D~U~?%lfZnvLtcDNc4HV4TCT%{!H{H_rEIO|C!YF zKSh!LO&#%;<9u2CPlWl){FEf6ZZJAzy36ML8aL zmVPi2bll!j_3-_Hl_H}pg7Q8tzb~h*n*D^S>&nv$RK04~nY8~#ue$#6!ph*!X?4rW z#<(}VHuEa3c@)Pr`8&mt=Wnd^-jiGOMwd>wYfOX+7r%AU;p2k!9O;zoeT4o?RK559 zF4x7{K!qgNF*JJJT?48h_y{eYet+(#Y0Qpe&U8=)4pN}oW^@Q5lxF~Tn#ckwGSBZ{ z@NSfieV_c%B?1ySz9A(<@#B08sd9V2G){jB7{=R^PyqBBztm_uFDGZGksQR}Jebpw z#T!r{0UqtWNHe{hbYJ0Y=!NnA15{PQ-rBT!A}V-2EX=rE?%7$P@68XdZC{Z-)Ubv6 zdo`eLXVwkgA!o^v1A|YDej1bk*KMv>ntY&x;tAe;D;T;rs7&&WgO~sNbSyyJcQGE7bSx+jGsBz{}X2Ptb!6HE^0d zz{U=NYt6pp>x0ZHtnMcN4&itJmj~hq4|isQ!KRxEuR{dA@Bd>Ryg0he@+qa{ve_M& zZc-LxPyGGe7lJuyb-OWvRvp5NP`uN<47N`^JJW*d3Dl&&Rp`kaUUJm`ei3Px_LVp~6xL?$SYebZaV{-#`wPtCohu{wR59cI(X(K1QyK)Z8$g zbwV4k#xMLu;1U_gtal%0#T zE9>>Y&$-BPZTr?U-#1a<6g~syQGE=8h3o3lmyIVRm*cp@12rbMMLmppIn2;lqPvTa zG6hz?XxPmBGyMz6XOpQy8~uKo^!3Iv$}1&@vko3F#9bChV4R{Hv4 zoZv?#K+Bi>g0rTwF82l^b5H;xDMAVarN8O+I>nc<2hkR=NDN-v_nDjbG`@U@(;G=r z1@$!?oi$*=*Uw=`MS@8VYBT>$96Wb#jt`8SnwZ^TD26j&kNsW>7aWuHJ0&>_sS=| z?%@+nzzGM#nvg?}&%LS2U4ho4UN}ZhupgSWsU6+m*#4&BYfraNFy`mxQDF3#^L!8H z?2hWu@h+nPrNoldG@u6+;%J_1J6Y^o`Yq()O|o6Afyw8kY9NU;%Oi+N4(yj|{K}9y5VisPMIzX(NgkIY z=H`{z;T>;hfAWrOOjj;H6a!fX@9y^jqMmSx?XBq`r=k(uf8V~g!u_@g23HH%?Vxd; zAZiyD+XCQYi}JfIREkaH;8U_b!#1y2=Cz!`VUof|%|*0oVu6E8o(JSZx`MlshXKi-;(cT_^NQ}KzkM8eFpR z+3)7`3!DDlHVGLp#=%W~{2;qQoqkJZOma-pw+VZBj*l=d%S0n7(d4`)JFmIVI)B?= zhB}+27ppXd9tLDW6P>Z2A1*?6$Fu_|K%oM3=L=ola$ytrv_(_k546mVLE6Rl8Q+Gz zD%R$o`TWMH&-FSZLcNsmJ=_rt4*qq;5HWx9%>zQGa-vy^OeyxyjoRO)zs!#p!vaRH zdAG45YU(53#4=|`P8~wbzN^rx!fg_^pXz6YqW?vgKf6g?_IxYeKmY-)>bIk~oeqcf zFuO0Nh&N_gb{0xC=<2WE028e`c<<6)HBEwRa5(jRy_0%UJ?p!=%+l}%>i>)u^0=Q$ zIvT2#TK~gZDq0)~xc2vTw8uX07U5Pcb3@bgTBYrtESdzd*;?ppH!Oj1=oe+h>_6*GH1>@Ms@i4KgyT&aOBA}=v11jlI zAXjV*up*B?RGM1Y8wVKt*)>n9}8MkMYb>L;cVZM)^j&Ee0Urnv;f3_YLz(c zQoY_}goQf^K=0ZxfUImZeTU^GUlSJ7oqP?L3j}>kHH4MFMsLfOjdwK~jaCYl0LT{( zUx!Nupy29WnT4NCLXZmo zs@Q2iY*gxO6Hq6T!5m`>7X;-aJLRqzHSFUQ5gES?Q?w~1f#~g?0(Fwy@YrQZtS3&U z!KgdEk?;i*d01wVBWIh>uVhx@`)(G~U8zOum}GAdP;H$JYbF2uTf6={@ zlwWEPJ{#MXP7V4%*%ES-IPeZ17q3wPyx*X)=q$=<*3C)05V9p5pl8N~1blrt^t9EV z;i_(uk&Tu(F=gymSLfUBSc7>C0z2)liu8>T(-`g?mvVdjTwXc#L1&<4)$n&c2(Dr` zNFUdEaTdnNqBV#US)8vPgavf~*TjhIrlVcnBssjtZPGxbyVUh>fXmK!l&(f~7QVtF zez>wYuO#(vmA(C`RetZZ<*}uib!zzuThGJh97TSKfFmy|oDVlQ;C7!*DjiAg@%qCm%8V;m#!aOX)+tFD@Qj(>;Qi=8+Tp7<$Zb@ijx$z68 z+y?R4Ks%n?E%XYkEY8O|1#xp93_Zd5)wyx2R#8dBrjcKP6@b z=>bha|DwzR#w#t)r9U)GQx!EJt8o=5g2mjI^)uuvjUK2{okD{@h+nj%giGRiV}IW+ zv+Y(Rn>SGv@>hq|`DkgV)+5!YOJ#r?56SskEN?fK#?gd*6?BjX`jmy_0*6L_zSpT|K z{uoM?MDR1iNUq`eH+sbEj>`!R0Vq$wyCp*W+ZyeR#gHB^(ajnFt9QC~)^H+K=!Hz! zYI@ZdId$HZbQ19O^S-BU$|K;!ISi>!nH+GUVCol2Bostp-pXQ5bQLiE6UE!?XA@~M z1^$W$GgYJ)mg7ln@vh5#^AbhX1RQT}eWoLnnqCW%ejA3qx|!(rEvs=~*5Bybl+fl& zc>03dwmHA_%(Fk!U&Yd7ELK>U07bGQ#`1rc!4}4vf&0 zjO?na(X)R)qi&gxIxIa&%eqaYbN=uCQzz%4pTtr~#gobWdN;GH)qAzvUR8pqS7WY( z-?eX7tDc;t03!84qe34lDz!FnE+qm(;>)^7e!WM1gKNWU9-@L1oxx0?NAsM$Tj8In(d^icrfhnQ3A_1cHJ?_{N8?J!zE#LOiDu^JY zIGu1pxGf)G-jHKTsW;%^6~lhpPz7nm9`fEnntVvb0mzd&gswB+Z~oosPVpo>sU`n# zgHOIbPrz|(>q7~lrFSl#Ih>Bc8-CMw?Kv6UwZ3I!L@#6+q_ttjPy3lN(DR!ukN!3P z4G_?9tNVOH{Y$L|skZ?;Rg=`fTHN&vK;s)nv&-Rg%FM9Mi|q);KQd}%Nxs@cxqDH( zt)vWQ>>8CrWu~42@&sl%rro+$a-{Pff2yUI1A&}W41o9iQbz4SWl4i0k=$=4--sS2XIp$*I+Ts)j z$UrfE*jrQ5`K6X1yJ^rcIdvPgCi9#RN6z;e9Q)#m&qD5}B5u%lTmL%>LkE+50Hm?} zY!eH^s!8F4tSFwruSNhXckKIS_nmP!)u7F$GO;SIyXA~Pgzzp+-x`a3%v#K$O?HFw zPb)?Pp3x}D1o5T(#Lv$5b3Fss%{q=01-2f(TXksVo9!3W4=|t?Rjb!cBWnv0#nsZ( zB&Q&J*62a@*}p<7>U0w$JdD$+!u*o<`Q~~2+k{iY+YE6PCv~NBE(nnUV(KEz8aZak zt~53ofp(tEZlaf+e0f5l_OnHq@OiE6T;wA@>*Oa*07_3*wU-!1Pq1?bOyqxM&mp>-Ot^p_p_FxSfZ~cE?V}Xo%BLa2O_F;WkkhI=_qjiP9iI~|cmNwVW z{&@MqDjs?#CvQ_!Y-Ltx{bE+uv`{-Ok+WwK(xg%tzW*dqk(n3ZAIo}~ov zEXsL%bP<^6NqKpEsU5PACpU~+#y zgH>AJeO5Fc--L1NFuv7O*1a3eeS@h|wP48CjzBd&^r_DTgwE)j1q=rt~E$?@mFMu`tv zZViLTm_Z)h<^@-J3F+?FJxnN-&b`m6Dvmx=ITGrP4v5JlVf%Mb@kClmqr5)xq^A-6 z;{!{hxv=`vc2=3+SiQUpGO8g+SNq@(o2IMgB3S+K!Ucl(nk2X@QkkO`!xWX#e#>HW zw0bRTMt`KixyzW-<7-{T%LAOQpA*7iaL#uiG?3=IfUAZ6dMYFhc(cV2`og-f8{>h-y}bu$F}o(5_HQFaW(1&lyPQk@@%yl7LZtf+ZQ zvN}Rf4^FDaP?B^vonM&GWCfvSh9Y^lKv!c%8Atbd*?gxbN?!_f6!FrJNB8}q1OHwt z?sX@u)^!;-=EtGW1kFyhhM?Dd7*EESP=0JQGRpr}4tg?h5H%pXQ>Z_pZ87}Q+=BHa zXIoj!dyjK8I6p5jbvi{CoGxKW8y!AUI6pKRbxTvS6fmyFQ z)os_98C*?Y@RH-I`|?8W3-pz`Zmd~x%;pn}_aO7VOXG-8gLCr}$WUSn>9siXfkwUc zvAk~D=Z~l+1^>88XGVUe8U8(yC@cn~Z0m|!IeA`VVahkkm*r^tR#@!hL>7yYxQ~q5 zO7iV6X4CDf#;hE*o@(qGc4is;f(KB>PUOvkYUIh~+dPAYaMOInkgN?nQ!F6_!s`Rs`G|&E` zGlGk>eZ>yi4!cf_=%H{I!I*TL6Whtm!q}yJH$>4&$d-dHo~W|?$J`M8Lz*}L+@bZ< z2A$ipmm5mIbSSq{9J5I3%ollqNr$7ycOMOMeTsAWsN0qr34i-52av`Gr zI8zJxNW=^J0{n95v(32hp{MOS0R7N4vwIe)WuAV^y0(&0*Dpd;gehCB*B<9f5M}=2@={ z9z9*<=Ri}8Ra5%PhKn}HI-!w9MjZ?1M7ML3q%>I(v2-E?b~_@QdyAYcZFB2rX=vW5{I#|v-QS$t)w&oc`eBDknp2HBjWSR} zLxyz=S_2;LPbZhHV4fRb{bd2)6}>Bim#L>5@%+7QA12L=aP{N*V8Db<)k{4iTPcUWeI0={PnD^b%nZKnQN^zTOF59>vi{%TEuLgIOv zDaXIHp>8PtSC2pYU%*v)huo;C;mwI+iSQ6i$+|?-SN^{kfXMxL2|EoB1?ftLrw(&F z%*)l+cJ1-~k0h{v)9mV^pezkljW$qT8&6Jt^YKm}Z=-YKL|ligxPsSK+(u+jRmWwCbIaI>V}4J?I)5tXKm!1DekZ087PNP zx5kn7{qDzKHx*Ep%KnMp_a|=qk|RI&vKGs%h4H2s1&-6xS6BwTwF~&qLvC$-n$F^f zS-5}sXBF#X5xWC7y?GJ;X=sAxRI(v6nK}8q+f}Mz$KK~wKq#$w%ahj}784Dojv6>m zm-`F-zUAvCv;wK6-wFZKf1p@!GK-M4vM*2deBe*!upt~p75;X#v{!) zwlb{$#wPyTOLh2rSHx6(-wSL}KI`|YMYA{l`+j;VEn58j%XPUBoIllnAHG*}R_F?j z+G{g47HXc_F~&sTo7wFR8DzKcoNEDWWA> zOq%=O6igc&#Bus9r=W?In($(UTV6F4rrp1`82=hpA|-G4mS=`&7W zTOjSVVSIXrmSdM>Zd)l%4-M=27aN3_`xZwMFTB?OoB}2<#q{~Y=GN5{TduY>TrLo+IOD&k?0FC zjT=;6=9}1u*Q&g`p48So2BKz22=mkLc>6w?6w;wwurTV0i(zy8d#t03o={83-&Rc;Rn^^^o(9b=wJ z1^&|X-_(9~jgLBBgZEdng3e)m43#*w;>^n;x&>$cv7vrAHa|o(r| zQyj>rbK7U4UvPX4ru^f(IUc=#ZgI83GD=x?iRtd6dq;qtt$Bkgt5_2zZ&oT1#TIdfCi5PC zeh;7|b_j|uvxULdZHgQ!C{hS3Y2}AzcQ#1rFfZDS^yOuxUi;j$CeZHs1l z$f;A{q4A{ehO5K(nGZVlx(mCIjEfihBUY*rS7bopT=k`larN1Q^6Mx!Do60+HeAf5 z#e@eeqGc>+x*;ZjIBPP*tC2GZqilNfXHJ@?cmVTM5$N+utG$jVeruwK4&Q_!$0mVk z92ZXB9y!yVs_rzO5+ZO9JN?1l<3rHIdv7W- zEZBPmrJ#X)6CvBfG^&%qeCx|@uigg1C!zP~GD4CvnJ3g92rl$L*eap;@}1K`1@*G& zf7zU@?LtPL3AR`N&cH8}6yvm9FpN&WXz5*2r9zR?UTJIc6})%@I0bbo?sPu-vBw7`UchQAdZ zuK79*uY#q5=0Dwm@Ckr7;OYfbSZ6k1|G{`;pyHV`XE1lEaBOe&ge9~pt>-E((S@^= zm1>(ma8#!r2n6?Z%4%-Pdt_8$Dj0e>#2la6F$+<1Ih<^VBn&BBTgYUkA4cV+dA!3c zxEx>2t4rTE*hnfX*bAzT<#s3T#R9Ou*M&#M2#6o9$rcH#j`>-LU$P4A5{|xC*&7nz z-zpn*ja#FRmbNE7R|bbB5X`|!)YpE$zD3f|>5ni!afUO4wM?SPG>3YS=OZM4f5kmZN(G)XyHAh@yO}7<|r20knQXsbkn6180VA`_!JhaKKL`5@-k zBj<-}t|6Cev&+DSuKuQ7?o53E0~QweMvqWoEl@1Xk%_Yjt#)(5r5Hb9S^SVX``9y_ z=ED9|0?_v9Zg>oaPAiGZZy8>Ez=iTOx5swJ=~GP?UF$w`*oY4d9quYy)!2m4(C@J{ zb55HzTc`r3@oc@Sd%%SUnJ=bx#tFaIv$FPCfR*$bRPzJ(fFk*zpH@-AbtSRBP|~VePgED7>{>nq1>O4-m3p z^50ji5wbf;dqUqd5ZMzYR$ovHcsXt_hz6%E2e_JDU*4i4fkn03=MiUEBpimUCgGE@ zvnac)^2f+-2Xm*Z0kV{)7>je?52y=p@WZnCox{52XsEJjrL1{c@^|{fpVHNqAWA$H zc3y;&m0HF=F+zdfT!wP*PM`C#r5pPbTJPSJzbg+mnsGy5^M>G^ZV;#nnmfmuz3eTk zc}**#0s2P)yJZb7s1HSi z34fA%!)h$wiYnHH9}!<7lA;gWv4*%oe$l}_nEry;I#sJpIEg1Wn0j`vihC+vZilCWw@Ya0yr*Llm|MTcs=Sx#GJK&;CMg1S(rO( z7A4+}h4L71Px1x-R;^j>1$?w`0lpmu`fMTc8li16LX$~#jNOJwy-E9=u{E@+caGE*XCQ^HkE#y=E;an< zTBj8hj~P00|Bz4?U#^F%M_VE1`W-X=h;>?y6lb)bpy)1u6p{$c)~rRuSU-;mV0pvp zj{~_ase?4ry=25M`UsB8n-uLBg1~@Sxxkj}>!uUEDzXRhw>W(Xh+$~EP{k$k*0+ny z<>f*AMLd3GOUDnk30IeQB9w^AjucsCVZ&1A!Qno>YIvM!P>uvTeHL=aj_~{{)vlu-o;k+xr0_R033LW^ zh})znS$Z*mNL#4uLyhk0ukM)Le07!gjJF*XZ5-^7zlWsN6hA)}^kx?%W471_9{46@ ziII=~1m6-pc&QbQvT!Hgs+iT&tRME?^~o3&)`Zmmq*tFwRn?NK#1_^DGJrJj)X0mt z(fhYm0*`tJo;SDc|FT#a<}=s5?=zxF6IO0 z-BYA$*Q*CTq4uO7QvQw~FbUsI?7Y3v7ql7TK(Y8aFS?}@$C^%fFXJHwt+z2Iv=y_d z^3h@Kqg>nVLW2#a4*=QY>?drkBn3)Y8y^>mR7wxDyX$oj%>-YV7MQ?RB}#cn2&lND zHZ7-k4-YM5HA+@WO+ZZRSEJtPdw(nRKhdw*w4vtntz-(DC0H2~%l$UXRo#MUXecR8 z!nVAI78_*D%SL&C0dod+Up#(|vR?2q&v{`-jrN?!V+N527V^j*v{mX)6An#TvNsvN zlGHt~r{&wO%0KZbJZ={K zqgj6g^SW$u;9j2>sn<#UOQ*LG_uR=rV(9~RFB{5<7@%bP8UKinKHiyL-+Z1~K-$MDTNd(i1FU>M@BH)Y@IWxh>urazq z=B+7uqccp^o!XRFskkHoV}wQSTfN@L86<5N8`6x_S{3=Er^FgH9zD;&9|3uszd|@( zJA)u);Ku<;dD*Bf-Z=WTu|RO_xM}+}FHhUNZ=`luB!7d0}NX!MZ$uA9=qPbJyxR z{mSk~r(D)z`g5H;TIxFUf_@Z#K1O(P*|gtKvOW$MOB+B^n{Oe=RW^Wbcfk^PWB@ZU zXH5NfPWo%{P6eWOje{eEEoRyQk*u{6zAZ*ahkYKC_PWm&PV~ zK|2W7*RGkXB@FI5jbT~WTfdkKqIUF{&#&P7>|cn?qb!zk&NE9&8mq75Nx)mgn+Nj} z0FqtFlt#n=IzXuJ%=y2r4jR@=BiTNA-Lymk%tWU2d>a6J8 zfs~e6hd?(P^aMqj;PhN&yuW28r{GdSo`^S}-Me+jlJhtXH>U%)pMbb5EJ<+E)j4^+#HD17-P1&A&Z)SD-&9;@ZSQ2W_AB zN`z^zm+{maBJHHjTX}dtEskcK116)q2V% z>NzzNt%?E|>`6O#U={Sh=8wbrRhs+j=7y`YR-#Ls5*aDSpLwA^svjQn*GUww#i@~p zi`9*v78HP)L3M_{^DAnH-#*Qf7Xr6G!|s6Kn?>V>-xeQ{5VpI^kf}jSFlzT*0-E)6 z?Ml2+V_aLxd5|XF6}9zU`QC)ERS+1pVRIo$1=3wSB^F?~h<%+}H~&c>y{_1xE(z2R zcP;jbDr80qqsss^nc{z~doxv3jh_$n=uOgQPjQr;zbQaZ<&hdxW{jrP^TCN3DG9}9 ziMg`dICsWAHfovlFpz!hScW@{lxZ^rCnz49Eff1-hiuS-Q1Tc5Z7ng7M_hLf1) zlpJEh8eyjG%9^tPxWGO0Lb$}U^ZzpUivWS!uctmN@(nH4O_ zZg!EQ4zxcko*1>$p-VgDLF>|=-l_^|QX2k12M;Pc)Y*-_b?wr?L931E?{||$l=ZJ; z>@?rcz3V9}6k&86RJBc*>86Vz9{AOSVb^9`_ zpkFY3S+v^zUBj!j8?8SaiPmeg-1Nqb^H#MNu?u9$_%RuzA9-+bo^OVJc!m$FI_(EKUX%SSa7jh*& zDFYZ!**XiC-kEyjpaoY3mpAM;h*z58M8{atD-8Nem<*g0}2S<>pcn^c(NHCgoalFo|Gk)OjcEG9L}d45fw zrtEykU78Hsbgo8x@dCo%vZ;4J)YpqW8#&LZ->n#6TCb_5mBc)Fzcu!1!ikuH4nOY~ zc)jB7d0RJdR(Z?E5vf;b5D|T*S+r#z1D<$-7 z#|6p*DHR8t%H$T_AdC|fIAK{Ejkax9M~&P)`j&8ov)i@ui6_gUZQ0YLWo-j<9Pb*p z?80~v{1sHF@sVx5Y;LuwN#l{a*ly4(&-5^zJxw|1oectjjq#tLy}@#GW>jpf?yx z!Y;IPPoSTym1MX}ENaIut`zLk%nQDZtMd95;uroaWf!w^dpq7ixZ7e3@skuNPR-0PD;<2tSwwJy`vh|vh`S|40b zf6^+gR39Lh=Jn!C2_K+lS&bg^%sG4}`sRt(V}{`pl1U_kL>r4Ul6@1o%Rs4eb5G^E z{-eoXr7n%L2^jQqjW_`dmRspa&DJbt8$26-M`Y5F1IrCI zL^LNSQT81|s1ccHbi<-o=%tR!c+pryj?~w^QnpVFd+S3fJEdFNtqxRBw`fDFu(Ete z5k)K1G=(`kPC_RBDhpY97K)l{Qt#sLA2qS7TbW8_rH*~to#j=5`rjMK9!FTa(i#4%O6I7V+of0!`U>zW0S8euz+&>T!z;pm)0tttuZ=p*Ste z{rBsTFh|12y8!IdJc<5+-{fP_wN`{W`|YysgdcV!BDQV?+29?2_MQSW3;C0?c-ldv z7^n}rQrFp)6pDsx#9CrVk&mb0z)-lM@}zfS$7-RpOdahaT|dDyTH4Mc$RT`mNi?=1$!AQq>j{eBb>Ianb+s`+9d$MBtbzV@- z+@&urD;yaz?_Tf?a)|o2Nr5-DyX%!#?4ork30U4HF$1ThS)jGc+EW z=c-Voe(|2D65Kkzkb7KO$Q@Hy56sQh+eU87*ZLx}Mo!O@`gT#_3Qcx19bM4#sLOpY z;*Q!qvURoRs$_nAQQwl`4{Ofwcl@U*f~Bgb)%X+QvH?HQi%@4`%V{h%rAp0%Sw5Xc z{Hf(T$3Ooj9Mar*K&`=P`Fr)#UxJk{{wvd`d7}7N4opMy>N>R@|CXq0r81+jEScAc-Pd`ZM{2*I*m?fvKbF)@KJ#95lUX=o(MsT_T$HsYno zTEF}d*EOE%x(WaD&+TU=eR?PNath_1S?wto?nf?tlRKCR$S5x{B=%pTIvnHpw4@^(fdC6e^$7v?MuJu z{KbovIv5KML;Uz6XI;3!VHxU#6BUCTWYjjc=AS!SpX}TjHODq;qu|1{rKOX_>lSFF z&sb(Fws_U7s?A&r7H|0dGxOD={wa1^F*7xr&%V04y8L>k`$x5#f0i)(2Oe?>ipD!O zSy`)}l$mRkzF3SU%U*F{OFge=Kib8J}~z#>u2y5u{%q8CM&k@{kl5QCNDyu_`!$mzxI7IEiqrp6L|b#`|N(O z0)`7OvWzCn&skG`XU_JibA^^VCfc3_t&Il)n|)Ss>v*ldXJ6l>e#Yx}ok54BarWLn zZ}@Kh+0hK%_QSAXCENDscfX=)KeeAsTUu)`0nHT;ZaoYVhnRw%Qz%FQ-X8zi?|CtV To$p_h4l>-+)z4*}Q$iB}<4LV< literal 0 HcmV?d00001 diff --git a/en/readme/figures/en-us_image_0000001115748088.png b/en/readme/figures/en-us_image_0000001115748088.png deleted file mode 100644 index 450e1fd449945553559a9b9e45b0967d7c629f66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20125 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

$glXdC*Aml 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 -- GitLab