From 6cc4f766f7d96d8d4b0886cdf3d0ab6d26eedb57 Mon Sep 17 00:00:00 2001 From: DUCHATEAU FABIEN <fabien.duchateau@univ-lyon1.fr> Date: Thu, 5 Sep 2019 13:15:14 +0200 Subject: [PATCH] minor text modification --- paper.md | 8 ++++---- paper.pdf | Bin 4329063 -> 4329201 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/paper.md b/paper.md index 5b489de..ec8679c 100644 --- a/paper.md +++ b/paper.md @@ -14,7 +14,7 @@ authors: orcid: 0000-0003-2039-3481 affiliation: 1 affiliations: - - name: LIRIS, UMR5205 Université Claude Bernard Lyon 1, Lyon, France + - name: LIRIS UMR5205, Université Claude Bernard Lyon 1, Lyon, France index: 1 date: 11 August 2019 bibliography: paper.bib @@ -26,7 +26,7 @@ When studying geographical areas such as neighborhoods, it is necessary to colle For instance, social science researchers study the relationship between citizens and their living area [@preteceille2009segregation;@authier2008citadins] or how they describe their neighborhood [@airbnb2017]. Computer science researchers are interested in recommending the most relevant neighborhood when buying a house [@RealEstate2013], in predicting price and types of neighborhoods [@tang2015neighborhood] or in detecting similar areas between different cities [@le2015soho]. National institutions (e.g., Open Data initiatives, INSEE in France) may produce data about neighborhoods, but they are usually spread in heterogenous files (databases, spreadsheets). Initiatives such as DataFrance [@datafrance] enable their visualization on a map, but their authors do not share collected data. -Thus, researchers have to manually collect and integrate raw data from national institutions, a challenging issue refered to as `data integration` [@christen2012data]. Although some tools such as OpenRefine or Talend facilitates this integration, they require expert knowledge and programming skills. +Thus, researchers have to manually collect and integrate raw data from national institutions, a challenging issue refered to as `data integration` [@christen2012data]. Although some tools such as OpenRefine or Talend facilitates this integration, they require expert knowledge and programming skills. Besides, spatial queries (e.g., neighborhoods located within a close distance), which are useful in a research context, are usually not directly available. The French administration provides data about IRIS [@insee-iris], a small division unit of the national territory for statistical purposes (mostly with the same number of residents, thus mainly small-sized in cities and wider in rural areas). To ease the exploitation of IRIS, we propose the package Mongiris, which includes integrated data about these neighborhoods (IRIS) and an API for manipulating them. @@ -36,12 +36,12 @@ The Python package is composed of two modules: integration and API. The `integration module` is responsible for extracting information from data sources. The module currently supports spreadsheets produced by [INSEE](https://www.insee.fr/). Since data evolve (e.g., statistics from INSEE are updated every few years), the integration module may be run. Note that new data may be stored in different database or collections so that the evolution can be studied. -For most users, there is no need to use the integration module since the dump of the database is provided. It is mainly based on INSEE files from 2014 and 2016. +For most users, there is no need to use the integration module since a recent dump of the database is provided. It is mainly based on INSEE files from 2014 and 2016. The current dump contains roughly 37,000 IRIS with 375 indicators and 12,800 IRIS with 640 indicators. <!-- {362: 36530, 650: 11738, 627: 1057, 385: 79} --> The `API module` includes common operations such as searching for an IRIS (by IRIS code or according to any field value), inserting, updating or deleting an IRIS. -It also provides geospatial operations useful in a research context: get IRIS given coordinates, get all adjacent or close IRIS from a given IRIS, find all IRIS in a given area, etc. +It also provides geospatial operations: get IRIS from coordinates, get all adjacent or close IRIS from a given IRIS, find all IRIS in a given area, etc. The Mongiris package is currently used in Mapiris, a tool for visualizing and searching for IRIS. diff --git a/paper.pdf b/paper.pdf index e842848952959a356ffff863df8aa0a5d7e08b2d..d4c30ffffb7e54cdf5675a481015adebe4783b2e 100644 GIT binary patch delta 10977 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 C$23m> delta 10815 zcmajiLv-Ko6EE=Cwr$(CZ8dIex5+1LY&(t7Uu@g9ZKq+w`#tyk7k76Tuf?46ENA9< z&s}Z=#7RyBL;^Jg2U+@6p%^U?rYE1g(Td&urh6-=-NZ))<}@~zxyn*zKEi!nsl_l2 zPBVuwZiJQKQFgL&;%KSpHsOvQ6#nSA^H#tmAZ7b-t^EqS)3e$0dgQ1htDjlU#5?yP znQ~;6giFIvFErN_b-i)Aa~JN)_p)0idi6xZY~HbPp*2LiajAt4G{6EQ!Qt#KMJ*ws z%(=NAE~aB|JKMna$H}L2Pp7tRij{osNmQI7BcFlnTR)Y;(NCkaK8n?Uk1DBmZhEDe zZwym*+k+W&oRK`xj`cH*3iFL|PwfhoMqdAfHr5`UR?nD*k;jEdNMGLO+R}K(qsmpz zC9qpnvlg*ep;_>(3}^u|F3+qCf#~ZWtGD^Gs}40v=&JYgB8g6`f~|LGmuIJh8+C&) z-)S@30~0G>=pZSGb3}>MKe1o6g?=53BES51;FUhKK+F{_^u$?BXVLSY!zR}nm}Z`j zC5dk_e#bO7=Q*~OW!!gdx6{me1vlebmK|?jl$D1Ah&Q`hHT&;?N0o}j2A74+n!8QA zdbjKd@(%&e?x6d=t^=~Fk!?R)K>mJ_I{Z*&`FEBot;Wol*&!^S!lYUf{<tD%itCS- z^TKH@`e+6Y>BPg-Rx1e6H`^y<CzDE_;Huwqid+H+e~`FrxOU$9yiB$60CRq6=AY@m zMf+l$irHg`UZ#Zr9I~`o>h|E)6T#r_+e|BW6lUz`MQGkB%nS-eueZ+0{g#d>6@#wi zZ&fMTq5Wvue<A6(x#E<{4<fJTd}3HJxVHP)ymsxJ+<074+StaBV$__X4qVJ-S+e6k z2PGZ6WLf;A9CHbMoDRN!br4$e3O4c@n`vpJ>?81v!w$j$#NMBRVQ9_l#I+@KJR)JN z0yEYT7O3D8oLHe3`M+&B<X``t8t-zm>0CWw>EbKO@E^$K`5mI<d<_1#tgL)nxWRKe zpp5O2m6Dn9d6dAkk|6a%t9ZBrdI_$GmN3<llHlFcFx+hLpBlMcDh6C>`Tn<&&&J7e zqH2MAOX<8ppc8?pYkv~qO4hrlpSJynPM>#d7WV_1sC6KpSOUV(19CO~kBIZ-0X8#S zIC{R?x%h~BAynrZFmkXO(+PpJp!^^m><Qa=q@>x`b~q^<Y8@mjVsNL;c&9)(1y86{ z>IyPeIo!tE9yTi+K^LU<Ov(i>n^7VQngttO1q{p|K;)*T%YV+rf7NzsGAUT*Sxu9u z*nR>yVAztJ&cV8!Ba8+j=M>5X#l`{(D=-R}jL-NwVqt@YGJA>cHufA00gB5oGwum= zg-9N>fi=@G*K(<IZY$>_QfY{9tQE^>ID`d3M3|dnc8iBMaYvz=%^|y(4_(Ve8uHrF z6gObXz`MuuA7O40z0qw~+biB_<c711O#}<%qn=^&xQ+m-ltKf8w9v2s6S!7A322zb zeS)HMuFvpRw_SLk#9%mDTzU2SElxOhsDA%rWX5^>kNXQ^)=A(!WE#&1iMXpXy<V$3 z0tSrYfm2`PH23b0v35EAu-yMFr#RfdPy=E91MKFp>LZSEgPj{SU6>5m@NhRgRX6j= zo*XBV=>o;Pq#VI8heHTkS3}VD`#enJn($I}E6S1O+#hqI%7=9YUExEi_L57B+zk^s zY2tUjWoDl^Aw{^U)x-Kj;jCD?j;RWrDOS!;uqRjwp_pkUS~%&OEXf;0A8ncTnEM9J z0tOctJUu@eGrs((S;-7~(nPz2f2Wn;Y(T<ik41GtuaaJgkje&s*PD%FA|1|zUPv^C zQl_!u+Yz>q^!In(-N{s+K@T}zl>VuDSC=sNyAJ#HKOWQQ{`<E$dt!x%+MquzTByq} zVi4p=i2^y*mFwff;QVnpmL;|3vJ!X(sDRm}v$abWt$q{E9CHY_5biW5p7t154_RQn zxhH==G;t^EO9j|MnXT(4(lxkg)e*{BDn|G*ub8LImTty;n1Y)RxRFsf_b9eC^hIR% z7yTD+>91!w|2EX&lNwnc*ehr0g37(M0$rX#%cyN;I}0%1_x6xoeH2-eoZ)R(dr+sH zhN|b#s?bMjvMmQSgzpfQ-jPLDxR_2}GMJ*7&ZfPgHs6VPCw7n1%ZfUxFxA|Avx;m# z#x$=Lq@fI!Y=^md_r4Qvjeg5Fb;<C3*kIG(J~#T2z^_4W7pOi8_mk_fYw=7VuN#~= zr?`2C)C#^gFen5jF6C<b_;p)47qFrBYGJ-aU=6N4Zk2~`WmgqimgIm|n@S^LPZPv_ zL1H`|QegJzSVX)G=8aDE7F+rI{hU0eZ4Kfvw>dezZz8Uj&7`s%!DO?Yjt6Fn`kpB) zp|%z6UFa7r$zeDTS91%hD%Tx+9sMYxm74~j4oT&c`v-WqzuR{O6I=@r1~S!(02)6P zl;pRbg!l2o$g#n9FwJgHB_jNGwo@C;{y$8^Eff|><{ekGJ`RmcrpHCoaN`P_1$S_Q z;S;`Q@WnzZ1GNw;joQTs3*_;#B)`x{m=|Bu7;d@SZVBPeodyrhoJ;#Lj=o|9okR*t z|DwW$u0`hE9#CQM+`c-?1O89WW3Och;^qj0Yl;aA<)m3owqs!QJq#DvMH}e@a#r#I z;sOcDxv<<F*(@+q`CVN>yE%zQi`sbSoKu{43X|UezZv961^<s{)cg%v)(_8Qncak9 zo(q6SamO&?FKL}`K8-+4p|Fj<S>b_$I6N`n2O*Vuk&rvFG);C36e4s6G<Twvj^}*a zh8)b6oii=*?M=E>WwofDyB)_f4LvL=G~Kme@L7>_+jKwNDmT%OOJh%0oVLfot_v9a z(PdiH(12|z_FuJkR<kz^E;`+4o;-#eDO&PC)Nx?m1|<SN1YgSzR!s(inmzO!;lC7H zpCx?p7F#2UgHmo@V9a0Pk8x2GJD?6TXbUec7Wx~4%#J@267u6Bn8LbKEF?0j{x+w$ z<!8U{-YuV!T3+pY1E~|{Kc&88$B+AXcZ5P7FRA9?IC++d>Cbx(PuIJ2ER=?(T53<I z>_K$p#34lcB@Mge(0CWP=f+K8w}Z$*9wiMxDYr(i`J?O&Pbo|zH;_Rcx}*-xa+IaC zyA5~*{I7d9lMUf%p*XmB{uh({brjtXc#uFb>6C6}6=^5wX*riB*JC}m`R-x<Dk#y$ z@IR(DKg;ZoM`-xbxGM))SP3%tz~1oq!!ee<F;qmAgOREIYw^`$)38*YH3!V;D2j0Y zya*|}A&zX?WlJT7WCxTnQrj&StGu{?m5#dW^&<oNRFd{1g2tsq9}S?j_8c3?JFv`2 zv=wb~Xj@({&TmiDiT}Y{xcJISr{(1F<*ZOLu=?07(N-!~`O2v~&MLkBBZ5nD<S0Lz z6tl0jQzVr~>DZ@y_i7EfuX<{}dZZ4D(Rks7gUCZ{Yj#hLT$bLcp#p&aY_~4#ghGr9 zMe|Ne`Y_9>6bRK5rvYN>&IUMe50@lZVC#jDyGeD}1L!7{wN15>Dj~!l`UI%TNL(BQ z3H&G3=?H8~gVM}T%}|RgTj?0+Sfdf<)mn}or|krY)X$q&G*61n^|atz-7)Ah#&5|+ zx)Jq%Rxpy*7o{qbN(zXD!%l#qd2VzT5?$)jnXl@<zMP$Xk^s_y!A?Ss8&6x{)MH^X zV@*r)Rz)35Tc+=7ofS8dsVrtxQ5UDaeT@YIlV`QIYkMMaUSi5S${oTmPMWFz@tt7Z zImfG(e`v(N`EJivNJ42F3xK`3pf@Rp86DXSnh-|LnMm73#n?s%8BCoFXT~;Q&e!u2 zHpwaJuu)cskpsfD*Vp1F&Nc^!<8;>lb#4CLVvP@Uw*^y2S8{#hzR1Z@7%gL}?u7W8 zRS{JZijlgt7q|#nD@Z|2<_4>UqKPkO5kIl@=doJWf9u-Cj<5sem?*P|EBGOk@RMkL z|IrZ1++kRWhFxOahEEDNyX)@@q3|h%r`6gcwjYeAgA9OY96H8W4IlWZ9LCA2XrZy9 zL_&dHRnU+CyBmrgGYBNB$UYnmC-0r24v+KZHTL~@V<urAW@Ehkhcycuh3FuNXN<{@ zTD+PqeK`frEx3a$dwWIj-op$-7v$8eY1Ero8lq0*2UNqeL^xtzrvoFXze%}Y3dGER zok(sjN&v9C@Iph?0q`<HON~+#(QDpCq!QO!;=d%XvSGNZUnf!*|Dr)Md=E`g#%;Sq zmW#^N3P$H3Fv2}-k6_g0%u9)jB_#Si^8T|l+eACqYBTS8bG2$NyjzIG=Esc=-D{oY z&2Mh5I<SFE0bce%Dn;OW-FQpZ8rp-{7{B+WWdoRd5JIm&`^SWl5t**p+Gk^|c)ZE3 zhd8H4JOF(Z@iEK&63q-N^X=TsP5C1=A-eO)iKW%Ft)S|)G;(QkFl!c(Mg=wJZEC;Y zpc+HphDJFrC45K}k%o$Q^wfEfkJ^2}wJJ;?;r05CEa|3WsOEM`#2WTuZQwOFdIJ}y zvlz(O7f8&sL_lb$*wsRPbUHuNrxe+JJFU1RAJ}dg=q9`iyo(E?PC1!qm_GQS%;GuC zg-uGhkw+k?SZCjnu*8bqbype`xpPq?8bk?4xvXWXY{shA2PYmDzIOLO1u2{se6UfG z`D^Z3k46po@wb!Ml?}Wn`ehccWBNYTvxrq~r*qX~M@GUpM{e$RacC$BAFA#BX5XH= z{>{_gSEi4tYG~jlzo`?YD6CvEcPtk2+kl`$^Py{7)XIP?tfP1d{FYdu{XU{@xUMw% z=v%!CSa~qLJs6vSMKBs!jq4lf)6s=d2m)$20xCEN1PCMu6bLj33<xX;90)uJ0tjLY z0xA-I7I46W7BEvYtEmXiKBc(Qjm4iMjWcb|JBDM(<*#PBPE#mnB0oL%Z3iEPcqCF2 zs&<r|Kj$Dj9uu9J0^MH(ZI5wJSBfLa;GSuUGMP#!QK0e~HGtS9_gH_=yOZFRI=M6; z$<msVD1WEwv{Cp41z@#v@8hiCDQjKscfjgK0zNbfL-UI@x;4sq5r$yB;v2a(59dx( z_eNG=4>&VrpjkCiWmep8r(H6O6V>TQ>ree~KBlHO&9~Nkikqy@HHA26%yhMx^uIeU zux@~-BiWxc9;rUxEP7U#two4vcU{A7v{{Sa6DCHiPs6?_2$=A28k{>UZSQPY>!4IS z0?iwOEqcQY-#w1=FIaDW66fP%24$}oBXr@zSG#-YyHE#n%GRa*>Cf*djcqcIZ^~t6 z+6=G%Ej#2K(jVrR>Q70TOJH(J(cTRkyP|kwpVcs;XZ7dm+C`_<3V*QW4sNm;jcsFg zzVZ@AclnXiF{36sGk0#D`5f-=+1%YBEf6`w8jyfQ>H6^KMl}SN2E>Jq-Ybhy^hLiT zt9TZQ*^Dmwu55>}SD1<tJfp!@wQnQy65Izeaw_heaaOlXkt;Q%wEY?!;P|7PK&V~Y zCxT4X`+jq&=Xq7gI1t7w5$O&DUthtlJd0eG7o&QA1z;&wxGIA8xe@13%rqaB0X_^K z#mLswmb=t6ZXN*weHjrBkW9omG7-KLY92Tz5uCSO6>Qsz7~j^n(~QHOpvUI=d6w>R zLR=6Tjzg1-8|7IRpw5-<s8*nw6$M*}ZED|4A8GW#Xj99CwBh+ZL#_XWm)z6$Ghso$ znNL_h=;qLpO9_X&Ez)a(g|H2Z0jkU}Tr+EtgyWg^{gWsUx$B;?MK|_Rg*`zd^K#Ab zFE330dUbNYle`HItB|`!nkyf;LQx_$POfSb(yF~z|7V!OvRTu#MH=PZtDU(wDpoEs zCQkekO`nhfHY3q1!=@f7Kj&$IH#bmwE*d)$AAbkOkfdvc)M{F7&nLlW0o;3SuE81^ z8IqMr)n<uUh4c@@*zOdru~{;^q-jll^eg!AhmnsYS|&j;cFNa6|GA;if!vYk)PP1J z-7lf~R>(deynW`p=Mfc6Tz{9y_Un6FVe*L8%Gw?pdBv*kB+)!vFMotk<AmW!1q|Mm zhq4a~tYI~(yv!{tVUOGMD?o%$E)xD5iGX$d`d?6ML0$1K#Jyg)Cxl&iX3gFD?yw+h z0h=2(#w-2>$)<PtppE#Yvs7OxGu=2t7STZ}s%uhh{V$@jwxHUHe$*z}*H|11qR?By zh%f5l(8_hMJw-v4l?UX48yhbX$qDtI;`7AfkIpqs*qY?Zz<?ACAz((rjz(1y7m{S0 zLC6R`mFNW$<=JqLK8+SdrMCye2Tc<kme)M=A5^EF7NIqu$$Fc0r)8nJYkQmkH(m}g z0lxokh7!8oZAh!=Qw$pog~~nEZC1|IIfu4IrHf}X^c-edrE?a1a!YhwF3b!&8p@&p zHm%0IHxzEJ93%F<4^Zs8L^vbiolX8mbty27QGlfPCk@%0(IKOS*s=8i_5<b}oc(?J zsmnJ5TR-9|o7Z#7xUDu%Oq0hJhF8df9Jd@RqSE<-yOhS^mZ!o9%s{89Dxtf;BN(p# z;NN7~UjUyt-#GB1nqE#*p{@%1NjyT-Dv*Maj^MJCX$mNs0q)wpW3S%4je>ns^y~aT zSS}}1Q~oA~UJv%d(hGEo>rrPUrx%XAiq)QgUykM^T>exn#80HVB#i%!$awOJcT4MX zg4k^Nx=dHJ2fg^acSTRz_`)v~7Y(X5g7J42YUCLGqlrmJhZ|?!+B)|qIpb{UBx=|1 z{XyQaZN7EmA3zFO%a)iZ&+MOqC`j9*F}Rjz(nlE$MH?jddOSbWm91B=L0$)XFI&%3 zRhjB*dA_1DZnJ`b52<?5*>Na821P|H&E=V{66v?b%8hCwgO#u&LPx1qaETbBMd&U2 zb+y!wXy|HK-djf<2USk2cQA#}c3RP=`?P%+9;oiXQVorgOG`KIby@vYux?7)CTdz| z;ka(-g_dv*uXPPnHu#Pj9TQ=%j_R`G-uunB{kg(j`8#vUowHl;`R;<<FFfcRNae1b zVs9ShYSd52*k&XBaN8Or5M&S(5L6H}5Ofd>5KIs(5Nr?}5L^&E5PT2<5JC_l5MmG# z5K<5_5ONR-5K0g#5NZ$_5LysA5PA>>5JnIt5M~e-5LOU25Oxp_5Ka&-5N;425MB^I z5PlE=5J3<j5MdCJ7TX$802-2q_kV|kr;eiLfec#rJ);Ma?%tiy<LU&C8FEk<a+q?W z)~Hzmj4y^_A(b!vr+@nrhLz@aG<ST!&#iCX@zPo{6zxLj2hS~!WBU@r>cb6sLvydx z7($AB3jg>2q*5tbr7^N4{IBZN+3V4w$>{HzQAH>{xrH8q?OL+hel~!yz6ktARaS<W zLiDd$pPiyQ;IyTRQqWkR)Ea;NY<jEL>+I^fQ}f=wPxsohPcYHy_LkOM+4hb$pLwE4 z*Rd6O`|j_LRXyE`leN3;BbFfN#jeQgz7gxJx(BwLuDU+HeATPYPLc~gE`rrfnX2f5 z-F`Q{1f9DLGdqg@GW_q#=NNcZw($ykWA(^DWoF~{(nGn6l64UxL%*ziqjpJkam0Yw zb`~S)H?6W>m<5HcF!N{Sqn=>L(WC#ox2mNF>DU4Xht`@M)@Pk7@AgY<<sT^)rOPMg z+{*ixn;QS^Ny7iMyu>%P{$o4GC?($m9h8=jE}0;p8OjHCW?=7yLIwDahAiT{B4<S- zc6_s>*`t`~U2N}75&(?0k`~433HnMBl2cxT$q7sQO0@^O4<*V~GaS-fFfofeaP+VJ zuLry?RMGRzCJOD&A;#GC`Y8z0M;Br#GqKN8L%hz)^I(?(G<olTq{Fs6dK?~K{Bsk$ znyzK@vVw+=DT#e0bpS^4gG$p3&EU>>bt!cP%%I54S|A^qeW?jXCC9H5C}C3xggk~< zzESz?<SS^PIH7EA&HOR{JVA*aR>Ntavbvg7p!-crC*JA#o6tG>uEXwD2zAO!FQt!^ z+;OKNXfsQXw7ofa{|AN+Sh@~HjSgF~_2{3}wYg~?j(XRAM-D(|!_Vflok&jG0lwrt zPWB+r0G#0Nt=h}bpqeNyb$$sPKiss82Kq+sQyj5a6VXx=F(DCkz}s>3qwzs{bc6#O z+M$IW>ORxc-j`|QRZ0r7iY*Vx-Z(d$#rgD<sc}XUTX^9UCS23l3sw><SnshKCLFRd zMtE_LR+KvS>=;O?o}L-L4_|6DC^F2qn9L?eXES=gkafOlNt>pq!Xzo9j0L7NhP<jp zO5Q*4jqW8p@RI8;*uFmeVf*l{%wXQs?V74iRx(t42wV{MuAbFmTO{r7Y-)ugukaz% z#WGKW`2C?u_tzy#7$-1O(N(Ctl%IMx2|xK1a2{CvNq~Y`YWowQ5&VtEtcw)-+J9SX zc5-MNNw4cbbNMZ*nacoHzmhWp!}#Xal}xD6{%bQVPsV&QV5=^3Yoa9>j0q}}>Oj#e z%t!|lEt?EYY>xP*57kg%C?V!>HciD=%L28s0yfr4LGe<&C_E95RA^Qj(`O+q+Ty!g z#^T-nH}-&s%vy=RTBQe^bFQYUuHc&T8RB~fH*!=KJ{=Z>eLIjtu}fU9Q$e$C{(nVd zbQrI~CE7$m#9AcU#0MqedD*!+IJmjl+0#)!#0mbNlH)_X7m|<be`{vTz|ehzuRdU< zrq|+UvlJR{Fdui5wim~=&u|-&AZK<?3@KJ*8b4(uiu_T1Pe2b09YPY5;dHTARkK2< zSi#)s=PN`)s42as5`1Z<TAV&jt|`B!0y}v|Jw9fV?Ow)c#xxaXTBa7~Kuj}ag?_0! z4X3r|c(E0at`b99Q6->pO!W$dY5QxM=sgsMaWVve){!x_p0rTnQOnrj8%gO?BDl)n zo9G)hSBNNM+cp>=D;gz_8-5}B8>rQaRd3eGNxy)1lS3jmVi_fFlSH8zGnmq53iBlp zf`MU9NCy$b8U6$LA9)V@%gk>Rm_+hMaEdl;$SXMf*##i49tof*5rd<k0~h8fry`Sr zK_^EWz*3O-7gGxrio?bTXD?o(DO`&-hGrfZdK_jqY{e!9lg1X*#556@Ev<=gN!}h- zfCRQ-RE$J%ToF{klqDrFI+q&MCY>B2^ujM~YIn>P!9Hl!JHY<EkK`CaA(Y=w1GYBE znIQ<n5|>_!z!c!nQnNl)=C*{6DR0fOlCqdR>hzpDGL2h2&WN!wLJ=`#q4G3CXic-^ zik?+L0&78o=@)QAI5^x5C&lZreD{4UHGjwdQL~$h8<U@Qh5h!nGbg<3+`Wwx(?g;h z4GtJEuba>DFj2OH_t0h8>BmRI1e_6?U?sbGX!x7mXaX|L5G*Pt$ZVa%d>YHi#H={j zt)1cb3qN&3V%vV+1m<f!7MBYbJw$yC&b(-Dirq10`E1rd8yw2V@rP<e7P+w77IO5P z(DHB>bQlHL^d;w~M~nWuLlu3&f4OUAu7d74>@mridps<4bk6=ddcQxJk#Dn!qG+rB zhaP%<XaG>&KW%+k2xRKL;Fijvfkz)Xcs0dq_>MC*M1q~dCJ?-zgeR3oN^KI0F@z~< zxT0BQQ4>seiTfdRaQ;ozv;<rE7eV#?^89d)aYuX>uFGy_Y@q^0<=xXbmK6~X<@4b( z<&JkK-D~5;Fpg%bxlH~MPuK8*;js@VMm{lR*AVEXUWxQrGckH%_;^|h7acW>ymUZ$ z_Iy47rx3e+05?j=Y;kpsN9a58Z0ao0Hs>TOxhY+uK$t}1HiIfWRu(qkY8iBTPrWNk zf7idOAi~9+Q6&?yzp%P<++)g7c01Ixm8M8=<}O%CTZT-9O9c%1;$^M6#MHj&cCv^t zM+18fd<INW=Bru<^;y~re<=y9vW_L$JE2D<>65a(M56n@>iiPC^$kv>%s&vEFpJG> z7Y6k{@-;&sM1+N6hl-aaDF6J6fTq8pz4{B+%n~^dJ6|d=wrSRgz=4-aD#O?yWkxO< zfy04!&-U#y#4?XMlMA*kwGrzmyn;qElMi@IXys5}<%ECHIj;|SL5O|nBiT<_#6EJp z9Q0_XjqS_sh@3uN9UZ$#oS#%tShyzi#wL%<d}qC4DdxOYhzQf>nR#`vEFP?6BqbeA zu2ib@8*jPk`(|1;_9Zt?lUR`;pG9k1`Q-<}VViZx7Uy#7$QLbNhd6o<RGr?+y8}M+ z?B1=;)(#Y@{4qM@7scmf1|df>qD&CN*<?Wr&Hu<X2CLP1#%hU0$(DHzF1owshDko; zHGMcgR4L+Y4wHB8Y9l5-^GeUCv6-=px^>jpZ|tMH51zHk9=@r&61Q|-R`|2?ud{}3 zQV!PVdu~T-YTiAPSlgwqv13~>d;*sx&k#VVd2?D~)LGXn&-3IT@9*8G`bN)9e#uv@ zJ<!gF+f02Fk!UW)woqOiK8?jsvsJs3zPhMgK*^=g>%74}(J{iKk5@Fe80GnGL8z=Y z6_3yhfe;gA8F?>NY-5yxaPGKr@QL{!S2(Pg-ehZvyPt%ve~kuSoM6sulz?BCty$!1 zuk-x-m@SqN;0+QK%DUVQB=|+ecc+Rguho(r&e3%RI<|7*Mm|)XTI_Clq|I`SKj@F> z7wtUK$gK)xeD>Hy#&mF$&-|lLA`KFBRvotlK3ZH+Y<zPd3tijTMf&-635p2Q2|2G^ z;P6JQRBptBJt0w8wuY=APk<%tTci?<jd>fYh14GJR+-abD=~rL4oP7NU&>!@Ya5<N zb8+LwonGTY&v{pKk&bBT;IUgtm(6D3!X*<^)-hM~A*o>r1iax;-e`gxeM`H-VTZsP z^nYAAZk}NY=i@0R?8S|846@r;6sjfNoU}mPnER3NX8Hx6c0`Mi9e~`FKrR@y`DWD} zbrUP1N-X^zlpf==nu`&oarq19l7dMn*F^nQC*QqZh&mrRlYiyVxIk0i1vP)@!^RKA zmEz*HgGaRaAZ`_->JPySW-hs@m1x&*W9~W=#`UFsv4-r2#!@K!6~TrFEW+U=dp-fp z4CQk%^vORtC%8x$j{pp`gm6kOmN)g$AK0+!f>)Maa0XO1@wWC?SK)H-QM~Ea&0W%1 z<nm#w>dppeNtlOPW1}|Z+3&a;j>5XrZIsCKmM-_$N$7d5_#HomL?k?QaqtD5V`i6+ zG}a6mhxu6`Av&yTRYKqLFlLA^=vo!wIEv87^RMCO$@Z$7T><<9;`GFmYJQ6JqjlDm zY4B$vRH@Zq(;z7q#-5k507~f_j5;jA`kDf2lmKuo8%Zk+zmNR2JhE`S>6-y1-I==t z%8+bx{{e>ZE`+(cK?%$Hs$U!v|9z{K$FO)akjuy`w4ck|IfZ7u|1t~tH8k-mEg~gT zaBV=G`g@3eLml{IE7`*{U37L~&#;4whT!>a-Y(&XQFlek!+LD@aBq5jtj70w)}wA| zGk&kimhdGJM+yr$zu*T`Mb(m+!k7?R1p<11B+3x}jYrr3Gs_XfByYm4dm4t<(X>*1 zz=DWB1S$S>PqY{v+aQEvP>N9!;(_~Y^ywm?rq-EL4;pX-@}r#`RIy*NjA9fpcoyei zdrN4(BU_b0J$XAp=TKmV;Xoh@$`@6H#s_1-hkG?Z>HVsG{x(s*qRAl7wH_4*Nmb_} z7^Ska<N8?CA#gbVnHzm!eR}**!ikmS8ZF+AmU~Gup>}Tr6E$0?tfJ@Boh9Pxut?p{ zvQu!z1`k{X_@3U@&DZn>I7}`q(2a&mS<5Y`J$LEODH8eN-u|%}_VnG*@$})nb>k{q z5xh|W`28PS?s0LKem0`H`DjehkY&V{A}<8}9qfT7oc~e&doqzero`C~!F3=$o4pHp z!fjTBc<WOuWg+`Iji$K!w@a&_y=;Tq&(4f#gfsx<#maCJD2fk<{A?x+U4$j!Ey~)K z6WSYjr|#KJ|2a7FvmY^Fs_b1=<iNdq7rVxHz_9x;pP%HaE2WH@ZzC3!4VC`u{o(J` z%#7dB!k#p{@wCh%$%i(=$60g*PI1rX?2hC44a&S|^pdW*=Es4p@T=A>=4XoNf#_e& z&rP7m`z`aUf94-z!F^QE@z)8v-vDsba|hhEyc6FNgasA-b5!Ro8VUu#LJ#b8nAN6F zC{e$&6R;Y-&uw<<DalMBlXVZ*45ALyR9PX9I=@V<Y-F4FDVnH^7qVp4?*R{KdMVKm z$DsKUHkq#ZK7?!X`zY;AmAhfT9l2?J27nA2x9b=E8$VHaSMwplQq`RCGsAa$Ntx`) z`?tcfQ<N`$icOSiLK%I}t+kAKOJ`R_bZ|>Pqt77i%OLJ&>R0ktLwVII|KA7pY1hy9 zvU^=xb<52gA`K0fVvlMGfcAv#nQx>~k^~o8Ld{>+>|eP}tB>#JL5GRiTVOxEG$5Hb zCn)z?t2(1)AGTE5ZzpNiz)E;n*Khmh7M~~}6)6}qG*nH7e$Oivi-&ABK4|yy@bZ0Y zMqL8V?OMF|&{#wbY5)f!p8cQNDK-pE$H?i0l*_SZ?*+>X{q0*Vtk{9M#<X>jKReKc zzsw%&Eps(;rRLzD;lHNT<@<zJ415z7{<zwwP6$wEu7u^RL3b#Ja@0PBiyB=PBWwY0 z?70d`(+E)97ly0_XLGB4jB2<t@czRs$}+rEY@|dk<?C-eyK-J=b|dYjT4<r+0gtB$ zjP|b5OP>i!e6hTl?p-=;W;RaLlk;n++}Z|fNR1|oG`tbrxR=kAni1df16HY)9UjqB zw)xeG$$>MJx>UzZyYFbs2fTrg@yI=Ic>lE1yE9$t4IwjA+TERLQcsDAcq`rQw6^?$ z3Rw&8vOJnD(mqb;jtTc5Xp2g3NtK_RqIfzpQSAS*29{ZEH6DtJSmejI6O#AclO7d! z*`9W$(;BzI5^uJ1>Rl(F19@BHrKWAGI7*g@rb$owjC~K@XqS1ZZi;M8%o)=bgQ3QV zY5u5#Pc=4%!I_SIlO}za-e?YA0u9vZTWN}It4Rv~9VP9ESAXdHDptc9i4H3gli~WO zIG<L%V`%gW0`#;~=LLG+ER}*5Xx#x$L-$oyf|AE}0zs#Ph55-)fJ7xKFXM4lqLtzd zBJmMB@zz7r^?mn+fXT`btpFx|^rftIGpX%0{+jJqlE@#gB!~JrVM1TjY%Xi}bgn8& zZ4b*w79O+WDA{=lq?CN2s^NhNFRd0?rW|7*4uY??a*>&+vBr!A`bf&sVDvnr^aU&9 zSy@wCUV}q);_F9dzymFU&cP$vDHD3)?%vI$*$}g)yt+B;{^~qJ1+Av-j8b6k;^tzX zz(gSHW3{oUIiUjVzq*TVb$vkZr&xz@;X?n#lhu!qq2Otj*a<JF87k(jEYqKw>B@#o zr-6Nzi*a$Mw|8j}jC<E4wMB^P>NB3g{mr`(D(ue-*b8+oz<@k^P26dt`_47$FBHXE zk-~)u|F;+qZe>qMKg_$f|Dv1maP^4A6WU8NmWMo~?4Qwdy{^yJ=gbv|a2juc^7HJ< zETTF7Q)cWIt8LL27S9gkS#;uC6J=%Z-29<%gwRd9kO{bsC7C$W=Jj2q@ojQ1QE#Po z%3^Oqx4&kd7Q#kY&|+wX*=CW#+8>V*C<D%QJr-K3+p6eE8Hk%kYBSK7?WXMCuMs1O zf64Wdxp`kU<o8Q7*a^TzHi~99jz?cG?KXLNrBaj*McZlIe#<t`mH4)W6YWA1{+Rjt z4W@1vGkqON!da7-jZ212f{RUppNErAMnaO8U4~yqTv~>QM^b`QT$*2mOz8jn#2A59 z$;#=whYcAAH$U0`E@<Luc~(g?tiU~YCuC+_McY{I0qusYvi<EE?&TagCI<(-S8kkT z9P=e9^F36(7vVt(ibLUS+8b{bx4)4Q@4ggy<!{UgCA;Dh(i%L`;>3Ir1tbKfh!W*u zl!Io5)V{3eD<W443LzJQRX8>p@|)`o_&;sJ0^};ce%fwuH3E{bmSl*zv(Q^=zj#iA zOin{`V02Ln&8~*7k$dqDxqtq*?g00TJP@6(mkz0)kEj<)sb55?kL$7z3Cj%E+6?p9 zlmy2VJ<U{qpvC)bI7%inX{k~sp1+Dawwpoc;+&=XKZWzWdL6=ANNv7QO1@v1d|{k? jy3hCI22ak1qz#ZiDE-q%P$b9@xViWdsHvq@Wf1-kFT&R4 -- GitLab