snapd-devel-2.66.1-0.el8$>oDB [ `&4z>:!@?!0d  7 *6X^h 8P  S  o8        ]^  dt(89x:0@G H p I'X X5Y8 \@| ]wd ^Jibd"e'f*l,tH u0 v    !,Csnapd-devel2.66.10.el8Development files for snapdThis package contains library source intended for building other packages which use import path with github.com/snapcore/snapd prefix.g=Ybuildhw-a64-06.iad2.fedoraproject.org>qFedora ProjectFedora ProjectGPL-3.0-onlyFedora ProjectUnspecifiedhttps://github.com/snapcore/snapdlinuxnoarch ,3: |7f$W k ]/eLN77[%v˔^'!#, !'h_ h n*,P& !J2Y1!;4HF s+ %J /3T  X\PJ+?`I-X!1!b:&6BFX()d}J((%IIx*bM 86:v2 1=w 6_]a7Jz6 {mlpD K |B1HE>.AQq$AY ( BS@8\h9p4R "!Z+ -cJF)qZ4V 5 65A " 2 3#6Y 4 $r vE$:T":$-2=H{" + !v*(j/?:| )rki O.&# M#Y!F' P!8>R,9}   z IK3 \ynd7x};* </ D ! *,>F $jnHw c6"m7 : 'zFj/! #_  \ , F?& T r _p ? I28Dr%9` w"X ` M|1 .pD\R%N Tp$) +XDQg  h h G @<::("FIm%K&^9Y h$-!y [9d$B/;0T 8TE C06B ) +< !?BD^&"L<MA ir X!]vi 04^%cZ0W:M2i 0 ~'<[,1Cry 5q FOL2 w% G <> *CB3,p0}UR*x*{n/%&7 l ]rd23(F $T ?^ NX X^!6 Q    \vV0h !.,;a @ v/<+ N  vZ ±|  ? Et&;4 $ B '_!/?H'7 ]#<4: q%'{$~>o mQh*KIt c  "- T Y>@I8 #~  V*6X+*v c#*w* ;! 41 5 p ' A*- d A!;&5#=yT 3^ 0 bW|3,>8 T4 mdNYP / f e>,8. g  = +Y o;Z(.  09Ap A d0")- ?l3 Ou )  z79D 5 $O# . A  g % vT n[A% "(j+< E O,m }{ s-P  5&S& s (   & *:(U V   fh @$O]l9TUm0( Y { b $  d&V2 s #I,q  < S 7 & b',< b D 3   q %$'  &2kC !g/  Rd v  sV #C6 # ?VrALY!x C!-"9 7 Ge R"#6.*f:.= 1Tz!Hk  Q^ Dr[k F? ? @@x\33 !6( (m{ D#8W [yg%# FN]&")Po$+8 S E#r6 m3@9 @ dV!i`  1 NA / b ,4aL #; XJ 3 X ~sG-Z' 5  9 D h 4b>5I (J>b cb P  }~$" et'>0C%P2Z$E %-@QC&; 11;Y!9 A%4} ~'SmK(= G.!pHt5 8$$>Z fG 4m-YI*' V.H[,A_<&$Gb{ L   FUWK ! #34:'2z 79 $^G O' 5  OeR)?L3 IJ Pq ]+ 2S r >@UsQb#HZEYt}Z $ 6rHzi wK|:E 6 x*iPWm<  :"8k+ y@& K-. _24X-gl(}'"'T5 v*{ATY gFeu{V + 3 yJ"@,B]  aNDKb;5ANU 2Mj" [QAM 4q H "O)! @1 ,e$;71_`-6Q, B%?d;3 J0Kq}ɽU,; m61yLj 9 RDsf]Ta $7{ '65Y9 d %5K&,8a L0(L jO8/&  ["Af-DU7@-G X(',, nYlRA3 oG =f "F9, L)$Y$;P']B YbJB>}396k) a0^G 01Fa^"2p jYSO<Ya9mAJ[ )e',T&  5"l0+ &(2_!(&. ~ m^d+4m M vFh X"A`g 1Ia } i :) 8:, SC #Fr  m2,8 9 ( `ubL*OBfu!#3=uU& c/4 3 O /J1 -Q8tl0@-&b(f,V  B  ]q  b$ Fphg<@41 B B l+p&!.J"p;LEO' %Kq+1Hk CS  "L0L]s+Bq mz@xhiXYef+uK !0!pNv! >Z+> Jf3& J G !Pm Q;u) b  B@b;R,=\bAC{ )##"ITN?h%%x1e3.3.,%h|lQAӉ ѫҬ]]>5=<<N3(-3.}+1Xr#!d!d:3:5:):5:2: 9n9x&{i u t+a )0mA>n82rC A@ CCWG*G.80qAjjjjjn jwI///////G^G np`b`bdE2]?*)E22ED77*3Y5ffffGGGGLH0GGN11&&&%%ښ1z291S0011112K11521 %&&Z&$$%% % %#%%"079Y}oO!)  Ak1k1m^J%} \]Dr[Y% 91n : !V"/| T7VT#U;R2D2S!N)&T2|/ Q6=fAaUayד9v7 !BW *Ntqv !d~D[Wd5`rRWt  iE!%$%\-x DKA큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤g=HgZg=(g=>g=/gZgZgZgZgZgZgZgZgZg=1gZgZg=1gZgZgZgZg=:gZgZgZgZgZgZg=:gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=:gZg=:gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=:gZgZgZgZgZgZgZgZg=:gZgZgZgZgZgZgZg=:gZgZgZgZgZgZgZgZg=:gZgZgZg=>gZgZgZgZgZgZgZgZgZgZgZgZg=>gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=;gZgZg=;gZgZgZgZg=;gZgZgZgZg=;gZgZgZgZgZgZgZgZgZgZg=;gZgZg=;gZgZgZgZgZg=;gZgZgZgZg=;gZgZgZgZgZgZgZgZgZg=;gZgZgZgZgZg=6gZgZgZgZgZgZgZgZgZgZgZg=6gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg==g==gZgZgZgZgZgZgZgZgZgZgZgZgZg==gZgZgZgZg=gZgZgZgZgZg=>gZgZgZg==gZgZgZgZg=gZgZgZgZgZgZgZg==gZgZgZg=gZgZgZgZgZg=;gZgZgZg=>g=>gZgZgZg=>gZgZgZg=>gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=>gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=>gZgZgZgZgZg=>gZgZgZgZgZgZgZgZgZgZg=.gZgZgZgZgZgZg=.gZgZgZg=.gZgZgZgZgZg=.gZgZgZgZgZgZgZgZgZg=/gZgZgZg=/gZgZgZgZgZgZgZgZgZgZgZgZg=/gZgZg=/gZgZgZgZgZgZgZgZgZgZgZgZg=5gZgZg=5gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=5g=5gZgZgZgZgZgZg=5gZg=5gZgZgZgZgZgZgZgZgZgZgZgZgZg=5gZgZgZg=5gZgZgZgZgZgZgZgZgZgZg=5gZgZg=5gZgZg=5gZgZgZgZgZg=5gZgZg=5gZgZgZgZgZg=5gZgZgZgZgZgZgZgZg=:gZgZgZgZgZgZg=1gZgZgZgZgZgZgZgZgZgZgZgZgZgZg=g=9gZgZgZgZgZgZg=/gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=/gZgZg=/gZgZgZgZgZgZgZgZg=0g=/gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=0gZgZgZgZg=0gZgZgZgZgZgZgZg=/gZgZgZgZgZgZgZgZgZgZgZgZgZg=1gZgZgZgZgZg=1gZgZgZgZgZgZgZgZgZgZgZgZg=1gZg=1g=1gZg=1gZgZgZgZgZgZg=1gZgZg=1gZgZg=1g=1gZgZgZgZg=1gZgZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZg=1gZgZg=/gZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZgZg=;gZgZg=;gZgZgZgZgZgZgZg=;gZgZgZgZgZg=gZgZgZgZgZgZgZgZgZgZgZg=>gZgZgZgZgZgZgZgZgZgZgZgZgZg=/gZgZg=HgZc4e39d94add19fbd551236534f4ba14671a73a97df639ef5d11a4255e48a758bf9c679f0c2ea5d9be4927c15fbe81bbdd2d8a6c7c2abb877d3a6b2de943b13d0ba3460d07ebf3f4da4fb8d7f1b0f154888bd1ff9e1df5cce89fd979adb2051f77063b937dd87a100c894ea8d45efc867f6d2f5f875ec74f6d02f93f382ec3f05e0e0ca544d91dec35b073e31b48ef786ed552d866c467c51db69ad3ea28ec6f69f54e72ffd47d112645313d6a89eb73c21ada1ef6054ffcd6e5e571954daa095f364ee020d414691a297f5820a44d85930b43921f5e7d05d68c3e3dcded5f9c49fd5a490873c57aaedb21e56a7bab48253e70939d3110abaed37336c848182d36b24d7dfc697c2c239663346cc4014f1eae4b173b3397f99c385cd4fec9a9cce59d2bb2f8c9875933627f11478ced16af4c2dfef02366318bf51d197cd5e5de313017fc78ee6c9fdb486203661ef21e64dfcb1482a9e161c584bbc780dd890bb6aa8663d242970b59c161b8f779a71d9e89b685939e8951933c3928a4b52390e97442e3498280905630373b2013b2a6d96311b3d11adffaecaa86c006a0c8d7000733c5229b3097d981d74e7981d8bf04c0b08f77937fa8fa76de93875b36795e0cb557062526db10d9e79c5e709f047aa5b69b9af236ebf0457b1d32fc0b5602362c299bef8581070dd6521fe8622a5b12c0176f33984f5725fa1d9cc438e5ebac83f2712c2d63089757ceeb3405ee3161f7e7c1c65779ca349f70e9ad8aee24e6ae92efe8c6c6cdfea555333eb53f8ca399c94d0e580c7ba6582c2353a36353c23f91fe26ed511a0c20688f3907e5eda4db97a5f568952b84f35245ee74e2f1cbab3f2ba3c822c80b30940dcdaaa53205c4d69b7a7e5b91696eeab483bb28e62502292e4b6a7a30f6a41d7e7e8677e99ec18abcc1c30f45b1c3767093f6fa370b21ba97920ffe4c393bc76402611a012456e60875977b88ee886cec3c5aaa9ce270bc0c7ea14aa2bf29398da5c6e8b1d23249f07313f9709b578c3f338be5719c7c14af100d0733a413eae9f9516cf2e38538ec1ffcad5a72c5f793479db578a5269dbcb5732bf4e9a060996763d3ae220581ea78be675eb8b7e967f431f08be31d596211e9ff806b3b6cffdbebcbca4426ab62de1439e6261145855fbdef3e5c0f208ba7db48a6d70e94375fc9ebeb9fdbeab0e0b263ad33a660143e6ffa40c3e68914f56ff0f41c963bdbfa6a4bd1fc7daf670e9428699010e927dfcd032de513f3db391490c3dcd9a7d7ff9e39ddb11dbc97d6a4aa14f439fd5ce9e7f3dbe21def244eb38307f24e6cf57a4fb0557e0a3b6b3fbf9b8348a1b57b5d2dbe26f1f98767ce4e795181ddfca566c23bc9538ff5c9c9b5a4876beca7768e23add1f3a18fdc52ecf139db17c077f0cb8503c3eab7c9a923c763239915a076cb096da39829e782c3ee89177f62248ee42c51c5cda2c406c2006ec6cc255b3c13d43cb6ba911bac8dd94ff16ba43cb326f0be57fa9120b2673d19990d78fe75f921e768d10a245f3cedf7786cce9d73e8d44e1925160b86f1b43a8e59f1a7922e2e79a486b049ee6875e1e0f37bf7973624bff0837455e9b0d2f3b8f4330967c3038218a34a3a1e583117fa3a4b80ea449b380a0e4e7f0dfc27a6f4f754c239091553cda1b4cb9be0bf54c4e4dbc8bac8bcf779a51e71ba12d730429a0c30b325af9f3116fb656b21c670a81363ee2ea99f22a3252415a44ce2afc9d6e46c3c7e3eadcec5fa12244d93b0f81ddbb381b6b2c322bc3311b61cc531c03c392c77f9163d2aa7ad2f9ea2fa10ff5b67f5b3a538795cba65c44fae9434dc358c9ae32cc691062e0db0d3e18c03302a8ec00dbfc9df9343ac9316999482350da4cb7f6472fb3dadba8c9fdb2e632e738210a2be0f3bbee9f511177798792056f215a44d462c9eada14ece164348503a45433c4a312588c06005ddb94ba5b010289a3ce55d92bd7ea1492c1fcaf3c3fa3dde55aa4482e6759df72ab0155974424e39d42fc30c72e792d7ef44e522938d18b8d35a93809269709a4dce6424316adad727814e77f51a2b94847cfe5ce59607d1e9d9fa7dd9962cd747decb45d7235636371d66a6956f15eedd049acd8cdd915a5309a2614d9b714a00341bbb8eac6849e9bc82e5aa2c7cd33d11329825d14080c3420c6564257fbbc195c78b2017ba104ec5005e367930d974ecf201c9d026f5c688a79929b71c62e165fa712d952ed45f0a664c05e1f2f733af70e73b02d2879d029a0cbc794ead63c09ac527575af5a7e07b1dfc86d28c93399ac7a7e29cb0e68b6451ad15d2a443510ed75ce411e2d9112983e158bbdb40efc5ec08fe24ff1126e8edb59e6f83a7fb87d9a7cc96ff45e08dae45fb5a9586a99c8679844066c73d777a6db1e440a3a5e603ad6eca1d4b57640713c457c8ebcc035af65a3aeb43bbca0766044af025130c90c8c8479741b26ff4ff4f77d74a806710a00158c794cd12991e8951ade78c55686c344cc53672583c37c1a9a175262e4ad85baa470d297fcc68caed4ef8cdeefe6d07a6215361b92ab235fc6a3a3baddb5aa4a6a587ba7138f1ffe0eed3f12f68888c531858ef660f39ced275bac9dae1881bcb73111c5b0309f05c7331d712ac601cba819aa0e7bf30c42b29a35e430b1dde6270cf3857e454e8c09f0363d910a4d08281df93babe38cb6d92b48e89260feb7bf57a4e9f466f502685bf81cd6be6bcc63f48b46c741bf90ca00474a7117c35dc5823b7729c095ab532f70b4ff589512d583481727ba436904591ecf3ed1b1e6ec4cfebe656e86e3fddd1a9d9f7c93aa85658c6f6020ceed5a627ecda55807bc07c41ca5562534a42cfbcede9380f7a6fa6633cf5f27d2e7e919a35aab39f798f7a432a0b45bec7c83ca903519b0534e1b3f099d4b5c4fe82b2fac181530c31db8bbb0fa726a986544035167532331d55e97c5ea70ffe53277f7a29a9df90738927d58c44c05c8f02a9d2d1e1278e6a65fe5ac7a9bce2de65a08b9c5b93382b5d8fb62acedaa825c97440f1f405506c1f2465848d9fdee27db8c5931cd006cefdeec3cb968c51f8f96715dfbb5197a1dfcc50b88e8e3feba5a23f86eeec76da1fda65a19fce6ab38dc3b2575394aae8e5939349331903abca79758da3c0c9616c8e4b170dc9b2f7ae8d82115ecf8945c4c3585a41e435cbeaded714c6ccbe6321693b6f1c81221946d2445c0b08971556dd3c8ade18db4ed4946a4c4ac35983bedde94bc4f453280c0eb11a510c4215e47329b2ea17820d2825d9db5a86e6e87c1fc5125af7488495fe7bbbe1d154532fb27dfa90816afd6296dada71ac1a17c3452f99ab888cf79155a5c3f1a3de24db698e786930cb6c3a875480fee43159e13c502617b514b29d4dd5b8c7145ee91eff0e8a6d5000a1d0bda643bb99193b9bb2d35d66ae0688c1fe124285ade3a949c9235fba5abfed81111d87cebc7079db795ec857b94db31545494ed7e8b98914d9e504e782d02e3487ad4057f09f73b54674ad1e7215c5be0004c80a0998a72d07c65740c6806ea5d874664c619f5e605be15226cd80b960fd0979c0dee7c0a79fd28bb7ce8147d0c5be2d33c82660761c0feecb4366618ba62190efba37264cf5f8722098f9a71b46e743b47ab42b97af6a4c1651a0dc9063752e29de10a7d82767c321df94b160263eb16e17fe4ba8738fce53041e17aec929b7dbe0f5838f5c113c847ca6a07d403f03b0e34b38e267dbd89f2405778064027e71a905b27aa1e04c5738db2f4624aa0e3fdf7028ac1df2e53014c4278843cd2ab7baca9b322c4f055b7aacd1c82e0fecb151e6c7394a55fae650f433443fe2ca66f444efa802937dcbdbcff6af21d1425b94880f0de24a15f48fe065f876484a7e471bf1cd8c5bccc5f8a01f2d887cdf3243fb0f2a83af850e45df3d6f9564155c2ddad10f2bf5c0521f68ed74d32b9195b6ef2553258029bb29e9767d9557c922937211dc2656f5ab9740d1848ab57df8b7ef5d8b49ef5d54b41421ab7b5eeec5d7cdcb8a46a8ca13e0665aa9fc7b8ec882c4c4a90fc73308b4ef0cc5dff2395b3c77d164cec4dc18a0e04e595daba369fda3d7e08230f77bdf9156af1214f5c67a8bfbb7e7efc7f9e92cabf1af8b7dafbed5a57850f7361baf898e154b67364d7272344f0a0a7f6f9558038a3869cf85af9bf7a3d2eef6401b76e5e7e65c3b233f4feb441cfad345320564c13a3e28326256425c02d874c62ad02ad09c39c5b70c6b431caeb4287223bd54f7899241e51954882f67330764ea93112aff6963cf3a89143fa5a3fa59f15678c4f5b2249db5ea6393ceb1280cefa60583c191779d3d91dbe2f024a699778740586f7896b49ba320454df6533a10ba0ae5e11dfed3027e7c663b03468ec78c059b2f5a68e6d5dfdf7b823fe12e1fe0d8e0cd25d75ac18bdddab6416aed32fe0cf4badf099d1b048fb980685d85fbb35803809c682a787ae7bcef94c3d5e2ff08ab303f3330632c989f569e4a40b6e1ceebf05737dc31bb31ef5651864f650fe1f28626282b1b51029541f7aa13f2cec250f34d689f48dc325e3b7e37f399f7a75b9bd93c918d88755fb7aefc7735276fff4013654518d4bcb63f40f62990674ad287158f32c32a75a8f32515294243b46b2c96f5ec8c4fc733c514b9b63023d7cc8f0cc96222e8e83d2646a64b35d46a0763b13403d8e2b20c0a21b55d06b93fd56e2e74dd69fb2cf8a0730f79460f62b7eb620d727eaae07730674ecde33b9870b6a5e30d8073d283645f9b195301691641c3ab31c65c5af74d71963f5397271767c1710d968102f3d2adb60953107259b5f1658196dd5817104ffd99b03f6abf18c77ab881d16b90cf04a718e1814bc9f0e7d1d07b55d08b747a5b6b79a4eae7027290fcedfa39bad52a49c96dfeccdb5076fe46cbfc2bb2779ecbd39bda287b41c44eab458acdd620d7e9696414468e1889afce88942abdb06f6d34bedd2a4710795338b96ca5e980929ecc5737fef2b6e5d47e2bc1bbcd0db15f2d77ffb1d329191458a6cad0f4cf40cfd6f66b26936504d433479160893931731f7d125c0b4a53d16e39fe45b3dd92e1ebc6c3413436e700e3e88ab1caf22f7ad62f25a84034b7480a2c3ea899c1ce46b4524f63016f4591a084d11ec97aad5a031807e5702ef40a3ff7d4b04fa0a30b2af50e398b3a1d4a0f33be99afecba783daa1db61fb7cbcd39e1e10b709ec6723a7609cbe992e0dbc711bf82c8371e4c15dd2c83eb41cda98fbf445aac57fb9898b619af7a639907c80bbe25920400b13c7e3824bee15a4b8d1b6d4a38bbd1a8defe9881ef59025200fcbd87cbbed312863ddd1d566947a216045b6823c0b0d15b3b75bbe6fd2a23fb0a0e51074137d7029bc344279ab0d4cfb80c45295c8bb43f7962613ae28fd99be1603068754df62b6c523134db159530ad5f03dc75bd325a6a5cd94da4d809a0af9ca5747a0dfc554e80ae2c5865d372ab723d3631c443aba917f8e600056371bf2c89d45deaf8efa007fd87796bc7a342d9a323e79376cdea195ec32f5c69299a54e4e66fc0fae98d11396405bd86fdf330311ecc715ceb9e2d92ac41390323be7ada1de316a3fb9c12e06d8f3ad3971d95d23a1263b2f37c0c9c99fd45b49bbcde4056f7909b9cb326463f31fd8cb9b70c0649109da9f1c7fd1d67b46004af63bd4cfc03a5d8d0ec1251501ffd30c9b7f62dcd2a0d0109b59f5af9961d83fb56d07b3fef9eea8ef8332f056b4e72956fa9a986132c6a51d469ce8a959270b2bd72d3e486a441b3efe5eb719ada8f105e764d705c4d72d4dae4e7896d51f5f415106997a7d70ea9568d52f0562dc605bfef029551b38a9716d54b0dd350c95430631d0273554cc3ca18f401576e6451fdd131384d20aa8855905784f99f8b5e9801a30fd18d68d738a45d89dae95c2e5863c0ed2d4cc260d3d5cd5f7541d0189877de5c9941d6bf4cfb09331d68e9bc1f6095e30e56fce42a15d69eaa20b27c8a73f0cc530c43d5224b73a781ceaae3c51b145569fb9107fe491965a7531379a121cead1f1001551d9623144d38f72cb55e68427e6e9055f4bd246e09bfe6060192d0037f1a85a600d54590bd3d79364a533e4bebc3c9eb91703858ea65f423e15a5e519b162424da5db09aa61ca680cd236aefb05ccecc127b15206f0d7859946db69f5b727552e5d68bda2ebe66816e24f6b22156cdc28991c6131dfc61cbd890c20d69f874de60dd791da54764e5d9df2d5fef27e3d016179dc0d0f3785b55d3945a696f6589aa187c70d177b3d4f78619bf57d64ed525c55c2783c8b47c0bd37d506cc5156a3583b5a2b999497191c291b003a0766dd58d7a870c483597b162a25c853c596abae8f25927292c3fad12f4e78970cddd799f49ec366ef93650b01c83e70c9b3a72751b18c683242494caa1f6c84cb5496798781b8655f5eb9fc5b30dc401988d8375126eb298dd44d8503822851376038fa3aa7764a3662709dcb68f1485f5297aec85e851e56e9074887a48c5b565a6b68f53665a876d9fbcff3e9d50f6a104d2e8cce3fd65eee379b5ebeb4c8c4d5c86a25eff1fc1d401e632f35b9d6f51c26654d1eac92e12d28d413fb8b618bfa4567885a7d223ffeebc421e02a6a6fc6ee21fa2b0c038a69d6e6dd9dd2bcdf0075d0dfe7c853e22253f28685fe91eef4d345596484085a5725f48a74de474315ab2f9889f00a38601c7f4414d001371d7708998af2ecf7cae7e51d7a59199a9b52355383cbb443ddc74bab12d9fe9970603343dc74f431c50a9347b941afeea6df2012223175999280520b4d56778b823ae5cdf7d4b61d9a814a6b6aee02e317a29cdf6241a925a0d6d74a859128d4a42002eff8fee7f735e2b85c27d605f5b31411313010644a0b55ce1351521000864603856fac38c85f4c5e42196f3dc13e238a10adb0b927edace989eb6bc2e4861e32728db4497ca5a0b3e9e84df7e27d416d422004f802acedd61d8fa885cdd29ad076d42ba58848ebeff5fb2c9676e2f32141e27b883368a1b27338b2d35603b2b46a9c02f5a026e5d5e7f3ebb2b321e78c73d023688065acbd10925b7b4b8572771274255cad9687140ef98a637ddbbf5caa3165bccfd5cdbb0ee014181930c0c5d6bcbdd6b3fa583cdfc5eea9233744141801ebd263e46fd205ac738ec9f8909add9e5dbc2ff6263ee3144343e116c4360eba0f981b8937ef6ebe8bf772af19f48d6078ebb6038445545df4dd8e72c7b4e8602f422b058efbe10020655b757ae2939810172536bc781419eeccfc56fb10b70b7a3527bbcf157d269426591548f824fdbd47b18958ef03638d50b6efdf74ab49460d4396c0c15609fd8f2c55df025196970a47a801e2a5447a36cdb39f3ba8af3fef8767e298a11bf743407e351663e9efe728ecfbc23aad62e71ae7e202183392741ac59639c85b202ee65188d5295978f3f0aadff6a7be06c331349ca726e4746c66770f182b05ea4bc58c8941e3bf9a48c2ca65b625d073c2cab86d4c31a17656545ab2e70e7504cd8a0df3ea06177aac944fdd3a9eb16699cfe0581ff5d08281641c29ab19ae479dfbb573f86034791e097eeb4140b0f72ec61b4deb0d9b926b03473b223233922e7423fb448aaa62eb39e47de878ba34c27d660f87e5c8ee4110e4805021db5d2eaca9829be267f5cbf6067411b872fd2a0f6453ff420a5c2bff72a1ca661e9a58c1e0b2f6249376ef87c301c160f10fdfb292583050b0cb39d7629619e1875e8e7d8545af2436ca8075dcc08001d414f7fc0fe67c492d402a250024766afe5c8e600a82c2955b1cb7d22581284e134b8237202badd505e9b6f97a87340725e1b81853952c510139d465547c79859fa2c52bca3134695ee9a238a5bbac8be738e10f08098d444c505f8143a530434a5dd15bb498c9af15d614608416807496622b0fceef2aec17d6106cbdd4118546de0d52385cb6a79a0589b4787df15db2952059047f1ddbfd044fc5d059e6488113c86eec18c224eb650990384592f147f293b6f566115aa6c8b8102f1c7924a12b7790bb84125b76a749eaed931d186b05679302db3329a52c08bfcf1003f21f5cb3ddd3e012161e5179b81609a6c941bc7933371b2eaedf0c2570f94e8905372c33636a4f9182a6249e7b4405caaba2239912b0781842b0f3241c2ae41e12b300fbe4a67a501526700a1e99da5f2cc15946b250a07c1ff649281a7650ce429253eae6457e7c8e5c04cf2ff9602fd4a9e29b7b5b6e6007112155353bd78854a29d7296e8c05a5642c0f13ab717cf4def98c1daf9579089a9cb5672f2c1a5b1d681bd1fbfad9540822fcab8344470b3549ab1e4074688587e56c6c9c5243001a4756a8ca2c5bcce1266cb53109caeaa94fab89e62be2e12173f9024469a7e16501112d609288e71ea1cc5a879e64c0fb55addc821c47af8961e8f85730e3d54e9f5a44a52c27f938f8092b3cb7b6a064323526ab3833f9f7587a0c8fc4a80ecb75550b6157c6ffbbb3db8a15788f3f20ba4cf8fcd708676bbcb0d05efa621bafc0621060c40ea1d1fc0647df9544b5e85257a54b1cd109a2ce1794956a61d4e0d06b0665c13b54dd3b48f98cba53dd1a51a17fb4a2293510c2445a526470ccbae21eb5fe19855b1e2c2942d30b69dfbb66b228c197a0ccb571f013ae85d136eed7758a00c37b3d35108e767ccdfeba8d0fca8eb91c2042391897c6f1efd310fbc6af3d99913e84be7acad589f8510acc74134fd0fd000b1475cb6f713279697a6dd03b43629788065665385d1ad6ce1bfec9d42dac375524c68450ca8a72b3704f50c9e39685347740ff10cb9bf7a31bc5fcba85acebfb94cfd6d2f0dce535f78875b4ba18860b525064c3927bb0c203d3487d0f1d85f702ac0e3655a11c93e7f58b05987c4dd1da4ce2c378f9e6705fba47087cc45c7e64173cb48ce4e6574e963ca4f6bde5873969b55b4afa864d775868ce2ecaac7991671a84187578a8209c39377012512aee6be127495b7e9887abdf7ace93b8468f3e6ef8384eacbe324b7c25b1abe25cf03b32366b371cd28aa8ba57bf4d4741e4f28192f015429ab86f75d2364e8ff09748712d770df4e8026100d6ac37ac819be1e3747efcc3b736322243b4f47af770d63aeba200ca8e931f9fafcb52fa3ac8b33799c305c4c32b846396c906e43d4c6ada271cc9b499f4e4ad43541394f6cd505c8206947a004feb746b824dacbd1de4e658eea202051fb32bed4a7f57f010376728d0a4ea35c2d959ee9a72cda0ee5153a4d4924b14962956d5d995a65a3ea007ccc4b0859ef985b8115df4921db8de80bee69b814df6fa923ccf8ad24419a1ccc9a995e936d58574adc0955a146ca3d55225cc7312054314ec2b1952bbd9dc5f78a1e4fce7bcb7adaa50e071873c509f419148c0c23e22bad38b628b11d5a15ab70821156ed0cc69f89870bf55974460e18bae9caacc150f401bdb2283af2dc125dec1569c8d845a42bea68bb7120779441422300ddfb68ac6412693521971b6d01e2dd39ec0acd146fe59b021029e8534cbcf0428d63014614142f6149c9fa0ba33d007f83617806fe5f48b1c4ec8e711bef01c91f53ea2cdf9aa552672cd63fb0aef79c53bee97ada6b19f7046194966ab42cb9de63fd1dbd28f6f309e7831bc81ddb3874c2af81bb3b076e55decb5291b5caeb0d548519cc3cdd86d922ccaa852709851c69896acea3e31d7bd1735fb396a1cc5557d88975a95690f564d55157606db118bd69506c0361692100366ee453d79badcf8b703eebb1d8c2ac1766ddeede949d924d3f4486276a6fe9f81070686c1115a50504dea902b631705cbc86ade2f1cffa91009bfb395ff14bd4e353a008c18d6a31825f2cf7b23a84727f9bad59a28ba209a708832551929bdfc3d4dbbb3e2e693b2224a83c52a4198124945378a07d0bdb73520199cae05180563a1eec46d2ba0ca18276a4aa491759966d0fbe47513eedec4d220327542744f620078a126f585fdf6de1dc5551736607f2bfef70bbff65fb1ebd4ca95c5b1c7063ae88f5bb14676a7f1c35f7630255a0f2f5f34816fa2333972900bdccdb4fe149ef8c13b58d7996f2b105198d8b7be22d08c7bea945c945c06453a97bb0ce2b08fb28f7893a2a9bdc920c4aa017e3226866222c2c35fdca3a2ca8ce11800a0feec34dc113685597eeab08fd02eb0743acf069514ec494400fc0a05b8adc8603266abaa97632bdd1ac2e30b8d21f7482559c10bb8b2b5c625e87c11c2b760610c289b15c7371076af58c45935ff2a34a87cd45faef70cbd22f4b35cc60e376b4832d4dab55b32e5bb3902ed2826612e9e8850cdf5f26135ec3c28389179fdc795a712cb88103f8296fd02892b6fb2d1ddb09e6a63f7a10cfcc29242166b7cf38da20a255ebcc525a60390e2baa36987c1a703148baf62d06b441f2a9c257d3287b0f4c8584d0f30cdae7f217a7a157cf5e2eb16c7a76af1a8a2a536af0aa6c55fb9fb1dab9972887bdf53fc8a9268c88f1a2f6d4c6e7f3b0fad8d177afa3a3a5f041a6347eadf11c6df7aa208cad7eafff30e3c7fcbdf9c01a64e660b2a99a435d405055ff33a168d8399fb046ca8411616607e5016d9d44909d64cb382c6074876d854ca5f352b32f6f6f916555fcdc3c2ea1cc294867fe3c7c05ceb8095b4f2fe327dce8daf38bc9410357bf1110b6ac369dd934171d51af85519b3667c634b70bb074cb27617a453fc2c0b196de55ec5ccd98e4f8ac444c3ec11fd74a0bb1a38985b3130cfa44744e9fe4ac6f098ae3ae93bce3bfdcfc522e5aee6d4f7e190cd0cf766063f3db2736efed2ca7186725a9f71d8e06870dac0af9084f7d6f91867247a24e472121254ba94d311d960914194bde50d7dd4be6c60bffe7c7e71ef248ee70d04cb28fb76aef3861accf94be1bedec1aef0483601e1636d6c6384f953fef7f1ceb336e87a673440a681c5bcb4e940c76f98f37cabd0906720b6e4ee25c90464f9c162cf59dee92e739ba2c370cf7464ca8a2155c4ab54fffd2ec40bf121d671ed041bc0acbaf4d8367afea0417534040379ef577119597378d8dabc6a3d3a125044e1c645725d2d86e9ee8bee30763c324e3d2e2512f3ac1535217f1df16b1f2545219e41157923b67d8ffb75430d9d02502fd305b0f085cef2db820dbe41e5441c6fd3c7e2e20f89c7a8797534596c1a133d791490dec72d1b7b2758d83c648060177c8098df57d2cac3804270a12f5981a0e3d51b4f14ccbbb59f105f934d0d0f1b00ef76bee7266398e9477f5a74dd3192dd98a3308dddbc473bf76182b95611286efd5388af80a3124981f939c15b82a5dbde99df31f62480bb03771ea4c7cda264e4b2d16f85ab385caa690d31c3600aa15517dded715cc2735c10894cef7aea724d531532f17009ea192648e6e8c4ea951cdefc3b0520255b3ff820d2badca358c5348007b4ba11638d6f72227cec680cb2f4892a4dcab78d787ecc20e5f2fb7a9e0f85aec9e82ac120caed36190f1d9d5e1ce18c2ca9d0b2df98f0f2a23ffbb7bf6553448556bfeca8cde0dad52b10293ad20e1f73f71073449522c84a9ed3ec7f1c60f4b72dc462f6f60c370eea1ad923b0bdc5698303a61112f01e106757788c0109e0b34a6d0540015484742153d5bab7b70c4608ba7f172e054a75a7244fb3439060846becdcce4fa0908a8812fcf23fb96d8c6e79bf935b9e63f647e1846d1dc92abf26f1872d60642a7cfc82e6bc8e937beead6670f7bf064ad8d7988579d85f59e9e87c0743f62e9825eef52cec84812ebdf23a1bc9d26134348115534040ee241ba4804ea04377f5afa69b56f5bccf7508a86b6d5bb15a48ee055845544e55ebda1ded531dea57369750f83983ca1d6069a336692a35ba57313a451094b0fc714f3d4e739295379c9cbebd3d293402fd0e64e1e74cfa80e916a1322c3df1d6233d92f7fc5f3529ccedd2b1f538476206c12ae76b58bd5d0871414b1968cfffad19aeb1b9d62bf67d4907eb8ee2c53140d963309f855120635ff5f459fe1c1257143d73e9ecfcd15e054f95cb9400a081343c7c4bee7d7cff8c700bf4f22c3b9dc7dca670bf8847bb3f058e83c86e24eebad2998788bc9ddd38e15fe8ec9ddffe78da953b20708ae2ea118712f54af9ffd9d4d36a814ec64336ca7c9a791cedd7306c8de13a6aa5c970cc337a33f110a2d483a5e92de28ee9aba18c06453dd76abb12ee837b985bc6b960e654ca4b00d95470055e0ec12a514f11b2d94160fac51d5b5df620695769f7bc1a630c9e244af1a19c3b5b05ce5cd66940a035be8021d9d89cd88d05d3f2aac53d1c25bee53f9ebeed81924a4233c14d973c91b327535d7d5f33ad7e7ccb2e9b5ede2806508bf45d604dee9ea3b4adec627cdd32942e6b7857bdb0d3c2e7be684277602867bde825af29be47ffd5f91df13536a3e0832736779f56e41019cd000890965a133a78863b65925089a065603c3726b48d633494857e0cec13cfccbd0ff47cee1e401faf6fcc333974007035cef993c332af88eb64f352d46868f5acdc04f72f950bb3be08b55dbcb1232fd65b47329d27f7827f1d4b906222dfbd7297e3b4ef1fae9e5cd67e3c10658a6289453ddd747e18b639dd0eeadeed4c943d68965886a6435416835af395c40c647d4eda32cbd0f1470dc350454ee2f94b769debc018ee600e8ec3c9b70f86e312714370b3b1d4364b7678f2da4f42a8251f56b8bac9688eb3c39fccfdeb0b810258f8defc0e638fa056c906f4d78df8d7bda33a85160e359d86be8ae190623412b1ef1a191d398e8081b7c31f95f790f4e8f061bd0b0b8f9d1ed7463a474107e9d587f5890f9e414647eb10d6fd5d9dc818086f460f7cdf8b0ad27744c15cb1eca58d227867f53d4537114506be2adcafbd6d21e1df1d061c3a2b64162fe71ccf1d8099a504fa4611c1452909a0ed775590d436a246daf1fe742ee71a1d54841c1767679798bd49d2b4c48f7679f0d6f1a407130cb1f04d73fa8c450094a4f2c8f34cc7b18d6e419631ff2c493a3a0d987c8350518f0bcc363e4bb5b161b4066744ce308a3a2a35f9bfc92caa965da382d945471647b29a868e39648ee27348b261ba76ed15c94881062bee1b53964110da118b1dd51c536bf0fade53532e239ef35a727ff1cd89865ac48e7d66e878efa5d4885cff35a2eef1b6722d1f525d193dc8fecff838cf972e2e2a394789e95935232051a65b625a4eb7d388d2a90adcbb2b5144b549d127a56340ce9c835472f186d604a070a24079b851cb05eb73e24fe11f2de028a0a85aed51f39bb0dc075d2d103359efca2d6809ea22cd7a06392972846af02dc361423a075ad2dc20ae4d268118c788d6b817dcff8ae05418b39c02c5580962dea8c68d25314cf2114e42b291a390eecba975fb296af32331bf2c84e9c44052127b725a425e5b751bf26a7739e5bc52da51a8080f30234ebaf3c6988a13bff6341177f2fa1fc1a35a04e6815f7beea34f844f3fa1f15c08eb443956e32b7c10532457ae63fc50515561078cf0e826f4e30808442a251a2ed4da78b51ef99730bbc9501d37b04d1afca18ee35ef59fced70f380400aaa25aa688753b76c9654d2214418aa3591a0ab401a2523a58ee515dc0690f856a14cc9275042c11e9a1cc5a31649ce999321c7aaab8998a8db2a26da01c18ef7fc7475cad31b7ce0e316096606cb0f513e3f23bbe03f45a13bf1c1ea2f6f3d9a13f8dd85fb2076c96cc1a7a88438be9feef67bf45e8de6116a36d0fa5165f5e54cf57c4059afbffbea6863e2ceb44356aaf36a4a2cbbab16155a9cd84660c8f300e30c6a72dcb1b647f8a33bce8859fee894ef2337aabe6465700944350a0823c51b021a5f1bfd6fa6f23530a186b878690e196879695e9e97a442a48b9243494f027112771bd75d7509d8e2cb8f3bac3688d7c865203fd5299bbd0be6cc738dcee68fbd795ef823eefb95b50e1e667b96e2b7828780955f2d3db2fcdc6cefe326c87dddd1803b0b2c6f66e1defaafb566fb95890edfd0b2b40e0f13f020a1330a0b70a80dcc5c46b5dd096606cb0f513e3f23bbe03f45a13bf1c1ea2f6f3d9a13f8dd85fb2076c96cc1a21b34e3c7c2dc8900ef8bca379226c7e089b81574d688324e3c76357564e2a178f8cd1632ccffa26ee19ab6170d88c002f895da9dd4b7413ddd9c710b07f7c63ddc848302e236a4ad55ad4a3503c2b65053a619f3dad6cf07285be46e095cac665540e38f9219d8c8ef90b10fc91ddc3a8017f1bd6002872b4c567eaee591cfdc5d3e1a62b4081fa87e3fe0b08f7f757a450175058c2839c789f8e6c95a79b5a7a57309a0804c45ec5bf9918ae50e287ac6fc9d2f0bf8cedec82d4fbdbec09bca2759cb4a1087231b23ead6fe0d2fefd78c91bffe29b6ce9fb509d52d2f6c4a2e95e08339f1de033428ea3d1d696e386b8a500a310d66c1de7d1db65c655d19701b5872e5fb5f011160d7e5765e25919c0d26244ddf5cefc29d65eff7f1ed2b091d7bcb577a72d0d39a667101921e4f3347384fa4adc25e21de6c417e89bcbd441b2e38b6ba2f44e58e2ae4091f6aaec58e5783b921fd90aec15c02a65dc9b29da71e6072e4a4c4b5e959a0df16de4f51cbc2e3204c5349b6f8e9194504fa24c3a8705dc8326871eb365f595dabd9cc098fbd51f5d592fcaf959e53557153e965329b00095c52518a23fca3e02952a0ce9045b0e52116a36fb582d5dad2395b52ca4ba9c60a8069c9f0cf35d871bf528c6ace3b1f825111f5e0ab405d4101ef9c38cd157ad3c39608720c92bd560efdfa8690dad7aeaacf3e14db5b5c13fd4f139621799c9229cbbbc99b0471e802c007663f7520c508e168e049e2abdbabc7dcd57416cb8ebaed2855470ad1af38ed27952850b8334a475746dbea2fc2e578a6eeca130954be7d26a9e84d6f501b22588462e9b55f7ac425ae18d3209ec3ad5c0cce87aa8748840916ace3461d18048220a1a013e09518c62fff28c838ae76eb55a6e7d52eee57f5c0e9649120cace153c3b8fc15d913a81ea576b32b8c8f292e556d6d5f278d724f37616e77fdc64ec87d273e5ba0517867e62d2a9b6027f55f970372a5196c6727d9b3ea1e851dae8ae45cd9201cbf273a06d7084c85fd7d9fbdd8206f6d25a3a94c296ff2751e41fad307f6dcd3dbe4b424300917291ef20514adf3e80c3ede2493e459262825f11622ecc1f7d8a84954b036124d1f3516fc40d5e2c96165e11fe781e501e06cf5439cba99378302cb298a50d1eb3deee42baec006d5917405f7539f89a30dfe742a925f40ef6f25ab75ccc48c904be6c8c98a78725bd022ede5e3c93ec0dfb86fde96ec9b20c17b08ae3c1c46e2b93580850f48d16ddb9f9a317e771e35d8825ee9184f96c512330038744581b6335613ef5672964227b13085bd9acc00acc3850ca5ce6263e53714db38afae7eb309dab25c2c0d78e86e0840873df5990c23df371c0943cdc33fece8ac93a0f55cf604f9b7c4f756ecf12099d7550dfaf49343429ea33be6f0b7f88e9315025c13e14960692d12d9accc80446726c762a69ab530096e910f027ed705b4fc77e14caefd853944de452677e441d39f6d693219d151c4349385965aa996c1426c26269704c6bc73b8e2ef8260438aa506c9f170cfd20ab329db8d33616d7eb0f214983115f0f4d1899e9d0f3fc124bd854f96e24174ff08a7ca51bc15de91afb0e2640d631dc71ab737abb18db698f8f8225668f71f686051f57e533973b46b4f3777665acc6d731d69930c9750789284af998dd655356cd6a2ec99b1d5fec37a1febca8abcd26845bfdb60aa0a1ce01344035fd52ff5bc11d4547ce568b0d9d56de9997d2887486571e6febc7cf1de5156ce2912a78060bcefbaf5c4f25964fe3ee67364743c9d77619e9187b138611929d3366be15e21488541c37d0e11d5b00abe19a74f28dd1da2e18a9b7290626133aade491601a5bde5173c6af6f21cdb5895d0b7d94f457bbd7eeff93b1e37377de9377cc17092642eccd1b58eb67d33bb840990aa8de91753f3a743d1a27b79b9983971291c81354863deb2b777b85a6d9d222bcd4750f4db2920ab71a0527d1d9ee6c016f75dff81f0b0fe75eafe1f21a96341a8dc9f5a4cecc24d6d8b00337a8ce78848a342251dfd99dee994fd06fd8f39423e10a2f4ffe963e10189f66221bb5dbead69b764b8b3616fbfa96b7b5123a5ed276aba2a8eb31a08650b4b5389b73afc7c034b8b972f72f3661fe8c2384398efbe4c2d2fed2753f406deccec210a3d0b52ec07289d49bb64e3a7c2aa4e44f9ea972121d14ddda6ed39bc58da6f52b4726da4d7c2599366448dfc9d524fb5f7e7068ab95e2f155465e29477e39a93cb436d3ce313f3ae63d4928c98da13e8c028fb01607f567c836f24ae97b8e5a461860f3278fe8d099e8b7fc8354dac2239f5b256e7907914251920deb27693d05006f5c2594194f413df85d9c507e1d5f525983e803ce277c3c723f1dc22e63ba04dfd50e64325512bf310aa7d651a84ec251a05501c646d9fa7e9b009d2a79845dd380c147b45be9888b77ea73f17e4ff8355896a5cfc726261bd59d4dd4c9c5c643033b32b8d4d0eb10e9bfdf7fd0bb7f67c05afd733024f6f825d44f5cd1436fdc5ee0150fc9756f631a57caf80af853224c360a83b147db97007ce8aaa1199f6c9943813cc9d57af4982d3a7dfd269ab35a131288819777f4507e742d8ac9fcd76502275c39fbf9d8ca1adae35741cdd74f1ce1b822817099608a5b7a442de64d4392fd67301ca37395bee8aeeeb428aee167035f5c18a7cd63ad4720d3a6fb688e475f18b70117ee777eb705b2129509be1007841068ba3d909c434a6a885619bf3a69e92b80222693edbd01c5a307c9d19417cbba967644163723bf37bbe27faf2105bec9ec90b1db1dc7274dc4f91b3819c27c9c2bc4107ea80252e7135f1585da5beec82f7c543155b21d807b4c3a9df699476465bf57d86f04c8dfeb53b31dcc91b0d13d5ab9f2325b5c92e1fca0a6bc0caa90024d88569a5ba1bb861e919ab54e5dfb4f1b1fb3874702ab8cef2cbf741ccd1e0747e7523fb786d41124fcde5cf65ac05fd67ac9a1255bb6af64cb2b69cac222c8b8da65630975a4bd4cf30b0f23b92290324662af92374482a46d573272755497f2c30f96ec2585e96ef8d0384ee2564cf50030ea858f700df9a42fbfc789c62662921557f5743edd93df2f606080d0e555765e584cadc267b42eb112649f704c072f1a765912b1f70e94250c31df09cedeaea62eb4639834491cce68bf8870155cba2e0a277a5ed883ebc9bddda851cf89d210d0bc75031b77987117691c2a73bce16f7a71ef45bfd659ae31b663a98e257bb739fb7148d260cfa390896882f22afab5f4c9007e25f66be0ac4905cf74aba10f8aa9c23ec35afeed4f4bc60b819d6f5a8eb4ed9694be10fbd95d6dcb5ac2d2f17242c128d1e1fca6255e2c8752556b871d727109a66daec0436a9c6f8f421e4a28bfd08a4c4e24040b329c5d39849f28efe6cdb8b4973f99860d0eb0585065dddf55bf24d40b656c14cd2e1449493ba63d108f0611fd7bca1448af49de3d704c6a18e550e6b896345c81b9337d3c48fd276d1bf3547bb999bdaf6d3079b6fc422b5fab7e2fbc51104853e567b9ea9594c9ac0ee188883caaaf5a931cf0576144ebadf00f48905266597465cfb8edf102374f12e7a385fa665b5682cec037c8acec1729bcafd014653b62fd441d7f2100462d023b519ebcb2b794dd6ecfdb0b369904566dc3917e53024699b095435d25938d3489bf4de8e9131c0d7c2ae4711bc96a5816379240e58d2c3dd38ebf33dae93518afad0d86aa1aec4e3ac8414f936719e9d2306b74dd3e829c829586f363978881475db160fd08d29ce62938b6ea80d58489cee894c886e8e64cc14d3610f78a3d26dc512418448f7542ba8ad2f433bbe0a307311f00b44e28864268b398ced2788c9eccc86395bb08f9f5de6b0859bf71c8d98cd84dbe4bb2ba3608b4a98f1bc6eacd4580c263e7c5d0e59c2f1fcdf2e97648ca4d610ddae8133d22db043b3c22b6f87ca8c679c93501bc4e61c5b8fff3a53d23203241e2893a6aae74cd648368c6d9b0c8fe2e0d0537b361479c8065d8a3f4ec8748e3c7f23e22137117fc35df45a921504b2e15c071fa5da5f79f2f59440ae1d339a1dfa20cdbf46947cba1e6dfaf917c6d20db586ff1af39f301d01d7e8b15ec685c63dc388980b5c1c37db9025579bb0ed4a642a047a6838b415ba6e0c9478dd400a2f51a292cddcf5abc0f8f1da62acd37340cfbdb7f6beff5adca09e4bda5285be254c76ea8eaad96d2d0cde8a554e09f7c59be946c6b4342d1e95cdb369180b1946e6c09d362d8cb4838a2343e9b846c86dc17c3d2035a0ad0f561dac24f182003fb783669e855fec5696fdc663be7647b1718827405371f3ed2eaaac65eee6864f8a9ef737025bd0c052248e7d344d0ebf76bb9d75486594e4d70b25ce7f67d326c77b51224ad8467273f9bd35b0c83d8eda117984c335de9dfc63321328d1c5dac511c8d8a5b001fdf10382914065e0c12a9b622beb078b08aed9bf1ca8bdadee9f4d9d7933eede27d9783ab7d25c069d6f351d7c83a5a687110c2d83a4b395dbb510188de0adb35a6b8abdae24f74ae1e6c0c3cd4dbdb9af2336d551f1fb971efc8197eb40a21a5f84af0ee488eff834dbd0e0d1882fd88f546d417c94dec9160d20ccd9de02696d46b9fcf76e8e579ab4dacb551e1f9db480fef7b0e8ae301f5a823bd9f9cf540a4e1f9c5a726c71396ed7763af5dd1096a09cc22158ffc70f1545a3218f744b65afac8006c7bdc39b50a5afe607c2af73f700b1b0bf49e9e7eb669ddcc140045fbf5a2f5dc1d4a1c495a6d1fe0871e920f0547a94b5dad9434f00d391666b428f059fa82d26fdd7aa2f2d62ca2eca4709b8084e188ef02cf1bf6803ed4142034b19399ce1db92d4bec0830cd4d8297a0a2f4a6a88b423f042d4a507db34a3f00e111714ed9071dc5866da784f9972a26239cfd31426d362840d6af5843d4e4b0b90cfb8857a411336b7aa3385c95e755ea091347b05a48f792c45baf88fb3144a9a8ee8349b6ac1996823ccdfd64759f37812426e7b208cac4cc0a18451c0f94424ddbfb0ccb5a4fed1ae497eb2c363979bf9d145c7564521a1862f6e7cc259a60c9c2db65748ab5a64a7131840fcaab0b2d091241264c14ada7708385df95932b0cbfebd2a7408c16f72f089dbe81f0a39ad9f6df7f114f75a8f544de5b332d5ec5227d976890ae1de48b29821db4f726c73467b6104f8c4539574cc397b1215f51ba7d608df9440e75a4f1e5643f7533c1bcd92ffdbc22c656f14b3f5bb50f35791a38875de50a41e5d8ef3503887112d225a2b240d59a6d5e2a75b16a912c3d5a24dc2e91b018baf6b25ddd82a57eeeb89a876485ab8a1f94ccecd4c34bd0597c2cb3bf8607c83a66441ee495a4c41ed8a0a5135376943754aa09dc9ee05527a1d7884b236d6bf903f15497fc36ecd6a73c0a5b6fbc57eebdca56a08813efe93d5c2e64a4060dbd489a1f13a3c7ff7029cbb87e8d8b9137070e090b151788fa3b3c4b42034c7262563997e8990f356b8d3ce16c8bad75559ee688e1cab5dd325f422598093558a826880b7a1bc3fda704be57f8fdce506f42e92fb481f36008220f12aac5b514a5bb92ede9418242ef9c4b456f06a6a3ddaee60ece8ac8c44f8810f60ea09b9d26340bf298798a43c2e09748630dbb2620de609c10ddddbe9c51984f040c7f3e7f590e961a7bdeaf7c0f34c15785d08359b985448b92b8e7c384b40590696b2546b02236b8ecb627e55b924d2dc5e13ce68296b007a0cb8867c80e4e23f98f958ab58e4b783a49f560f2140109543e155e93e5f979e18f67bf28feaeb6bcc5cd1fe336a36374b4a2e132e4d362ae0a454c307c6497879ca6247032c36dd65b40d8ae667e65249c4fc054bb9093a541f52cc5e2f8c4f3fbc144b76749f1c3da2f0464618ed9cdd08cce1a0ad6980f20655bd6981e9456bdf7646ff5d7e80f34f4f04e9a58dee082da85b6ee9c566720359fa2aa8ff1304e4cdd5dab6cd54f46a338328974639143acd1b4780af2bbda55ce9d7cfd0895bcbc84b8e18481444c3ce2d1e58255e59ac96d7c72092af11b27cd24d93b805eef5221ea82ad0181b46f83dd9c38013918a82a98b8f3abfe59b4e190587db587004e35fc7b36427cfa6cc09757fae9032046cb729bbf750c5192802d31f99c9c38cbf2dcd0446dc53e0425037f7e06c6a7b7a930784288d8a002b2be4e0220ff24e862e38cc9aed1d6c7d0b38859d0da68947e71626e135eee9a5f8f114b9edff1d5492b2b7096c8376410019c715a0370ece9cde97ff024db1b8c6f5dba6ff7aa7a52c7e9183a7f4e88c02f94a4bfb7ed64e243cb9508fe7ade244b8364cd546a81d5ad6d1de9b935e1c1a7dfdd872ee49d67bcd836029bcdaebc901b8e0b7d4ce2582952ee9566b98dda18343b7a8f7396b75c09238b43eb32079da03d65b2f3951d7b2c38818aa09d51f7e6258d79d6baf1f193e437aaf7ec2179cab9e98e3e11bf79c4e88d78a3b5fee93eb0e9835510f875218149681f962a8144212d99c68885a2c20e33331a64a34de82bda39f664ed50153cc95654cc24c53da0cc5c3133592c8d32c68eacefbb452fe579c31337821b21b2913ca9ecc12a66f32ecd54b2ae8f40a617970783ccadd562a02d0f5146882fdb8d8ea886ad4aff96c3d20b783ebc5b50f712422412183c1c12991a8df58afb422c9dc0e51c12c45e10fc539d07e799e2ee5dfac1e78a341a1eaa00438b74048cc81efc862fd60112142617bd818c21183ee78c460974a1fb11a71d445686c4a460a1ec742234c2d8f689bb9b4324297fa3b9d151c8f78072887e0e30aed957c7619f2f8bc08351406ebf1dee484483204a54333a16fff55424cb10ea0bab41caa1bd2d6c749f313f8ae4cfbe924e48cb04bfdec86008918308b5eef53c733212017ca44f78a69154e29c5aa16d63f7ae5313cdb589425889737386fa5e60561b7b05c1dcf6939f176faf9fe79209c7f35ef341dee278a3598528e6fbc13f6a5df4ae85e2632fb5a620d8157d1226470db442c175d427cebdf3c09b274046575363b2efc473519fca73b75f03b2c399f329d9da42686f1af61e84a98f6566d076116cf375a524346f81c2e18ea391a8bb9c2fa7875634f0d6664a7de334bf5135aa6c5bfe98deee318a7c90bf5b3dbec3c7efff0f3a69dbd1bedc0c2fb606ce99c7a0f5ddb259925c54757967c2ece38c1e611790902b8f1baf92c2ff178dd2732783304cdbd978d7fa4ebabb5a831d876cf89f6f3a3edbb4429eeb19419b75d6fc8523d9e0adcba1e119252f3ddba57244c59a60d3a572bcebf6f502d074ba47437a6f733869fc8930abdd77efa6f87b76f15cbad79468e63c3b8b64a0756a30fd525eab6da88803160e1f4cbde7403ab76583a86aba6ff0a38df66cc218e823c1bcce2cc02b78f4a983eff49470f937bfe1313bc74ae254176804ebe11cd3c94e7c6e05067c4e1dee3f436883de93c425ed87cf655d37f5a6c2e0b32b7099cac0fbf80e9cb30aa3ba44a1c5add1d7ecb671c0be78d1a7bccbbd121643a4a331e76a49b3e5981ec01ab4fc1f99c9ca0038a2479e9833cac52a2b66a01d6fa01bfeb1603811996a5b8186ee51bff56ccb52bb1b280c376e7b964d64b7cbe1bb82c0e9fcde47abdd9ef36e364385be359c1c3662955a86d7fb6bd132b45351241c9ff03887062954d33ba76e42288974f07f546c8cf6cce29b5e4a4fa2caa14eeb4a021a7ee778cab3372ea521b76bb982911a987bfab6833c900fb67e027974080fd7398b1ede4b68a271b448e73afea3adcc5cdb9a03eeca32525fe077714b4f5befa97b9ef98d2db1b5b549492fc23822a43e323568769c68acdefeebdbe8a0a719692e5f041fae1f2037994a5fc1bfaed5ed46b0f32cc25f2497f2cfa500f4e8aa209a41584a72b14ed17e1fbffbeb22fc5a481de25d10e31a8682fc10d42bdcb4b28e995ab09412b711f9426458a9eee5462c00b1805f0ee85139f3ce60cf035fdd0e419673974f072ed8fed614ea4710feb6f4a52041f27efb17152f6b1322f87f1a3ce7f68d1edaef710032769c41f1c6c02d15a5df252fe5debe39064f19a155b70c74fd4632f5f4de29f6d6c24d4c366e5678e153288df1b5dad0a602be3ac353ad57dddf7a2516b9f085b1163e4a742f458699f002d56f9f09032bc26f4023508b399fe1f5c25f449861e3f33e38960281434be004f4d74108b3956e55f4b465933f0b305f553c39f8f990109289ba4220b086b6d265910dde63189ad5f6a3052d5ccd037cb580556fcb13021bc3c5507a209521d2469e3ac48acdfd731f341b1df39d7682225e44a9cb2091cec6cecc8cbe4b6bd418f4cab4e4f17723bcc8335fbc6f58eaab0ce7c9ce525bacab4269e6c2ccb1ddc1a95f87a8195c2f306d7f822e35ce424c892c3df15687f395bcc1bdd842e2905e5e14fc2a5de2d0dbe00aa8d560494438b1b300ce313f6a42fc3b2ad97a4d36d314d62a47ce49ac8c8d4040a806b9679be80da9d1412a33d7861a40d8640da700d2b75e5697bfda3fd3f9660af55e31901efa04a544d294b79c8c4059a6c7963f7d5514f6a8a04d20694d4d6c80e842db78c24b4278214c35aae466f6f6b1ca5246ddf7549ec9496a86383798ea8638e395592f955d02624dab2db55100444489db425aa3cba508d05428c7d839e02aa343f059573b909e0b38acfc574d0c5d1be4eeadcb196c5b3d8c2ff573b0aed4a9f7f45f9b8b2bef0c4a8ceaefc45b75b17e270b06d4f25e63eed5e424d51dc31442c8a863eb339e5950f8ee2ff9a45a1e7ac9828e9dd98158189674ce0633adc3d58ec849e9ecdb2ae56f9edece24322d96dbf40334406bd7cc2d4a0bb4ccbcba405feced12299ed90441f43bb238439e6b8a0b88925edd2a72a1ce1137195f0ddb93f363fd10c8cfa4d136ad96496a54ef0f9f245f77dc4f8c7311bd7a5867107a046f216b6c853cf6d694425ff77141b40be1b036a2343efe39a838574b6db4b35bd220ebdc1868bb6302de3de4193d7584f384724cac25d0d738e52a147ff4a03bdb27ea64258dcda2edd612514d8aca1cc6470d698157ee2e9faf8c58f8ca75aa3a8cfd115e7c21c31f5235b34600d3c6898d2703b669165a5b99f64f95153650b567ff24050fe13393afe296c7cc4b768f8e5e580e4b7806adda20f60f422e3e83a899ab6bd6979668d40f8448203b9c6a1da5b4ff1c6f976421667e0c878c10be9a40142b25e3f81ee99354403a687190bf602d6b0d9d2f60434fcb6670ce7d682f32f97678f8204120de0c4ce44bb108b0b1809626ee54a017a439d767289d814768131cd59d780d8f24d8bdc27322647c8daf977996807610431ac4ee5125649cf712f2e96500454037ebf88d0c4c2035009e5084bb77cc8af47041607f77b7f81214dc3ce90d2e25f4cb6a0e6772759439991c5af977d046c09f5e63d40343661cda09e47e1ce329f4aac7478adffc3d62d2af2cbece2b4374e5aa1c12a2b4e0320d246ea9843bfef04d0491c37538c07efb6e2ca62a8a7e1c61f4663dcd45de69b19f14c3ce79ebebff41200a6fe676e2b8a6c69869d13ec58c0745d908bd8b9846ab1d9cf3c26e18fcd3faee40f43a363d255a3e1a32b5b260e496fa1aa38a0114f3de6525796492f52f651d15ca8e83efe1bc23c0726ec975b837001e542cf1c4eb4dc0f8a1f2b197257fa14e76b02d4494409a7dfcb1169f884c8760ef118c2106f9c7107282590db89524d2d5daecd4279d7da1ac6c5552e79a4ffa77ae47850e9b7c1791021e938c2880ee5e0ac09991384d12d7a23d27415c77eff5ed186dc2d2298a7aef2ed81ecc32d9355a465fbf317560c4248ca373d07ba1ef6b89b1651b557b5234ba43b752fbe5a8f1c587ea12b8ac8d640ceb7d6c03619a06c0618595fc865e74f788c328310eec1b7e20cbca91460d3f19698e51f452dda5910bdada80c2edef7693cf3c8028b9295209b4032337d97a95499a1ec53bd42eca7c4ed81adfa1f2d7a010b671a9b79c632c002dd81239d39d28f38665fbf1d451261c5a08a4e88e818d33a09326731b83f7e94cb35c80d524ca9cf71f2a15a0788921e5b518666905eb4fb198a4dac41d999bb90e46436d0477226b7acc7b92dae55cc10c7376439e25930a1347b784dac25abbe789f0ec9f19fc0c1a6071840faa7fd25087e2f0f2efd76ff9ac06fbe66864c263e8b31f9fd7c7d66dede50a69a215d6d1766d1255673dd120ddf3b04e168437244e36a349294c40b9f6916b34e6b0138ba6de9a2c42db4e7ceacf32f826429f7e1b835e95694f1a6806e5142b1fa0fc63936db31dd76a1586ed0d6e402ec3133a9daf7bb86077b10075118e623267ed75885bae65c178431eb226a80bfa3a25173f15656f0ca8114c7c7aa8e15739a83ed23a524274a91e7bf720029e7ebba7318f66a14ac72cbd260b84e8e2dcf1eb32b121e673cba7f53373652a6bac2e55677610ba4b36a3c511f7118d7e20f51126068d2f3b8a8a686bb9533f21e341c0974b6c3e968c40152314863261a0777123d6e744cc016630ed9d0cc01a3032e19d9e59ce01f331d83e4357aadc21d6e9d95067746e99d498946066e8b0e27a7848e0f93e647e58974433ffdd77781a6eda600e2ae411fe1a7815a4f9518af9afe96fbaf87cb77dea6e8aaec87ace05edd90735da1111cb45091f87217055c762a60c40729b6a7070cd3927e0fb4a49fceaaff48468eb423c43bddfa2798a08d8b51c670f3ef785bcbc0caaedc6d45ab280b4b56d9072e2041e17a1d6cb4142909f28f6a5a40e3a69fc69b5fe14352db75efd139d37558269030e58330107a475004e2516cbf0d2a908013a2df17faf13fe8d830e2f321db223190a01d2a3a8c34922fd47242fd30f6bce9170ddb211e95409b53b9b95fa287bbbda0560e08fd5274b3b85ea4c7f6b478fe5e58352178c9c873c4b23bbb943952fd636ee9bb3f47ba10bdfbfcc1fdb5a046aa6c0c44c034078cd44a453f2c5e2ed2d3a28fdfa4193f18ac045e130e018450a32de8dc77a9b5a58c7f3bea0e2737ba2a3001a91dc90659006cf857ceeacaa68d1b4afd3684beb01f562fbd88c48a415543f2d135d958284cd9f17f9593b42ecf699081a1f8ce29ed0c2c9f34ed6c5d5bb9b6f38d71b1d07c140f21bf00bda27bc2a135f44cf9845ab4b9fbad3380de63034865a56cd19a09b63d30b9c97c5fc125dd7ffbeae5e50c5f9378846bf6db22c4e361e1aad3fec5cbc846308798419a709437faf2b4f601bdb6dd48502d3970a1f9ece64e671a28bff48485fa41a91bf3f8af52af05f930aa01d72052591a9657094694fe9b1e4dc59468b4b9e1a4e4de8d6d7d16e8612b37dd10c6bb0da7c17cc90c253f3ff7619c4b4066ab1241d0d65ff8fc7a2245119cfa2a9c22da51be208ca8013ceca9c28ab922313ed14c491fad3a57facd4eca30b9a32e08be20375134cfbd23fcb1f8f3668967e280651b04586fa05fe24262683ccec64d5d705a87d11f0b4905e6ff07528264d804df774754483d5a384b9fe29a9733cf74e2436cffe0d52d7d69fcbec6f1e8f5aed43a9c311912515df71ffc3c14d10431cd913541118c48cad2509ad8630ba44a3b98fc634825413d9175ab5b9f45c6bfbdf78fa97487cce091bc5e618d48a8304c2b5b03620bd8578765296e309abfa51fc82e6f575543e78bba059ddc9e7a9f04a20d474239abf2d1f9da8149e12bacc6f3afeaa0f7b172122377be7d751b81420d25348a1a3da49ae8437b993bd45cdbb4754d2921a340c9372be1f242b455446dc923777d5f5eea0e4a7f1a1a780417c0333a6e5d2541f91ae0f26a7621ad198de9e85afc9ada67200d9c0efe27026f946920387e1ad932903a7a55f7908a1506bed524f059e611129baff31e611c920c7e5fb29f100aa5fea4d4b2cda8684c09e8a8bb667a75b9c31ec5bf2a2822f3a4a86034f9c4f72deedf6199b22361f42ec96ba1c8e6721fdf693375e13c5ce781c92f68a64b3b0b9771a82f9d63d6f752bea8972a547fc8f5fc29a98941520592218e6dd13153ac6309d68a66619577766cccb52b8ac7c4422eddcbf105dcbfb1c4d25bd5756b2360b485726378007c205381b20376d23383c2e64f76f675fc706478340ade7850e07d774aec14fad16db45b504454fb7b2b41aa181bf483e0806dede6e47201fc2eb2fae13d58b193544f2395ee52bcd5b1d3560ce6e9a22aa153aa974d9a1c81d44c4c131caf3f58f0b9be9ba7d60b66ceca0de5dd0110b2855bce2e406ab7cf17fec6bd892ae9c2906083d957b3a897b0e2c113f48f2f569069bd0355f5acae2882503077ec97031645c5ba395c0f0fc291a66b1c24d06bfb4d5d59dee5e102072b69859b21ce104ee72603479c6ad0f68fbe835c635bc5dc5d453b5ce283945c09959aaa6dce9249b207fde7cabe4ff23d2d92db1e2aece99e148634cc96e11a874579e4a0494fa5d2fccc8e00df8e7f6029ae171c1f66affc28b462b085f500dd9faa6e68a7433b2677bc8f457965c69b37debca45e706e0103b42b0967e5681174edc52894e5a589a88ff6f230d2d8621cd60dd39b7bd3c716746889edb4bc54ae7185f7d195f0fe5aa0b0c85dfe3c15db55817a9ba35aeb4e6ec15f4dbcafea981b936b2925291b0580a219cce3872ad8ac03d5595d2f96bde07753b5ff341c2aced00c10833f7e01e402441e1c40d8a56e7f92100d3a59703b7d26879c5cd868e90c58fb80b6e6e7566eb702a8b715feecb2e1ee10478f560e70c515ee608ce593dfe7db02cb7b84d74827cfba764198134d6a17e0d898a5948d7353c412fe87e73d7d2a555223f86634264d624b185bad7b8fdf8791334000d9775912848f161bf02f02ad197de514c499b10d527588496d1f26fad427d570f935abf5c9c45bac73641ff2a8660b2c2fdc07ca3bbedae6a979b7c085b5cdd4ff40abc7b87212c2112b951d235d8e31eb9a2db07892d3c9fc25b196665d52e0eed9620fb42e1868c82b96bc39d1a7aa0312308aaab0816d99df936fec46fcf235d35ad537c25e9d993df1b5077a5e077d0decb15b0c2fe9255146cf2d27332c87d01b4bf24c9ad305bcdd70b7d2c655e541f05aaf6dd164995314f4df51796ddec7f1b8943e8837b02cd4e8134ca73f0191914a6e3d6b5b599f0ff839b0280e6ae78f14b7902dd50c17a01e4ebb16be7f98940f3ca30684d2a752247b94225327ca6ce831694f4cbfc2b7890a70962316553e880868ad691a0a7c7957be3254c4d35592a467230b01531fe47b5e093b09b31a4b84364d6108a6833a678b5f4cce29702ace76adaa8a878ce9c35403267b4cda0e4ea59746901ec500f225fa902a84c002d256f1e4aba92d20f0b1ed0f4c9d3d4a710bb5e143a3cb929db297e39aa074acdf5eaeb2683ce5d487ce76444bc7846412190e963726f22762472d8b20ff7b72a3f92a5b381f525096a40389f1b3417404f6b8aee48ff26962bf0e13ffb5cc1dfebadb09c03004611d246cc21c0622ce8d7980597a92b46be96ac83857ccf435747a82585af93d1566b6875e02bce576c84c80ed440f6f0101a0df7d6b2e491bfcae021a522aa52af579b68f611555b1057d76dcf56418cd80baad13654b95053a236cdb5d594b54c370aeb9658641cd695d85d6c5edca95cb5bc1f2ab027419b9a671a075b5f79792862a58af86022ffd4e6195754b72ae5c1879d21147e1ee263eaba541795372695be42c7b33607214c9c667d2fa301b84d23850355f7648dd9150a6a96e1b270ba1943ccfbfe3763ceaa4e73d1d850edf15b85214cd8bd514539fa4c1d2de5cc7dcfd2c6b6b2e44500112460862a5359b788bbf5c42357cbbf0a817557d614c644587062fceb5b55cec5061acec8d8ac3a842252a84579b4b5eac4ff0ce0e731284e5d8be2ffcc0e9b2ac5f9e0e29f48a1de6ed9a0f4cecf4de5828f99ae369405171253767858b08b7bb76b276cd15b1d287943940d7bb27087d0f6056d9dac911b5d2a943200ded1f58d070b3c717c16b958e63a6bdadbc06d81bfcf1f2f6952ee0d2c97626e0ca958f55f4e03d72c2564d5026b8b00b412caba692705053877826e37419c0681b0c8a6709b2cb7976266b96e8a83e9151e81ca52e2d6ac778d335ac692cb85f97da5c96fc19d8978fe11444c8815b82f760d56a117e5316378095cc9f3c8054d794d38fb608566a23515b176faab69d20c9fa9cd8c38eecbdab985ac0c3fbad43427e00ab48da5b2066dba32447bc65a5dc0b73ce3bfc64c5b2d710d13ffc1a735e288023cc9df6015c2930a8b460466fbbe09c18d68bb3eadc5261ea2d1a881cf41f14e7b0c99da4d6182287dabbea60f30fd2848fd57be7eb99dfa9eb09ae8f2740ff118b62b6352867cf131bb126b377e40d32f64e0318a3a1acbdd180d997d9d6809689e3b76010fe820142daafdf609b9d0318e990d5d28b8edee306140f7522db0db557275213e3e979435b78c85cd5cecd9d5a20626accef3322b97bf672699975fc3a1012a7a1831d5b139f7c6fb4ee467995a79e1ac2e9caee74124c07573029167d86b55f115031a764c217726aef7b608a9edcb389d8911fadcc76f6a5c63ac56c178f7bcb6bf026bdceff637f6a07e9141e4f4083f94b374e90681a9e6e504378de3ec74b3b4658491b936f9830f2114492afb8ef9e7a79b20ec3903a4a3cccccabda4a44c5ac879c03209e42ff1c7bf98b722d2ad90401ef729f73e1f81d343ce8fe368b58df8448bf0b49fb380731b5ae856bc32d8cc5404c8ef2f43394a9d157c6ed8cb7e0104b648bd08ac172ada83a252448f9099450f1daeddcd8b47a78cc13a5114d5ee6e76464c19480386ee1a40472c2761ac70231a23c2b03e4d721a2fe097f92e77d0ee827f32511d109c66db9cee9cea79ba3ac2aabd9824d19084f38bf01a014942763b16510184cb2ca250519060565543766e4ecb30d2b9bb422f7bced7cbb5682e245eefb45f1353db6cd4ccdc2031231279b7b72e4248b36294e78251a931639f8ace4f6ce48a640b3a469b315bfa85f29ef7d45f0ea7b31679f90f68f6b98a3058c48cd2aeaa9b70d875bcfa84bd8f0c324b6a9846baefa1981ca412d77f5c6ba9234e16b4cdf3180c42eabac4f59fce156684ebe0cfa6c64d744144a25d805e2a4f6c2ac051d47849c3e534edc29aa5e89c6210b096939244fbcb2be6c43b9f7c8619b8f511a1fec6d631eab2b8f0e20dd2a8141900c0d1f89bb2ee95ffb1f132c4a70dde2cbf8f510e3bbc0f18a31dcbc589464b52f0e1381ac0c55db06dd79a9deb723fa63cce4cbdffed7d9549975965c1a2079a05c66f61135b3d62110f01dd00192ae51e38ee7c6ef2ab75388eb87856218fff4e3d038b27616feb96bab854ebaf54ab7e5276a753afcdd5dba42dbf423930d197940766b0eee355b5e987517415cb7095ce0c862b4cbe24712c20d67edd47c43a65eb9daed314d756789c39fcb7f8a03e036b487cde09dc3e709ee77727af86c2b3f0440549eddf9887a87c13f8cea77ff41d8d4dc1628db7721cbf1317dcb65d4bcafc58f6cd2e3c29016c845bef4b0f3f88d07e204c5476895ce0bb825fdd9458e09cc5f9f57bb40ceaf23018d0bb1e97d9f14a8a49d7c896bbf65b7738da105da63a3059a02aae7b6638da677c4b103864d235a8e2cd00488c035aaadc46178d6dde50c86260c08d359e136f0626c40630fc1f852b8eb4419e710e67b430722c83c9675590f6995ebbfdc628bf3344070323bb704d28e69ce81850784d461c4f7d27e07db47a2c50ff356bbbf9c57738037a12a50d4852a47361349e39267e7c5b8b9580d0d70d9556897e007213e8db8e3976ac80d9e872955d32831517e1cddb6f76e17f1fc639de97310db76d1d46d21b44e03ac20e2c93bcc6724066415753835d7a264f135407e5476a3d5ffa7b435aa7d8d48e492afc4961b40f108a80ce15b967f30ad0acf83d599d7555629eb7c05190b0aa07b72e3811895c97c5bf5686c9690b2ecd0275ffb4a960ab0943c84b2dbf3103c614bf4dfd0f10fb57aeb268d8cc34e24764e89d83a966426965d8d82f3946e4d5c8b576614cf1522bd730f0e683cb4e4296fb6cd97cb67298a5bfbe772e6e39916f2a16a8976ef84437aa529c532b39be3f0454f7d282ad89be306b3228827dff5527d9c84b63ed5c906fcc392d226a7a303af6f25cc12e30b36763074f601aaea4eb5addfdb22a01f84584aa0e1dd3ace619b21d1c9679855c12b021fd9a24e46b66053449913f83afd1504f970314dfe322e4dd6abb195b263ad8d1ea9db3986d3358661178ae7c59c18f571fce0f116405ac6951b3106cf1bf23098289d38e153d9a497fe7f6ae9814d26c2b0741ee9d67e026bfb9f37729244a57bc3521decf9dc6b7899f07f386aa18000d4ddd3c1b8b3910762ee945517102465caeee2eb061e5edbe3192c9a106e9e355db80350487e307ac0d1d45daefe81f5c55e43634b26921d45deab6ed018e8136e6ee270308283dd06c56d373ffb7700fd74ef09c5c29035279e8948396884546dddc70b4b98cff981cc80500c3369e949d796e3d3b694fb705bf8808ddebede57b0dba9cccf2b926baf79da3cdadcbccf6e652fd66c7fe8bfc9757da2a7b7ab2e8d6fa6c457c897545bd47138157322f8c0700016560ccec3ea5d3b27fa34b24911d2fec3fe212675ad3a6aa77758149ca80279920462d17391f6bc71a8b4a2ef6b02140839d3ff67b36a10fea27c9eb5b11e417be42745911e6d5cdb6e73aa3889529af7247a0359b754c62ec89a9620ec2a0fa8ebe2779dbdae172193951064cdcf815703bad084433a3b5684fb6164af037425a009db65f5c7d08bcaa894f1c6cfb069d08272fc4cea38a037efe8b453f5e48748961f1dc2636ff21661a76bd16fb0c48ad85f73d2735cc712d458e416cf35f1733dec336f6fada10e94690e8b1e0483d59db092ed029d0e7092a694507b0670bcea4408d10fafd5464edb4ccdb13ba2a803f966184df23aca95d0965d4773a4c1f3f5ce0b6a7483b41befc946d3848965026318fb51c183708c9ba692434460de17856dee8caea0386fbec3a81292f130c41343e05377743e1c850314032486175c60e81eea2c97c34a0420186fb8a6f804d1be34c6cda46d85f024bfa44a925b1240ea05406eb61ca39a35c26c6b7357797e4da8e9b043e7f523db7763daade831ac8132473c9ab99dc1357a923993bf3b16a225a3078c6abf5b9c7b80b1ae9d282bbc57fa086ec399ad4230f5d5d789fcff2f505a81e0d9c42e9206067c655f1f18cb626dc18eb76aa81d08b5f712cb6f624f351d46efe00b25fce92d8121d5c8f19fb2a083e52257a029d19cd3028e39cffe9bb88e7735c452d100edb53d58426337212c369d9a6044c97e59b8c0bcc6460a77e1c253cbe5dca20b20a032406c8adbd4c6b84e6865deb28c8d32c85f7b108f8b716c90b9b293ccb1f0470cbfeb103dadc7aeb398e6f2f143491b12c347f161865bc103cc149be2a1e77d18075aacb9309e57fd3342b716247202123cab3ad5d3f68cc547567d14bde4b33f241611c0ea0a1f5621089292328012f4a8d3387b2be42636369f434d985525176afe22e8303ce9ebab0f8bdb1e1a5ef69b4d9b897b2988bd05c95db60e67b035387227a57596e11ba214bc343708b26b4b47d31266b5ebd9b00f0462bffaa31be48761e0d9bcd64b09aba9555da3dc676a47838c8128dab61dd159c695d3aec9496bff9db8e18fb9c013c498d183168829c8ec5e8499f667d59b43f873065fd2499d055d243e047854858eb5047399ef835d21cc9f716d8e06d03fcb715a4c876735fce03c72b867a8b8ada3fca801224786a820dbd2852cdce87480d08bcbe085902d9711a763832e10eba2020e57bb198cc077bdcab598b23933158cb1a92b98a99b36c39bb15e6bcf90a20f6a44a8ae1dc024dee196f6755c8053a94e664c54cc3fc1fd7e952c3f0195aafd3060cffd9cb9475f026e2a53c737d9811acc970789a8c3efd5f769be291bc8cb77dd00c4da37be94e98b31db7c8da409dd49a6dcc535d49b2574cbdf853e72515248ab689a19945c4b3c55c3e938200c1c38d60fe4f7fc5662aeaf87fa4eebac924068ab92910cae1004ad94b384fe6e4e6ba4d49919018d4ccc56b9dd681792e71fa94637bfb47287a9354dfaf689f022784c6044baba0d82bdaf6aae1fac0401960388e0a3a3eb82251b210b8201c6d5ec365bf937a265ed058c2c4a66d033c282fa85e24c4ff40331f36807f0932a6201c66c1e19812781775d1e38229a35dbf99049223821732c5a3de2df9b161690e2e8c0a50a796e3bc6812c3febe2e728742c797ac1be8763b49f152074efe5f12e631644486ec190d18888dafc6bc9325eeabf6045df76b212abdcac0afd6b73c40bec3f900edb4494ff3d1d6efbe6bb32a6a0e4be99ea539575905a2f5e09ca27528da5890846b21c8228e730f48fc6b3a3b197ea43c845afe6fdda776b8a25e081884be6a2dace6f404ff02a141f7454efb8135111e73b5c0ba6c57ae654da8e8d45740d11a7e28af5fe3f949f3f5f41feb1db5e47bdf26cb6e069bad3b59e280ea0f9aafa34e1ed9f125c5a84524b413ed73365f2f5915ac9f0e76438e5ff97a033a5fa0db6bd837c70bb2479ff3b5de3b23b0bed25e9520c00f0504c2045f214697ec259adf656384fd9e9fc48ecb395bc3b8a9415613b1f945b12b127c764f6b3a7f80a1dd747f9f541ebf973da57fa63b6d4de40c8a79f9fd3b6eb85310506996db8f5d7dd8f486a2fb08bd9852c66a8fd1b4065399221f7282119a9f9f8234d3895dcbc54d99378f8c887cf542e8733902de08f67592dca7815b9ed5a421c513876fb2c87b40233b5a0e14e7f8cc7d5f6b60ace47e501f89eb531c34a4f701179d3353d8d0eac27d7e1fc00c58d4ccf0c3dcab9417b7be5b2ba60f14244051cf6f719d91c8b63c13d894c218529624bb772b05123f86b3385aa4450d51d0e2259b1c312d7fca7e2fe92696d714da30277fc0b332de9239440820a49fc6158500adf2c92b0710991f24f71fea9bfa3906af32868c06a8ebee2fca322469171a3f0a6e8211488c05214ecbf14778a9059f384a91541b0129614bfdd34407bb2616fb8308012ebdffb102b0715a541ad04828e2430ce8f348b198db6730936c2bdbe7e22ffa69f34af1e218439565270d23aa11540d626e3cd950e4d4ee56acc524835b4e9ba3a79b2a4b8e5a5142c46788d57c591aaa235861ae78549802eb67ddd053254971d36588350d8ffe3ba8bb3500fb4a4096ff92a17a94c1e779cef66e54c0d2f6cb151aa241f938249d3223a6390cb33841dfea3c9064dc4a90537cab471feb5c24d8d85668ed42d2a42409887db0c787ec9d538ad623bc89b2b1a23e2e6b2492fe8ec43e39ed60c2fe8a09a9c5fb796ffae8ae40cdc3f04f20e9068be9f2cc8f11a3be6878bafa4fa016f1f3fbf0bf173c9e087121ebcca4259fd703515beba7d4541f741243c65c7a24e5ac794aee183cce5f651ace3cc88f69e75e716cb38b7788caeac3e61e53f23a239ef15d671fbc9489d352f9fe7fde9d48680898c1f1e1ec39b6047378e9cbf368e22b6321fbe7286df90c833d6242b5276229642cce21fb0ff6fa51f6a39239828313ad0371c9e5c8e394de4ab43b2f4e3c2156908507a697a8f7559c9970973a06b06c8d08c945cccc7ea7b28235f9ecaf5cc2e670b66fd8b8ee7ef95f93bddaaafa3bc46a2bf42eda6b149f21ae617e9fe914417d82b71bc83beecce9e4a599b36c761cf30f66678c0da880f4e57b105b96300e9a732f17e47ba482c56f9f7adbd50d03705abc2e75229c72a10ca424923b2f7574c214c676197128bbc15f8955e3b085b2adcbea9c5fbf4e386fbc1a52883886beaa795b947ac32df57427c12182c58fbfa7e9562de73cf9e795f537057a00e4a4aa1514468bdb86cd87456505a7e8dbf780bbae6ceeb0e57c3b313f8aed3162a5864766c7f3e97eecbe9d440cfb76e54b39c6efa1f35a39fa7ae76f6cc6fb1a557d490ec20f5cbfb6adbd963b74d1f03f3fd4c77c14ee865fba905bd1277318fda34c72591d36fda4482595895991b946a5af12836e0e14bf9e82674578680d0cb1d41b17c4f9cc87a2767312c24f4aa4136d4898194585d7363e7998c3d13c9f114484c6bcebdafae6a4489f5f68cd68f9318620abfeaebafe9b75a17ed01ff92e08fc12380da57bab485f736fd28292e0d0bfb1e24c9b6fe6678f916db50d91304aab4dc7bbbbb937394292b986af1cc0c9d477c92701b8db39adae83fcb84ce8c38f0c4918e755eb1b1c94a4a0e7543b5a7d75ae9433e3efe6250d1685807cf9b3e97cc873b1eb7383ded1407fcf71dd02c8f2582e0b2a7a1eb81b758646192bdd70ea925a6101545e4b23e487cd49b94f691eed4fea0916e3667233cb2697e663ec8f0f245c97c4aa034b2be4dd99449a5b1b7bbeb9002c81e4c498c6222e3b887708e3ffa2cd7e9625500678f91ad9e431b39a65f1137599fedeb2f36b4835a40674264aed7ea55b1e42e254881979b453524b932f9d7435f6de3020f5cf6277254ba98a4c421f5593f2d3de8fcd62d0420c5671d94059e24a9ccf47c7825aefb5cac0ed73e2b5236227c8f27869e6c10b068aca612c4b5b5cd7535c6c521a62f85d784837af7685c12292e705350e3662156955b9fd152e11a30cc3ea474a9cfa182a7bf5e4b6f9076231d578dc9775a1742b478330fccb64a3005225bee45855c921153744ff30476bc830186118cffb19cdbbd9a59561ce3906d91c60cb64ef8b688d730bd49a1375011c299568b1c81781951a28a5c86800b655abdc8735cebbaaeb48aa5385fe79fd58123973d4155c12ae320c596d15b5f9598a5139a455d221096029b835dee0d6621be49daff212f7037898c554eff7e0ff257ae91a7ae9065ba780e3fe083537bdb2b982d75fe3390d76be7d818aab577ed13cf18055da10c5470773033b2698f78bc9d0e420f2c09dea074d0f82b57fe9adb44f5f6ed5ac2fbdb4e12c27b063a005c035bba29a92aa31b7222eb43293397925ec7e0382b1d0b3c09c53ed17e9c819a60e7c5b35167dae46bcecebde7bdf1461837234a82d0504aad90cc82c045d4de30a683c11058a7b23ef645c7f5168ffff750f56d6dffffcb2978ce7d6153e7c61e1469545a8e0277f04096e49f2005f8a3e276b7fade2d5f12be09dbdde56f5d82c194b7602372dc0090f3894c934952fac33dfda443bb2c41de1932b235ebf54156cfc93434c2adf53229a107b10a1809fe718402d1481b1f72108f1342d78226909b173238abfcc92418b07705187bdae3db2dc932b11c82fba852679d02e37e03eb1a48d77a8869500bd280ec166512f98ec0ca45edc2e6f37f9d1f5f1361ddf3c727757e166d816b2d024839125565d75ce3203da5ec393b727a312d1516c73c209a55db7cd89e8b9426e9966a0fde699d43a7093a39abac2899784cec8e5f657b73722d591dff20125bcb93a1325c16aba37d806ce3d63f938eab47e55eac3afa0f178ab8f48b80473083a8bdb1a08b1b7b35ba43b5d90a32e5f8af47a34fda606fcc12305a29ffa548b301a8bf831ac78cef94152c363f8b0df8a055c1523bc974a03e6401fd59d5f8958dddd218bd3a81c60176fab73f85b3599c979829005a31934a605b1efac587418ab1fb19d996b55163b625ed2a7b646e5c933efc6d34435baf67c5f1f1b76f6d7a236cc7de5b6595271eded9f53533ac605f965fcda3fb159c4be96b3c33bf72087707d8253102291efc04482a1e7f31daea8838dd37b2d78a4d8c371663070674a654e50930b8d5cb025f2b48788077d0a2c87284686ee4d3b83bc317372a879a513d1d22421f8572d2e98a555d94f6c7de45bc0f71e882a6ed6da6e55f306d520fc6d428789331acb2b405e2fb5d858e8bbb82250193c149b0b0c01974e4ab0a14390d2fb27a7aaab203a633fd953b2e31929448912859c96c47eb1286ac4c1fc82ec2ccbe262320439b7ddbbbd6e9cb2b26c17e178b20977f22233a85a926ec3f2aef8f46c3bb2ceec8193388ff1838ddfab7c9d1ea726af80e3a09591a1fe3af65b548414c05ba6ab345cd55d556585313d7c0fe4e6f48313d022424c25fbbc32ae21a9d15e1c0402800d63a478511de391dc43d14e7dab025abea37e036f1f3b91924c33ec5242a7d39cf2c5d3418aae482966d33382dc3e044fcf2e954a3ed00d2f99eb2d60a24a0ba322ef35b08fecac29c230006231257903d467a0dff18d37f807a7e77571ed3400abc7accb37af47c13674863e4cd357d5914563da86c3c08109b5b7c503128ed0fa979206e8ae3f108274b168d7261752fbaf15e2d4c28f0f1c45a42e68b5465b53a4c473c2dce83d9a1471115cebb08ab966ca65a71c7109df25f762c79dd6917b927316c744c916965d85754d8b7a22aaca780f3ba459519b630b0e86dc9a6f992966f89995d99a9e568b7eb91f20596d6979c3175b9b652e3a797f0b97c2218aa70454af02068bd4bbcdea6c49b158ec6f29a1093fbe6c50127320ca44977144101b771f52a3f8a57ce0cade6056aaf6b526dc2130869c59b98443f618f1d4329270b4c599165349fa0aa3c3f79bc13bb5a3ffad738cdef2053dc94c1aa97721718cd27ae7b62496258ed04c4b2ead61f8ebdb4b665514ed4a320a35f50408818b4b8d616ce3eb75fd4a2aae55603b15fd617e8a8c9f830bc4af413acb1ae01c62d18b919386bde5d803e9833d5f370e7a97f1bca8b3e2b77ad3691bb55374ca9e220bfc7df85fbd416acd9bb3330932560c938e9b91db04fda7a7306ba71951443785fa504062143b3262e273a23b28c3ac9043c9b87dd21bd64affd8714224cbefa80f195bfbfa8509eeb0a82b708183229b95015800276b85cd71a168ce25f1c417b116509b3ab3097e3786e178341d8651fe1819731ba625b9504be307dfc71563af6887d9b4ceb2d8fa2384545c4b49d37394c94e646dc08bb5f39806a426ce313d51569a3236d04ae24c588b91231c050c832f22f3af704fd4af044f4d34341ae28456bd5f94c686f401b8e479cfc9d070d7228654496f412b287bc98472455bd460f5e9a823db130b87c0f4ff5de541cd4fcd8ab63b86e9e93019082d7a9095474f367bfa06b1f1c82e7992ff7b060fe04167759cd803bb3b75a6d9df50e9dd3607a019e64f035bec28ccf651b159e12c6696a78b65d5b3f8e2f3ed550912a758586c38fe07a1fbd5d7f655220d2dafd3e3bc22ab1957b07de989f33e82a2ab577a7d058fb26e7ea167a15823274bea2076558ff0c5b231f6e098a2d0cd857486d1763b2bd0f2ca472853c7359bff6c395ba7753b3dea1e9463e50a88a6f3dacf31a30440976e9c69ef51f778c91a80ffe3a281521a7fcdcb85c5b8f770becad6f1ec170f83bc34983aba60d61dd649af4012e07dcaffde1bc6b495f9c009461d9e79e9e87c4978122bc89d0b4dbe8d044452450f4e7be714b85eb428ae4252c0495160b936927b7daa90510437f7d72828c9a642b12f13b3d6cb59538c96e7b03980527802a5f77192cf693f768338d5469e558653bdd87fcee2fb284fa8c80a64550db6ec01e38e8a999cfce09ea0b5607fd7bfe662e7c7c7a456f1f94a1c7ad7864f4a0bdb6cae76c3ba1b47320fef96a7bdfb5ab3954a924d826bae854049db95e0d6374a6f17197bc921a7c385342e7d2579d9d6a470c2aa15333b94713400620ba53dbf3da44dca14de9a81ae7eb580e540c3974a66f617772ac838275e0356246550b17190f19ff6ec5fcb1bf6240c5fed55c2a98caad01f55fc9c6b550be85318bc665dfdafb5c9919fb7c61b0fdd9400217a8a2cbff387ea4043b945c8564cecba64d89f2dcc11788c3bae39a9de0c795b9be6a3f13eb658bf815488444a759fe487eeaf99de615c8b4d3a2dd0ba3b5bd7a6d6b33ada1b5bac58257dae596f714ab2a2adf3efbf76dc6711bd5d5275de827f237b0a4cd2d1d993a6309820917732a9f207c38fcb92051ccc09c6fb9b34f1cc8eebf9fda5bb9bedc95e1be125741cc09e99c0ce4bd627c3d9e843502349149f197ef18d5633d6bd00fa38e2113abaefb8be19dbc48b41a49f07423afbc2831f5a10c06115c6780aefb11f450f629acb8d03d6d7ee7bd8a680bec314eee308dded6b4bfd24626611d667ff38ac4a51efe63a3e6621e1f0380cd57a0716d063aa9dd55ece9ca22157ee87c0900c14462e5de0fffb5213db74b73f6d1929181154e3346d9d31d09fb47ab6bc5546ab854f9e6472619ed7de8d71498ab722b88d61c07bf3139ef95a92636429281307d299d9d6c66471a1f28bd6cbe33bfbeebeca6c864b22279ff2b67abf9ddc882305a48c45cbf9be9f636f968c6b3ca8b3baa72eac29b7fb3807dc5720d0cb0021c7ff8d621d4961d944aac5260111420f8641466b5a21c742de94035be4c3468e755074a90ea60881d375e8b4b0813e1ffc70c841a01efa101e85ea0fb026a453e21f79048f74c47aa6690f946c00cb76b9c3e6e9461a88fc24b2f03ba63cfddfb7915c2dba8bfdf5579ec2a383143f500070b38a438a51e4fe7db0372a82eba715e38f862665191db750bcce38674301ec790b67b8b138090684bd7623571a9422e3b0589fc287e817ca988418b1cda571852ba22d8cecdcb16c9dd0f0ae4c4064790f6a8a66bcad77b975198f7de96dbcd56ae4319e3e6da3b216efd44cc4364c1647d0abf01894a67d3272dab812c0e0324086700b4f21c3ed394b87e66a34705d5f624e0a60a8b1256dba6a870dd7b8a5c57bd24f156ba76e2bf87f10915abb706d00060b50fad52a951c11b483bd2a4d12c090657e492bd03cccc60e94711ece923125cdbbcad72c142b3f21e867ff841c80de251edc6be305b3733e7f056d3ce3838ce3fd48d042536445cecb6a4f7f6e410800ccf1ebe179ec9bdfb04f6444fb53440498076f42303fe94eb98c1a3c4885c5d04d549f92838b06e16fa3bc0bb86ef015d65ccfe1671306aca4e7f5abcae7863420c9153e2980724037c0e187ddc2791dc0b47412df4745d3209cf15f6e923540d4cb36eaa8f03bb71fa256fc1f00d79f220f8e8a8eaa279bfbe63903aa7997f5a2dc1578aef8aa39d763488787bcacd9e3b29245ffa37383179636f6e0983136d1fc969c0d2fd9f10ff68fc51e93bbff9436b7cb71b962231b05c3486ddd592febc7bd2bd32cfa159cd149c827f0d4024756a3e7ae56eaed59b6d256b3a8df3ac1fcf513ee09db6167e472289609d98447a76955fc2267bc8cf3ac4264f6082287e21227bb77a114ce8ab5ad7a63dd1df7ae19ab1bc7cd89f26cf420d2090017f71165ec9e201a9a1ad26b8381a2731599081c4f6d3f5f0d8dc715de461ef934a9e75c864cc33370f556b226a9f7c357100d4dd8159df793881cd45701024d8fd2120b96124b9985e40ea20f15bd591c876a9b74e0ee03e7e717d8490ecb48628bdfae6e819dfd3f8a524e826c5f9ca268b0d53ef187deac7ef241fead6c13e54906873860a41d63ec6e262e29f70a284be5d4652b1690e5c9cbdc175b8da10906d4a73017ace730a6a443d982691c08fb73a2f641205a28c4839ccd9c3ba62abf9879bc6b97e06a4523bd9afc294e60a3ab08ec34ebc83293271d98a8795783fe339007b096e4db642391dd9397c96d794fef45a967036404d9e9eb66ee1e2e1f906101db1740dd7c7e7b935974fecbdd46e3dfad688e48b3f16daa9d45a759da1954ae988be3eabd16e4323f255ab3c0bbab18ff196883a0cb7af1de5196f805983dd3a1c67a79d0adac68eb9e4bb61a77358c783d9d03b1ab66cfcbd942b602eb603e11a82261878a7dcec7532f08aaa1f6892a4aa881f07398429eca4fa3102c3d6f54b5225adca9c2d3b2bb407b0c2a0774010c7b14789f52bc2b6e19d3ac90e6f109b883c7c3970cfd289beb12b81226e10b0e19a703a40c7d923ec68fdc0f3f88f7c5d620fd2ccaffa9497b3d68bd4df35f89408a3c6bd02eb77eb6353a2dc9b2f7d2b35d1083f568b814554c62355711eb7ff12603a2d70218b7acdc694777a7b800cb12e48f3ad3c1f0e9f3d3c8553894ec8aff03f4c54779a85420d0c84182e06562e0f1832f9d048524f945dbb71711ed8d181a532d35029f1d89ad6980b27ba985fe9addd14a620c43f1b77697759279788b9603d23cec63c991fd7f800a88fa8db530e55433b398d1a1c6c538b6fc119b7dcbc610562eb065caa9c7f9ce5af54d3fb182a54e2d39f374f3f5c6c70bf8228bada8ac7e0b5f9a4f00c67133ddb74dab53b95f2bd114879e877c4e44eeb46a51e24e684dd318bceb5b8444423514d873ff9f034fd7067875e360ac5cc61db4ef07887f7c2ac72eb6b829549e5750e1617e40955a998aba8be1fc21f027368f60e511fd785cc6c6ec2e9afb52a177c99e75beb1a877ca53b691108c58fee9404e78ef9344f41ca176366d0d85b3af330f9b20d3caa0210fe6a4afd7536a010c5d628748cb20071f69951697d7d910756f6acf33dc2ba1215f4d1001fadd05f7534efa11cb6ac39205277ad8d7be8ecd3153a7f1c752479b94d66bf299bb07b518a6100779991d2ad43367be63856a6b763ecda11fe56a1bd2a0cd5b4727a0a9e4da141810f1046099593c8c5ee2772627c00119bdd44bb7e5804460ee8a4b22add6bced8578ade4ebe3d764fc849629fe308873db60d7d328613208dc4f3f8c22344257e297213996e1ac3aa4f21dd66d179e13de3ff6318a7171846eca201c9737ff271917b20f22a9d1341b6347195ab2a3ffa9e692369c4aea246d8bf98b3534cf77a4fda6382fad7d9975aa56218ca7c9045c7f620a99f527f9652692137854de86d7e8a4c53f0ce32ffc7c118f2091b3caf5a3bc3c192d36cfd91a7b76924a01a7dd90be2f5d525455f8534c1b9a3aa6ebd2a7a31ab12924ad3a06fbcda9193034b6e5fbe40fb302df5310c4283ead027e4d904f50d9eb0aac6a3f26418a6c343e2e21452ccf6fd28c1cbe6009e6c88f839affe47379ae81984463c00de0bf31a58aca0511bbd120b4ea3f51cbd9892f4a2c1d44921f91f1fab2a18432dd954dfeaa19eea67be9acf30c9131bc77f944670833b0a617ecf0842665cdd858791e8a3038ae715e579f210d3ae4b5f64621f6bade026749c0a045c7c3a37ade1599503186d828d79e032279ab93d23515e22d5fe17d0534b88a577dcf7d8e2f2523f6b1017f17d4f48b9370c41ebba9a5a994bc01161a3600e8c7d7aa655759861b8343fae4d567f28319f844fd525bcfa1727265de5b30c0c7447d5f1e0a875e667b4a681add7a910928e3da4085eef53d8643e7214fa926a6848b5ab76ccbe988ff6afd68aa6a32cab66bcd49e8941eb2ec73e0b7cba8719a26b45d514f9dd19d10c97a809179797e1cd04dff52e9a4432aed366a1452c36f62c43488115ddec1bab844c21376a04700558e7576b716752061c9a13a23203d07f307e8a8640467d36ad8b63986f4b41bba5329e48394dd614eea414a66b46ccd492fa71978251ee171a08734c04733ee08b64fe9127494e4fdc868d225ff6bb110d60d0d9fbcaaa1c61c9f0870bcdcdf8d4571207825e20090e295607cf76125ebb3ea412ec36d1cfcabdbf2367ffdbb6d86911e625b576203368f8f65e59eba3f4377cd44072c75266feb2ac8e92a3f7a1ee987af386a837b7e716c2d34e3558eb89d22792099879e1b9c63695f08ae9038e58c75cb151d17b8e5d2b83bfdb19d4f52bc7fb943a145a99bf9f3978058e56ce9548511127ec072ed81541e57cace6e46e4242eaba68f522b71f50d1753dd6cedacfd018212241f40a9c8c1c0725407d403152abcf267ea3e24192162088981bbb67c404ac7b8f441c373786a94c5cdf0936a4c4e3335711df79dd39cc92ff404d1e3da08681ab23009cb5b57b0c5230ac7f8376b68ab136a02b21fc49a68b9ecd7071933d4353e465c7540094fe6ec7bdec45da37deba7edced79de01d7fb3da33b1b1f5003fdaa19e6074d457df4f5cbac4a6111fbe74e70ad056469124d3807505da1196e141c30e8a5e1bf44cad744a7635cd8acff4768b332c85d61ecd368e92ca6be92675e875f2b0fbf3bfa8b2a9ea8fadaddfb92394ded23cf79fa9f751a39163e446d4a9ded0eb15b9bb20f21c4f4519644427d70bd180d49d0dfaa8c03981adc4b0caefa08c6052bd5e261e6b74ba8b700c2e0fc83059ed5d3da58ac48b0c8641a06e4212e97a5db13c57fcf53e95fd4cd7136f3b016c173f9963b92e88890f52f72534f6a699f2d4cb71e1892f3c46b4883cb8f558f0295d884e229244fa240892132a1a13abb0d5e92a27087b6e35bc19eeb1f07689499f2c79649224b8a02c98836947902c479b8a8ffc1158804e75c8b3da5928cb291afd8b727268dc8f904b7fc265c042a7d31916a90c9beee668d6e08f1166dbf15dbb90fd915ea0f23917eb528dfb6ee93be53ccd06889fd0c0ad27d41b21baa72a3fdf8fe137db9ab49f3a1077ba92979e5e2a056fc1e9f4ed4204b8162bb5e876d3aec18b89982eb9a5c2ff744cf04dc19da36a4799afad1a1ad0df8913413fbe164b46e3c33eb7b46e4c538a3c8c76c88edf0394902bd45ddc614afb951160d97728a38c38d9a6e2df9aadd81cb0993e7b639585e7bca8ce68ab96199a6cfbc6e015217fba17bf50108138bdeb4212f55738ddf14fd9810a722780d83f37334f88f60c641fcfa9ca5f4b4a888496d888f146ff2496b8b887756a200bc007cc003305bd3b7168dd311d37ebd762b1685152ca4a89a9ce650ec6d9f6ff59453738889239b5e396ff613203543502be470b43374a5484836419d8d01f8d64125052e0d506148f42391d8bfc44c95a2296de7996dca2059641e5465d8553fef5fecebc845f70294acab95c6ed8a811ddb2f4b5ed47880db4b82e0a84ea948e10547612d05892b918df8f627a3b7c41c046edd06fbdf4089d68278b79784c7709645b8b05b17c2ce436d613e89241f2fe1a2adaf558e07619ed0a15020c2462b14ca63fb59e68ffbede0709f95962bfedeea1acdd72aaef0850f2f0374e8a5def30c487c4cac84edfe6f05c09d68a12a3b1453d7b2c2ec276fdfb49ae10b5105b13ef478ea0cb640a967a635edb88278bbbf6633c3c3b7e23f54964e0874ba4e8f30fe60ffafc9e5f424e6be004f0f55f305220bee0657620b1993e1d39e96ae93af32fe3e95831fbe1d65f8bafa5c93399c7a3c9919995e5788321125050b6e42489eb75967dc26c196238df2a18c52c8364c9dad1336ba3b5b671b380d4438824af4b810176675a5266f96058bcb1944a7f25d03f3fb65c47b411c3a38dc1ba9c4c28496bdaf0bb67ed9103f89afe2851be1b46e22d122b95ea58e5f61f07f44abb1206bd7bf3cd4eb85e287b3489b7d368698782d3185eb9fff5ca2d8ea810eb52997bb3fb2c4ed2bebfe1b801ced7eed3966d105c3a874c68943737d9a5fdb32cca68d807d97933c7f28c29eaae01ebecb7a0aa2ebd692d17f3e08d8bd344a6464f5fe5447627636869ac93547e7e6e839302d8e67345d8263164a99ea12babb7de8c86ad721629755bf4747da6339759d9ee6d5a6e87ae8c2fc7490b3be210acb6a2ddf5cc6914a70af7570d0b90912c60dac3c0f9f3316e49d63857078512658830ff8af104cc8055b344b430d91983a08cce6bf56a49dd09bf29f906b1971f7c7b4d7aa454a3807e7f998dd863f2f0d85ae8b8cced235935bdf00cecb17d90118af90846ceea668e2679848d248fdb13759c5ece496ee995baad5d6b32076ffbb4da8edc88c08a16d04f32ce084558fbddf8208694964c505b0cf98a6e6bbdfba992f5ec4190317a18620412317ed0e91dad19ca69c0faf19c25dc201c51b61964791b72fb4db7dd2d686335234f75c2a676d5ddf1f83978bbe74a47cf0672bf73c1628050f68801027252538bb0fbb0a52267d37910824e1df59dd282887a061e1a6eaca762f353386a874d8ed5f14134b0d7d4c927471879dd5bd6c482adcdfef1190fd647c95cf368b9260d09b272aa7e374202374a7251dc78511a723298adeae530bcbae63a1fc3a17b0d0a9bce0a8e3c706a91636bd504a312f5d3be31c5f34bf45d4c175ea246dc7dd8202ad6112dbdd3795837ad885b366c25bc0e9d5edaf32b36f067755231cb70c431ac2a469269de013427f79a3bfa7f3e8a2ad80dc616597ad20e8b5f4ffb59af2db7dac3ccef5c050cd6fe4830b9fe1020d3cef7cfe9bc5fae5ba0bf7a645c66a5899cc5cd18287dd26ea206b57d71a8a2b9c02d6140adedd9ed44dd5f0d4eeef6b5ebc96406fa6a9a28d9797ee613f9852740c72a5bb1d758eacac48f8142b8e413d20539211d7973b31a0914c86d2cd996250d4cd6ad0d25bb03e32639674db0b71cd6dd895edde5c080d1fc31c6519a05d5fe2efaac690acd0faa53dd0e0646cac1a7df5bf50e967040ac70310c7af6b38c24b0bf670dc2ece3207408fcd588fd18bcdb6bd4b5e4a94812e4a5ecc344eb3de61381cce3f6d89b26ad337c38f18f6ee2cc6299ebede70c902e8ee77c8b59ea341e9440a8cd769db7b829f9fa918da7d837eaf8547f67f8b857847d45e4c3e64daf877d72c228732c81a5221834381334eb31fa00f54593750bcbc074435f254c76d8e4f80ea6f071d34811c2de8abe364f1e00e553edd8f15f39a2f9d54826eaeefd3d1927e16b190a922374b67299fd26d7da5a5080874d67c13488dac2aff82c1cbb0079e5fc281020bfa47ac5aa20d433f44822651d42d7a8edd9706b7671ad2fffd2889d409f34373629260708e42d0f98089172afaed4abef538f4a9143cec0f61b01f2e3e07dd5abbc5d9221f23d9c2468fff2f4b2bb0c1630ee783a9c4fd620827ffbbdc2ed02ea4fc5fb9b0c3f4ed5505e57796b97b7ab6e4c2a5f47323605cdf64214dc072b53d2f65053982ec484a0bbbdf967a54f4f0a0c44d3dddeb0c1e0de98a7e7c1e7e636aa11a9ef680a03b5a978dfa88aa0086451e804e58192e89ebd27de0616e7ed7abed15e71b02de7e48d62cc55a0c33b1f2501babefffdf7c0b02cb7a3f3a97b6675e7e8ce4b8fc715ebf5fd57b4b008ded155d0c4b394934cf416577014ba2104d2860052bd3d909ea3f25bbbd6ea79e52353addef2ee0e5f541e39079a5f6addd138f4cb71fbec31f49f2c68f0c602efda3dfbaab42d82a08a463e823c09754ed710ea4ae64f2fe84cf384779abebc7a4fdd2bb58049eb6b83feef48131a74eaca0397dda95de2b280f1b7cf100fd8f944cc1c87f270c9604b1711f45592f57f2947d48f6fcca30c0ba45c0d602eafde64881423a50725243469d596e5be1046ac2111900c6c98f45e45a49c6c29b773f1ba913d7cebdf2e283a2d5a4bc8d5d8d4f06e3d4fb3a0f0955811a8e4aea9f44c9c47175b3645cd4da3d1b891ff9d324626e8436e21327b384a01b288e370b783c12d6de0e548f28ad3e893ea14016bf32213aab46092dc3b111bb7e67c3373a88b032cdba65d3cb7f0137dd835ff0686656f545ee8f9cb654c9ef125b8e809ae66b0fc1f35d1c4d1882d3f3c4832c11566928f2baf47d4ba8a7251ad3208f0b009ca587943ecc5627109d81f38822b2e98e9075d0ac0c5d86a8df50db70b697da191b08dd4113c8e4268ec73de27ff2c8702da14056935cf8bc160cf62bea6f81fdd3841bed127298a9ee4c63eefe640ab0bea10448ab666304cdfa9b854ee2890b26ffb20ff6850178160a8eab55ee9f623076bd0cfa804268164e5264aa46b32043d25fa74c2d30b783ffe86568014cc2ddb1f7b585f868dbd101b36e9cf115410bdef063535835359b7eb62eb2136db792c4a361207916ca25dc6e5e6242591da35d4aefb84976ac247734bbee132054445f41c2151ee7d89eb83f93949069b4426441540d15e4587e5d5b43fc4b388bff706073dbc0f2802e0127f2d289ee3dce7ee3c158631c57e5e51f7296ff36807db81c33c985ccccec4c2bf35c52ccc1b47f80e2eba6655363f96e4c58eed37709d0ddfe294f8eba5dc08d982dd9ca3940bd87cb6d364d1271a6f35f3c3d93fce93a2824e6f9c2f63335b7376ba3be9e0f7b28fcad4263dd9434c61867d72ed6e6af32ea79930987f7c561f8805f8ab04f073b83565d948ab9cc00f6e44285c2dbab302e30ac099dbab1e207f325a3a8b4ccb2b68005a3800d76eeeb470c3e6f90a186a98d01cd245d184d8b0152b6b47ded2d912f86f3f8e5fa3eb7d3b0bc9aacb6726415fc4f49cb966abb27a11a585d6e6a8c59b6d09e4a32a8cabb977845882d8edc1c3bb9ec87034e75e6e62bc2b7c442d657f1d93ad9b824218b1f78d9f2c348fb72f4ad40e7f67e0ed970fb1ae13c3fc7bb504c790b2fe02ade67bbf2e9affb0f5acb1456e2f5802bd11b8913601aa97496a17d77508e8f8d3fa2da97b13c514925678274469f835640a3fbd90fd32b3e28685230a9abf34cd607d4a801c49e00608b09e0c1209bcfe3081896bb613f611c3c115aa61ae3fb85c584b92ae12e3b1ae04010ab4629d14d465ac92b43de52ff490fe45b6f5c8b3317d38dc2c6c6e76771f93d7515703f05ce117ed033c639900f94f5529d05f8af25f786ea88aee22e15feb8fa0dbef2288a582e59e9e1e750f4658050a258be2926904dc445dd3e605d718729eb8dd667c88890f12df4bcd0afce5ebcbb83452978ad67e5a1b30e9acf208a7c507cbae9aeafe7babf43e9f177a9a5a0e0031ee97a5e00ba4abf1caab24aa6a9ed4cce2664a869748b2891d7d04b923e51444190001927efa38c01fad81467cc21964e7c3f5a70cd6e8fe1d6f958fc9d193681e9362115f76983aa27f20de40cb0dd04ff7eddc8d245c6e8dae42d929d28593c83bdd19d6aac79184113c65e2261b6790fea0ee83c90b5c79f7b8b70b7a3b354a574bda54826d952a0561d2e2465355bbfcd6cc9b92c9e95209636a779177798f0eabc6cb91f71eb121aed6eae501bf0182cd3191f5a4df6b2daecf6e769a98791416fccfdb9cc372f57dee3717243cb29e919bae07e1049f2b47d375d019484d8e702625cb7a7e357a59ff8057878bddafa20f78acca88c3e4889a48ab88d0d3b48a01bd6073986ce3104adeff053e9f39da5867e87f0f96e0d5aee4e53a293fb3995eac1170a8f943dffd2f4250c930162a9dea281218b50cdbec6e3733e550a0544423b89c6a0f998db9fb0d14d9e7a3fd01bf05fb66de63e8d98a6285fdf5d6dc56658d162c4951d28209fd8fb1d9d627449dd6f687c26f21ea941169458e7cd34b8ee97e6c265209cb8fad198ff6c43c1d51057cfe1d6d38685dbd4355faaf7d7b0cb334d3904f4b5f74a3e18cbdf82f952992c90220755a06346ae6eea75dbb9e47976c45a3ce6890f1d46a7d29032a7cd23f5eb0048e793942bfc739952f837cfb1c66314bdda812a74ddb505267fbea89f53920964d377ffc5bca50a609233e04f2cf8e7289ea69bc3c2e19e3ae73ccd82399d1f35b9fa66e943592f8822f62888fce3341364fabfa65b718a567e3be69083f08753985799a6ad22beb02ad5a687994a5e411f2d3fb03b4d949560b72fd4f0a9a58927c474f4aa8fe0294f6deaae889ad756b4b6ab86ae82709583d97347ed52475f0fd69dd934c61e35e1b37be226ab54d35d42bb18165e894b7c19cb4cf7f093be17c2b8f69bc0412dfbc56b998240997ebe431d03dc8d14467418bd1b367b32f618affdad63b54e3cc95486bce7a5d1c78cde06b086da70e8fc84316c8b2b2fc2f0c3510b72473744cfdc27141b26cf297a6c87f1811580b71002317f547ab7f27f2f0d244563201d0fd2998e2435831f352565ed4cf0b4c38fb4fc5437f1e2180ddf5119aa22d5baaf75baa7530cce3718d1008724f8f139951352fecb5a4444728d59eed217b598837ffe51d10952e600ccc0a663b13f318ea8e67dd61ac2f679e32f07702cfffe386d71e577e6116d8a75a9bdb8bf9916979816891ea8f5c8505f4195326d3d86fb63abf6c6ba1897d324a648f276c126bb2b600072920e9d173846d5700bb92d5e239cf1694d6d44955a0567e6dc3ebad1020f6695b7170e2600c529a1c105c0ffcce06592137484108069aa13f29ce956fe2bfb256809fa84ca9df9912b95967264234cecf80abe7af996cfcfc97933c2f098e0e7feb91b5732d061b66c4ee3a14dcd2eea23ca9830970a3b5b6ec33d7ee0d60838f744786d80dab890591b4c14e4fb3a4e649370b0255d4cc1b05b4089fa09024b6a7c55f498757a53bbb4b39673bae22f39442b10b64b18d2dd05f65ad2dede53156eca22314a13a7854dadd0ea96b60e1c1a1321c6b34afa371bbf91b4f298bff5df253ec40b25d56cb06d477f7a43cc12772e53c2eba9829364b12e1e4263ee96604efe2d91b4eb9c2120d3964eca900427370bf8bff5b0edf60864a9e37250c9f6a08df5b2e7dfe49fa5f8156cb41c67a9958a38d187aad6f574ec1325ede73de15e916ef33b1abf1bcb925a4382f2cf39868eeaf41c871ba76df6a0dec24aba1eacac7f4d05bc6df6e62e65c226d99ea4eb83470e305e28c7e8a541df6edcfb139fe1ce4f04a2dc367a862fba8d32cd0d81e8f17af78bd825ea9b828701b493648fe401409615fd885b3f838069045850b81c21cc0a35bc30830f6c3dece03beeb063b9a4ba52389ae0f5384e7685b42a92f8be1b721d6d1444fece077bf92c1ea867de27f4104704d673bc49b59febe9a5e09808ee1c4d3d56f4963eb735e9106021a43a71a1c87b197dd9018bbb580b002a83d38f2987ee2085c26dccba46870e11c1355a006abf8594647fcd4749df307ae25c5aa823d6f29e0e0d19dad150cf8df233cba2d12049b78110299ab340eeddabbb5a688338f5e60bbc3bfd0e0e15cd35ae8b10963562ac6100eab748965b0b7764a776abf5bf681d8b130e01f58f3ff5f1027c075dd95c434653c962b3264259924735039e852d07ae9d0729ea1f6f9eb6e7338b309dc052cd24cf376e14b57974062295337b80e5da465593167e8a4e9be821347ef6d1bbbbbd2b02fe770df32c929be0915be0896b0e32f0a1deababfbea3a4e0e1ca86750759ae17295f7bf13452e70318ca2255a88b4c8154ce5e4978ade83411cc30e53755f52aa443bf1997c6f531b0d25921033e620f599e8cc2a6b0fe98fdeaf91c0723dbcebef8f25c961dc269dfbe50af20879c183e2a7aaba8c41948d89defacbc9ec5e9cdf50915c6dd0e29b2df72521f4dd616fe32fcb8bfc319718fa3e4c1bab445fb8508b7ba23ecfbdafc6f32bc1ce75dea9ea355fd12ec24ceab096dfe60108433859c722d3857a5ae2b34d9011c3530c7486588449fd72cb85a7f177c277d2ed982e0a989e190a04fe6a717aea07fd3dc701fdda6fc233b5862e5d8a5124acbfafcfcf9d99c5548ce64ef7455c05a1e2874b9320bc3ec3ebb1b412f365924373e79e9dcbf46b0e8b6f5c55a5ef296ed56d26d7cdf1077e72838303195885d9f2ea05b99240f0b1a769424e16ded1c4b247a11ab4c5e9ba3b3ccb052d1db917d2c0ad43f991e860f81289569cd081a918d530e47c11e373177d1a5480b62cc385451fea10df722ef13d9330a304678a02f41279d8c744644e084bfa54801a4ba688bf468a538c39af6ce0178eb30b1896dae1d4d528353758fbb7d0c342bb6d880420185884579490e2e6a215b7e45ec56291830d4c83184d3b449fe83b26da39e8f9675f3e832fdab657a4149be30953c79c7eb5a9f4783e26e258092457814be5bd6044e1bc451494c07956c7e64bdecf2235cac435d200dd1f0d49f8f5c56c5b5b78c7aef645f25bf7653ea4438869d080986c79b5bba7112dc67d4ec6e7405691e596b12f66f7bd80c0a170b5e159a0849366cb05f8c630d51cf243e3fb5b7720d8e0c16bb746278a4218e68d932485a9ecffb6f9a3a397182ce5fbdca0e29ca4786d77528f4dd58229dbd9d9c23be73b1f4300398b172e81352c9bf1f3a06d60465082d37870d72ede2ee4107523092191cfaa8aef478027816201afffd4c65479462e50f4f87680a238cd2b5d4121cd848ffbf52a1f5603c161c377e91008baf6d137815c9b88ae30f526fe2802c3b016e4c3432da2890f1a496d48fc86df182ef9d4e9922a6150bed4ca201e7872ad59190f621923d51d02733f4d31dafa5b0892c19e533b366d870010fdc3b1770d0f19c23e0586ade147c41d4bf5e43ad1af5ccaf87401a0b3093844fad0e73308ebdc6ff3d12e9c2acf9d3d709f912593648c217fc53e1e4e638749b65637c509e686050fabb48a447f0cf68dd72fc6071b5ac507c92b59888434332f2e682088ffa3490a5a4e24af6c843f221e198597aa93ed6f277204935bcd2be522ab83e4d1b31ddb87cbaee8d31275bfc2504afe8008e263cd53f16ecac3184a3a75b3fc7d517175189c54223c5ec850e030c6d09623e08115fadd5b17fa7d14ba4d1f75f69d6558afea53e600b88c0a72e4bf799f88181c98db2aef59409def29b2e4df8a26ac490930e77c094314f6cedc5e3d71e520a78d077bd7cfc22b58660f6acab7499756770e366afe8e7d293f66d21162dc1a9df14776ec10837296e24604eb05eb292676ce98ba905372d23f53d57d42712c9f3a6c671f2d8b7f4d169342d980f9ff22a8af52bffc72997818b5489df276c7e05be33c9ff656728ad99586bc1a0b4d2c38c546584a76c8bc47976e6be5f731f2776bb7594e693579726be048d7290c7f7ae7302029f27c5e4a9397c2276a13ee778a8e50b920b7d078e997be5cc0616ec20c234238f9ce3dd045e44e41e16d8c484dca48be3016cfdc7dcc9ee66434143e1b6b8c1f91b89c6b0f22847b3310078ca6ab7eb735c121503fb1ee31a415a9edc8136224a03e929e162206ff58656d1cc281258901d5d71b37f6991220c569584e85d14eb1df4fbcf37f6d53dbbc590210d1c3851cf9d3925848b43364bbc7302f99bf8c85fc065247bc7097aa6a2b7f169702d7d1735d607f51539a8e91102cf78c1aa206551c9378089f324ddd02150adb665bcdea2426e5e110aeeb1a4ae51b0126f5c16a7676d76e369e0044ea3f17e47bd6cf7ec3f7a69c4addae359535bebe658691e4857f458556dcd23bf09b502e58dbe45d5dc0f4a7b71332054ed0a11e806f4de7e0f5bb0f807d17d29e5770d8d23eddb71fd78ffbbcbe002a9992ae46e1ba4b991c87577240b5462218e0b9d886a9aedb7b0e47c622897bb154f749163c7ca28f2115a3223e63dd1267538425085a731816816d0f574b772264a1e1b640c60a713f063ae78dc8e39e7c68aad11cf0948af1dba681b4d3dc2277b1cc6c7eaaac9049f5df4f14b19029b28b07569fd6d12e6860a799626feb6bc631a32c1e2719882f281baa748793a00f54af71a6162511b576168ac895b5721bf5a93acffb0eba6a793089e9ac4fbadf1503c4107083e06e9a2da2205eeb7816fe7b9166e4dfc4811f4438faa7c3ebf92fad52fcfb3d8df6c2b07cc6cf248dbe084f709efe89a7b186b7031ade8e79564b186f40e3b5f513c2cc818ba12b553f34725eaa74464e7401638cc212a54ad30867216fdfc7a0e836557bd8a3e51f8aa9a22157fc15047b2b099abbd4da55fdbd97feb191e65fd09c8038a823806cf8f9c446f12b872755c7b23f45ac75974e3994b24909098fa5828b0c06a6dde3462f2279c7af81057991c0fa79a5d3ce2fff059fe3874a7b8a4af7d1cc8116e79da9894117e0c087eea50beffebc5d522847d1086a657af1080add8b11d8aa86a59958169405e520f93782077079aa24e52babae5c44c155daf06bdfb96405276cc14d9d5843f11d564338c39e1a86182a6fbffdb0e032d611204fce63c56e3b3168d9b9c781dc85c3bc56fa9e9fc571de1375c4a0ae08e658ab23acb32f12ae3e48bb04972b80155269f24bae3302172ec86888dbdb93f0921fa4a41d6ef32e7074f1598225549736234983e8e7603e4e76bb673a58eace3e133d1c96bb8b7df71f7130f06eb1eb75029295dc2f3c75d3cd9032422bc4b97b6beed4fbc71a6ee53d72a158849457e91523057e58cd83b2ad397704aabf954477b83f2714ab36761fbfdb7d9ed4ef11f77d6cbdd457c7f2091fb040951b6688d581f99bc04b26d63d95a1754807199b59336e5938091ab9d0d754a9a53e56f734ceb4f9d089676801a97a3eeafe60dc0c3468cbba11a4f3432e8fc558f55f5d5e1eb989fe7d1e3a448c10b70902a1f34efbfed7d288dbabc5491be6b8bbfb540c699cb3073b541b4315b5608af4db7eaa33b3404bad855e9b15a300381e67d273bfad0b69b21e3db45b0d5470a273e19ded863709f0bab4936e59bb03e8bd7ff173df5c2f8a517b82444a2811a82ddcc7f33276220d4ada7adc148e31d98eb81c5fefed5d5b0201beb80366c0a8321dbe4de6db9a3fcc77de422df40a682769a72a35f22a49356bcaaad7a760c4e636b7283371a77eee292f8e8688b8100e3ca49c38cf3ba012286ef8fe55b2e008080595b7236ded3babc4d5fe4d1a20ff6f70837ebd9e512198c3e35105ceb3e05743c34af40acdfd07f7c852c1b94e44427d4518078782461057612041703670b78a3b90138d6dadfc94d7ffa2364e41c28c0467100b525c093475562c2eea13bc6ba10f8668a64c3d93800ef9edebde39137ac38b8c341a3feb5f683f6d9f1e5bbd4cade4a1884a7c3702ff1ce6f53dd358d6dbf2d4324f763b263d4f190cee598bb22bcc7332f1cf20e6393d78765a561f145ec931755adabec433bca47b685a14842807b9cba7ab9f0173a03cf4b486a7a7eea81e1cdcb55f94ece1abe3d19f3cebf6ade3c6d1f6a3d6c659abcfd3ffefb9461c915911ae3a7797197b670baf9a42f65c11075e7e4de88492e725fad2481168cdb26c9316ba94f8c64c0aab883d71c98f0c0ff4df4fe3294ac4ba8f10e6a79dc7c06b95b717d2ccd07db9c5e4441ad3d702f957678b779f37f1b579324145b3c1c6c0663365e40a8461486ff8573652713a51f00b6bdc7a17e0b96dcb8c8d1b9f7fbb0e7c422d3fe9cc173e78b054e14137e578f1f25be73dcdfa07ba18aec723fbca38ce378c7d7a62cc9fae8a983a7481f40d6897b6e012416f2f69f5fbfb26112d89f6556f3ed1889d7dc4845231802bd1ba81dd777e14569e6cd8a7094fd30260c527485250e5d177b4c0499b8e2e78d18601694b4817218a3b56c9c17a9c0f9db2e73b971e743656c00f9b5a267bd97609748bf522683d9e3d46bae02a968c01ee4866cc449c6e2ee526c20f9785c5b2fdf6d8c01439aca0fb4a88f84c50b2ab078f0d9a4358694cb3fd56000e7240d5de938ee4dd0a30c75eacc2d4fea356028b20df7a883bf02b4b56333d508b8ea4b68f288a5bdf2041f5c4a771c2741ba9f37d25d4bee51040b41a935d906dd778317659b4374c023612efed0096173257c58db6224f82fc1674741dc3b2e260d2274c63aaa0ce5e6ad35a661a0286d275a8b397bea3f6bc660077efd4a8d2a054221917a591b37145f9b32601dd27915bf53c4a6a2b3f8516b0e7997377dbb4f72d147128f50dae270893336d8cb54e8ad4ae40a39e7e2f6163b404fc7f9e4e7aed52151bd43702943bd00b73ffca7e4682817f5ef8871a580d23e1823f187bafaefcd9be54d1c3539f949c1cd5ca2bd76de1e53bed82d8878f06bb085131326b6d48e4eadcea4f3540aa649ad3a546de10ef87bc1291c6772c3ab13ba4783bcca6c365c9818657dd01ce52311065c1ed52c86e873b128911713c385f5f0a39a2fba7b78cc8b8eb818fdcb781dcae608dbd625e5dc65b990a11209dc6d7e0d0a6bde83fec3773a39d466969197df84cc4c45fb27cb168162a13349dacdc1f478e39b7d624f13bba12add6d4cdfcdaa4e694d7576124fd47ba085edb1253d4a6df85d53e1ef837dde52712d4f7f52c2e9978eec8d80e0a9fa10f2999434c71c7c03083b25e184ca26e9658055ccd6229c0537310b1ae3e590dc204ea667422f967f4a2eb512ae3999639d9b7f924e3c048ee77da85c355f5a7c558467b5ebefa23ba1d63dc256bda13e457c78ade811fd022a91b6cbaf132069cabb32741695023ca6e5a402402f0c5f9a72237a1826f1fc21dc33bb9a98e96d7fa30f59b39be521c076a531e3a41457717538e30162e264f98182f485d48e8b795810067f5a441433c88f7175d14bc94d3d93f0f0fe35f6e1b947a8df9951da1d9a53519635f8a7f4fa15f2ac0656a16f8d7ed1fee63974206828e6f3b634fe084007d5baf4ad203c91d613bf60f68091fb43491e414c7c5e4d7c1f50f3e6764f00c7629269d5f725ffe1fbdd2c2debd353ef5cc6b54b15cf65469e3580848ab41d06c78a9bdf836392fd0c97a75a7e3ae2f2b5e65d14451e77df93031ce4294e2f75f8bfa790f06ecb678f5f43ce5e75e5f6ec6120fbdeb814aa02494bd3f9f70eff5d9ec6dac61ed385b6d5c7edee4ae78299fbb29f9a6da2f35eff32bf5aecf41ce13ff9fe790d4439b020563f88ad809789ede5349fe1eee7219b20e9888c96a615627d489776765978da73bb16b6fb3afb458fd6b5e259b5bb7a14e57d4d61c511335f7d6a5ffb70e44852ffcf54337e4435cf9eb284aef5df2e496f71a6d4d3300faa37cc9fe945e8a711f0638c3de33f444d2ec9e3dad5b04b398a1cca3b2a4ea4b1dcf35a6ee0d670ec84d93e0671e1614a7140544daeb272d010937c35c57ef2eaeb7ad647ce542102f6145aed1187522abdae2c9d0887bbabd9c70232e78d12d247e5990c4579d7bcd6910588c8aceea7b3407192f77da51c5186cf770d73d60cb630d2947660b4665cf50373b69593b21b710b8e9263ca886c2c861cd1419609e0fe0727660a8b5f8b393030787f377ab3aa9f1fdf61dd8fbf5efd40bc1551a4407d43fe54795332c0d78ca767f3d0e360395c33c344cbf988ed89c06fd10b2ef153756ffbaa7922b13277f6c9872d67e33ecf54264758f969a4fb2cf13ca1cfc1f83514d76a82c38d8ba9e9bcd27c836225b5347b398caed2b44892605b8e5cb0098b239e6ce8c624b32909435876d197a56216309b412952100a891fcb6d5cdb306ffa6ce29b3a98d74101685cd280f96758b0b675fde3be430ff165e198240601d3f4847a83411deaab7ea2cf7b7e047f5131b711577352cf9567c6529c503bdbaf17a0bab11ae2c59f8eb6832d219e82423e7f93f09d9c1874404f3dafbfaf535c4890b1db9a79df66955cb8ae456eb6805afcf1cb7b9c375e28949f2d47e1a8048485975ee0c5a1bb5ab7b2c093f268ae78ae6ba408308971a7f3172f8ea8a838393a58ba7faa991eb7044c25d25b07825766acd9610c4962e97120f17ae1ca2a28c4c555886679b109e74b9a352efd3a336fdcb2bd61134e937c2b25bf38e84f4b365bf5690851536099ec77e787558907b7cfa57f79de5090a13f486ed83a82f049d6cdd095205738df8489f35d641e4eb7786073007b8748dc90d573cae044be02b46cb4ba3cfb15ca207c7167d5362610950b6fba699e10caeaf20fc270b687d94282b363b68339ea2c8dd5c615e55df5b121824eae90bd13391eec8f02f8785d67fd67346083977b0cfeebc64a5955cb4b47a982e4b57337e821396787e766a3fb084e591fd526200343d88bc6ae96e3a680c63c1c48c3dd83eab7627f1c974515d7108bcc6785ef2a24940b48bcdd8ea8cac363517985f1f11ecc393a74d78dc40aa393bb205cacf58aea9383a120ebc9263dac6495e5c172a416c89fdec97b154a91bcbdd3a975a879a1f089af4a297052f04bcb3904bfc21cae90ba4a0f907f20f867ac1b45bdcc81c9d6fea5c186a0a210a02194f7b93ba60444e1176a482270d11aa89b4a33d1ab7980987fa3005f8b871a621d5539f5dfefc8e6846e8539eb9f9ce8979c74e01ae7fa1fe275e8e30fa1268edfc65bb02b9219b638b27049520af1b19b6fda839cb3a478351b3bfff95215e96866470d2bebd0837aa262f66e21ad91c8b2c6309290e42cfbd2d56503f7b0c74b2ecc7e133d4d6c6807f0bfd95af2a4c1f9692f6f24ba14c1b268bb9642416ad2a11d3dba00caf0e0b523c088837430caadc1350d1ece755a367de48b263a6374483dca6bde179aba0cdd86548388fa89ceec95a8047614d9314ee8522ce52c8d953a90de790bcd89cc69c9da293967ead34f760e8b2c994f1a9fe9ea6b147620a0ab157b05d718f91fc50b45bd816c6527328c62bf0054e3d8114ce7bc538111d24e9e56549df64a76a08715099a58fc715beb588f26cb48678965d8228018bf136c7641e19278a1ab5cbd17dbf377464199c6131386155d66c554d2413af66a336aed0dd3cb195cb43608fc003aa28cab5773e5d83ae1501a271c310e9763fda426730701a4ac59feda41f183fa8105a6b7bce6d63c890691cf7ff62ac7e26cd4f7df0c0c1456943f95b8d8bd95532c92243b6322358ef668e72b8dff846db8311ae1b08af571817db8abb9bfd9e2662c0547ac30b26be33174374f7b706e4ae9c4c04d8c4c13275efbd7919567129ec240b2fdaf2889275a73deecf6634cff4de7b4155c7f8771e228f37c9279930f14849b9dfdcdbac7b1d7f627a8ecbbe2749f0772bbde7af28401e91a440d87d74fd1a71ef4c5a05087627dee6c0b12e28263fa2de534041af1fcc6d9deb251ba0fc997ba3fc49bdb75bbefbb768247b302fef5e0080db99b31180d2e1b1df15acb27d8f2aee6c84aee8f9e50cbaec01978c9a846c192464a98f2116b1e069d9d42d3c2160b4992dffa8e04b0c54574e096054829c27fdc13ec429e55e28566a621964bc36686b007b8ef4e593f626b0039f28dd23ad15cabb8bf1fb3594c372181fcb6183d6d6c92c562495fdf0818fa0768179f23dc3b76937e6f56176b68afae28b23605bd643f3673fe10ce8c8eed20aa113a8289931b6b81b43cfccdff77a1b09b571cc1974c6640b357d3e9433a3cfa1ab92b9f4dc2629eab15418c585542dde8ae84b2eec6e9295f3cfb9a4558199eb0fac3894eb6d06d0677756f696e3b76dad504a553fec4b6b8ccd0d3b4caa1eb0f4be8831685138a9e01a3ee6be4b7de70d090a4c8a3a63c04c257d6bcf7687b343f1f964a6e5596f7829d972ff418156d7618c9f5dad9f7af83aca0bf300e5ce3ffbb731fa671ea7a343268b1c6687970db7f918aa26e2f3e4fb751415fc50233f47e60b7f2df3bb2c8c139f99346788d9d9799b0c388956cca1b13aa472f38e4a1135a14292ca82de3ab80531cb1951b4f88e0e3230a382ea1571c0d06210c7c8c6dfa10b02e0b7dfcd3d9fbd7bcb8df33e66072f061f75d7369c992fa374c797e97d8cebd657aa15b0b8dd638102b85e521d2b5ddb9a48493f60d7db83742ea901cf44582a10ec184aab83842f36b56d51ad21962bdd26d4118b5e3269c8f30f1fbc44a5706eab6c34da03f468c08e956e58fcf4ae5c2c622f40351c3c58fcc9b656c239f8a4cd7cf1e3332200113d8d85fa2ceb190e5b8c766e8d20fdd4504f9c482aed976243cf3606ca6e39060a0403c62a5a817cb63f7b8e727800d45c8c35a7be35fa57e34157ca166b23ded301407aaf08368469fbcec94570e9f71dd9915edb35e90bbcd01a405064de7ca3149752df827dc53a0432c137a75cc0f57807e41057e14c8e6c99878da8d3e63d213f36d53b6fa43cc875be220267c9ae2a34998c165e9a0d1ab513ef1c4d2a2cf141a0d4797c051df61cd6e834f64722b819149efa9efd45ce25ff7d7808cd9a1e233586d059ac1d8bde49528836b9a339e80b5f8ff7f22aa4c232bab782d812f03bb0600b2c9a9abe9dcb2123f9ac2fcec3bdaef4b52ad4be336faba5cc5336bd24f738955d5007d74a0ffc8bfcf9690dc0678276a738c643b3acc36da0d1e3c80d1b26bc5f18a60b586b962c6e79859ea1e23bb62016856b2d8157b4bb2edff81f6989d48094593f55d534f254ba58cbd92a4f261bf7faa63eb3107cccc32a1ceed5c2ed20e9298694a11a4c2b644423836c04559880f2edef92e7882ea3115c0c397236bb5848bc0da2d34f6df8fcbe350cd03657f7a7e8f994f12eb847f1a408a062902ac9faeadc0ea8465dd50b79912236f628dde03ca4f96257e3f1451b5789955fa21d22ba96fd0edd0ff41e6f82fc5acebb6f236d05eb6f6f1b1819a99d8636b50778c4925ccdf97d597d35d01aaf0e135692aec3bf57bc899c6834acc3e3e756c163a52d08f84436fed857e05fb0fc91733103b7d918c75cbfd2f9765b81c45501a043371c929eae9a74a3fb7942370b244d6cb9fa7cebfc6be41465b317210e1503aec7d55a55a85cb918ad2e6d4414ab27c200d30eadb8e0bcf1f345ce0c869e997957397fcde8c40aa4780cc32985a3d7727bf550fcc0c129196e4d0a0274e12935eb0200b0f21cadc58a7cb09571f369acf73a6ee97b2ab7b5f5949c364456371b3d63ea0f874633022eb952e1de32906e0e67d3d7b3a3aa4eea02340b1efd01ebb25b0d4f5d09b15c9b9966c7472bf00950c3073afca0833db8b4a784eb26321d5c0ec757528af9a7205836317999e439925e95c399c649eb835e258c6f2ea9882b6422d060e4f4b3643061d3e7883b095c0ec7795f8b0ac50a3dd819894def8f1726bab198176bf56cdd11234b610bd7e2e995a3fed49082c16d1ffad7f0dfc7bc13d44e5940f9b525591108d581a4a5b4023c9250a84c2aab5541a86ac428021cfe5079da2b07d25322264ef528fe757624576b5b7ed0bd6c5700bce6c1739e6e39620099599631e4375d84b56ee09b19671ed2f57563edfce61336729c4c36dba8387e5f2c497c21fdcdccf5b0117e58511d2e3317a6b920f081976be97ff2c0d6923fe1943f98e9cfd0101818aa9fefc9c086f630fd88835666238838f45da77876f18827dc33e801630a0a92c84a2f0d0b1d944d2bf09812465b38ef6c394e8f02d0b8fab2096e1a14c4adbc820ed7b4e04fa8bf92f4df8d8b782c24b3d85214073e1a742ceb6e69a4cd2bd5cd23f1676ec8ddb60f6fe31311c989cb560e734de74f02b88d84329ff235a40c62e79ff2d8cd6064f8609460f2e0dcb2c1a9ff952905647ade2d15383e5b11bebc744ecd6910f3c8c109c3e4343b3545c42b3d6752fd31412f680686c888355f9ee699f362f59f88ec432e2f9093685576ec65d017883111732333224773a33efb96474617a57a85917f2607474ad65fd18906036a77fe01b330a1b2014d8bb470fe83e876b9f22cd67c58134c2506d170586b539f8a48ecd552eaaf9f3cd1857db6774ed26a8ae0a4d8a6d8a95a3550fafc6fbca7dc796385f7b3c522f4ea11551ff6007d75857b3a5ac4cf6c867dde1e8252feb778673529389b2bf3785f6d6499befcdd8003ee7b54daf9267cf9c66655e89bcb1d2b05f72eda045416b136f93c83428cce564f42064c5c83f3e3c5a2f8dfae0b110a045f27cf7be521d47c4bfab659d64b62983ceb2d4708c3d236a8bd08a3e61e3d379675d59017d2ab7c6c3e386ece65d5bcbe57eccab7af83b0d0775d3a8bd668be3bcee4c958d4d28c7696ac0b291c10f9fef7bc75a0b7ec7c1c1c933fb0b5c49e241cf821f0764bc5c81f17fc88c2bdb9e2ee3cbd0a151eb23f619fcece80eaf2f0abb274dbed6a9804a534cb77a3c273b409411c063ccd8313dc5fe1ad3d09f99578dec2d6e2990726905768243e711f6744f404f42c43eb51d198f994dada115c746dfed1540675053abe7555a57591f29312980240be496e1a14b43b4d3019498cfd14af01379a87fcc1798dc27e21b1d120d4d5aa08addc670e50636429cae47cbce47d4bdee9c0c8fb8d26ae2e969e972cfd472bdc129e9ca415d39ee41a1e5842b17625578f605746ec216701b69f38404bcaa359158364ee32921aca1bbe3facbf3b599d01883a241f2b6376735a6fdc89af5372ae3bd4dfb35e382a8fba3016bd4a0bd9542e57c2913b3478397ed5b8b031fa8f0f05b71ca43f79a37ecf3b8d16292c8758f5e94eed8dcc3b3bafc3eec7750e4986d70b5203da69a036b64856f2eb37868b1a2a5f489d419cfbe6e8d782a0ff219184da6e74eace9d1292c42b625c2bd0e90d639fec49553ead3409e42c8a7dd4884a1134df371aa134b58c94e69f2a658dbd2e9791b4d56f82b25f9682db7eb4f2adc54c9c58816d60a065a08ab4f540ec57152b77597633ce0aba9201c34fdd64680e2038c4616c7eba0fc8b588b3fc49f554753a2f73588d7749bfc0c7d7db50993ca2856956a2c53184672a488989e6caf5b460ea118182e7be86f59e5f7cf6eabdb2792f6f181d9fd391c9990fb735af2dd44972d21a351f47806d40c83f657a186f8584df2b7f1b562615ad50ce980158a9f87ff7f5d2580c54f8adc4b06db666a14c30f8ae3fd55cbe6f90f1297aef12707a6b30cd42d354c386fabea17dd963441de16796568e4667013424e56989056cd7cfed16fb94958f92ef79a737303089b5bf2bddaa7beaecc8d1749d83855564df14e7bd303db849e5f3b932df16f46c332f7f78cdc2d29bc57af1598ed1aac47c1de53bd09fe5bc92b437eab1e5a5350f0c757b779a10f08a6ab05c405faaae35459bb81f584bc527ddec61b83b5b09bbe2cde40f95e5fb021dc98d3a8347d9966e03aced45a6a231c9f1d89708253b10cd62e2ac6d4338a0e42e69cdd5d688dd1c61e799a33e4c35e5f127706f57c44b679bea02193146da9f6990b596827641749c0fc6059763bcef8620c1c2ad2410dc8fee1744f887c768cf2c584e96b8bdbaeb759d568e77f8fef9b4d26f131a38b990ee7ec2488bd81dcc48a03c16ba4cff6f2a0bb38e04c4f2b830c01a95af457a4db0ebd6689c17540596c43c9ba4649c63a65e0ea2bbc65710da2a626de412ca9f9eb97d51d735ef7bbae8a4ce1dd9dcdfa2193e7655e817094668fe56778d9c37859468feb2f5708d69330b9bcf63c8d3711360818fbc1b35f2752b7ccd0f8fe085f213b0dd71419703bd2f7cdf2985f1ae2b75973f8f48cdf7b036e7b08bc913b1d72605fe34796a4999930ac4f1a00d8f728ac73337f54715555892a136b9bf3768d61688978a3a13f76dd3f2b9c41c7628c8303972e67801bae923a3db98b8002384181dec40e7b7178d8d1132d359cfbb89efb2a79fdeba88a58df796adc64d66a1e399dbd214a8a077cbb70827c903c9e2d1bf9bf86fc3fb5fbcd97f40efc9f2057ea4d6db0a84579e79baacfb4e9780f2d8d86739c50b89d0fd54b4dc36c9503bdef7ddc0c55651b3c29b795bc5e20d84db97fbf4e3c5a1d241d6e87be3ac86f8fca9998027d38ee64af76308b6cabd53dc6bab5112d55f8f2ce93ad013d4db885fabe18617e8ec2507fc4bfbbcaac0d0eaba60def8a9cc12ceb91a567e74e55a25fe766369e4db8d2131ef6427aa19ad861fe4e0ff2de3ee38ac2eca301ca5be2d07acef0e9cc11c997db58ec711e26524217d4ffe2523e7ddcf25b534e63407efc7681baca9d48bb6853ec84757b77af1e862de7bd610b151d21b790c81696a4d1246ce7cbeb95f50caec943717dccae1582299683826b8b9d8809a0e10c5c36d9578db7d8bbad3888ad55e2c8f18ce853410eb4a9e682ef8e920c2d9df351b8b49a3900c7bb13ac119a7c0751a3aa1bb23c3aecb97cb1215f495735589289e18eb9fa136f8f7cb50fcbc9a64af6687e8b3489f7156a4e4100648e0e82be6d15d3406c5ba1f7b8a6b0ae6457db77039d6c606e4666f7d0e08e263e1667a2db28c4a928033c3bfbaddb8cf7b11cd269b59c8d85d593ea7c99351053e300e51001434b432e11da552154a6db3b7566e35184fb22716ee78c3ca10351c2f20aa901b21bb3ff6948f1e25ebc914c07cc7d657d42f54bf47af66bb6269a2b045e6e0ff12a8bc55fa2688458afa667b0f8119c5f1d8b545bba82c035a2f5100c865771e4ad8f04649c9ef4a0394caedfae79295d1db8b63f5c2214c16d6147bcc91ac94becc66befd534ca7872de353db207705acfee001c7aef4661a6ca2dc97704da0f7a3fc2d48adf0cf1cfebdf16afc089453e6ed6bb904b64b780ad35dd02db870c03e851c82fd16c96d00b2425ff9308c57d66e414e4882d4d07bc0eac699dc545a8e70f4b7000d204a7196ebdd8b85313ed3e9165d83be5bd92e150ac8ce9f8edcf56bfeab675a75e7bf1324ce7121e486271ac41554a5202832ad4dab195b820ef66fe8c471c8372b3fb8649b59ece1bc5d65e90c7c0adcf83314e91f7f99b9e29d498497bb6d3766e2c929702fb49cb133c98e95c095c6fba356a84fe5c4b9d55fcd51e28a0071e387699b7ed9bee89480dee27fff707bd5765bf85d2f777a20441ced649a60e0e68b34bc06e069189f329c0ef75e4ff8f6fcf4dfdbb7b0d44243af518ec7f250d7c2f6be0885d0da91fe979deb0d33c0e00522e5b22aa7d68c24390c610832c3af1675f96db4322eaf7dd33b9ef2af9952ba74b4e64aee5a79b8099b809a7e35f260f1f036b5fa1d0a3fc9cbdbc85215343764831db9355e5c7a724b86c962d16d3b3508b9bc12aa91f8551bb3afb449d99729e7035b92f1d55c05e19497e5199823d892b2bf031a4aa3eef85ad025402a4118c384442c1907041fff31b4d3e63631eab22f84f58b17dc08c662fb7f2de6761cc106030452838bc9b8cfad363141e7c7c063d6b4a54e4461af233cb9105973a75ea685b0cb495962e1a468bb4623fb68885bf4a898801dfa9a1b085604756c87e8373ddc27c28325f535bd637dd4707c62169cbc12d13b5a5dcd48457d82a9980f826af1b4797cec1e2a0a2670716dbfb7ec6be400eb093db71ba66356eeb208d69576067c16b506c37610b9ba9e8fe6d9bc64e443d162de820f8350eef5867a2ef192cae8b0ae10cf2f56efe1bce8643f802c443e2b6119b33da17812f6b64daef86754f932b5f02b155c5bde6e4bef96d1ab3109e64ac335e32876e097473ed4d2c4e1d657c11273f7ebd63498c0922cb82edd88e3edc8dc1cdfc77c36e45e497b422eca593b886b5a942606f6ce592383e6ec752b4c31f17b91ec29c2a29fc81013075f1e6072460bb55a8596cc2ac62b9aefc4fd324cf136e845b4e06eeb843697ccb37a0318da12a39373c30fb5356ea06481f2ba8e1029a3e4cf48615443e650355fc118f888a54e0ce0840bb96d6780e142e58da53dae9174ec8e05784f9ca3d2cea45101fbfeb7ee5633f33aaac11c74c41dbc3581dd8d96433a31660867d242943c953ee758e72c1dcaf2a0576497345810f1598986eb131cad591aaec8c5bb48b743914d4f2207d60e6aacaf40840212540656c41b9787da4c46ed0b5174f7bfaa18185211e0f7e19cbd0ea0b1d448d372651851536eca7bbcbcba831e3151732c59660ac14eeefe478e2306e12814917e5e3190ff0c1f68d555a987283bf54c8316a9a21df1f2ebafdea3fbca1b878ec8778bf01c85bcc63f0db955f2441e72a6b5f9eb93e2cce174caf3d062ef0d2a6fed9fc24d6fe0a03853e46ebd334b7254e1927f47d255f251bf55b725b9152ad8d5a8ba8e66bce6133c0807c725f9171f903c6ef54f2c3c695cf2745f5bf57b6427fb4c5203c9fdb508fc1e17fe403de436245677979a71e845a0011c3640029282dfd432cfefe4b1a301363b43c47116d5ba60241834173cb90c68fa7bd362e82b0a296a7e0250815bc553c3e991fb179ab2f8a5b6c3ebd41da71f99cecbda13172a38d2bd50220d519b0b671b04ec48b1c7ec46d65b860c464485f2f0042d4515fdf4bad8aed0b55f1d90f7b57aacc123a07240459881550f07103a507537e0c9663fd75903887944b5e601e30819d3d0c783a128feb1f374a99fd7b3d784ca7c09c2d51b1bf23328000f84719977c8f3a122cc057d5dbb793411a25c3c245cacde3294232b996702729e2d13e41b07bf0c9e9607493e45a538f8e22a6c3be1656d25b92e733df8bb993c7615aeb611717aad45c440d37d946d06245d468d1b8f93a021fd98cb6c41e840cacd433c5c34296843047e94b2805c53d48ac3f984ec4163c4aa39169c27f46749ea31f2271f5b9d68e6aebc4efa05333baf80af205328602030fb08d0217b972523d99c69473bdb798d390939fde19214b6feac8bb702eecc64597118d9143107a34013593d88f64b880add10ccdc40b58b980ece516213cecf3dee4689776bd7081e60ea6ccb6b7d96b08699ee522bd18b1f2bd24a4ba6bea3c2032b9bc09fe8b625c906d2a50115e33158d9e8940492131669559bfd94c600240f06d7145385dcd1eb88e0049aac2c6407b2aec7b10e78c8d9fb267d568861150ba4a6e7da4188d9fdaf36e226d5069a0fac223d2e2f211101de8fb9d217f25eb68fd576c2daf8964792c9331357c4cab8372287b002a8546c56c36aa546a97baae48c814d03b1aa8636e9626aa4be20fd5ce8d0ab5b1aeb6e8de03d88e92b04092c6b63be2e658b95295f7f9e823150b93a507705238c6d54d8dc7b01324f39cf563f5769f7aebcd0fd7bc5984339cc455b5f94e93b71354fa83a5a109ba92aef739b6aba84f5a37d88e51cb1243f891adde668363ade8e9feab70f25ae0cd65c1a06b2e096d4b9312ff3e00e5c161df6d067cd4c8bf936765567665e0d11ef4e1ddd693dee2276ea8969fe35231577f41494121bd42d0701d2507d83e715acf82e32a019c83fae051b4360a9efb39b4dc6a5afa6dcd060482ce529a0bfcc2168f8134cbbc289982e6df9d235f4cdb11a0fec5900cbdd67998215e97b5ba48e361d316f4628c0bb6b7d163f43bbee069861b9964dc259b91330400514a9b2873c4e84bfeac76ef4759b4840dc36e2d473623d167bd78b6b2777224cf04891f9378eaa5762793be928a55f61d2c20db1c04f51b5611a7a3a80f8f82207b89562868d60bc3b3c7a02c7fc26bcefa9e42d125561f5c8638a48dca03d0578e12482d5b00e7ff454e9488da04960cb2e76e63dde104fa6fd13c584ea2456de0f82650c94a2d42ef3ca876dccaf584a6ab3941cec484d0b7b92988ffb30d5d12ff1b70ea60a849ff9be7bd81e5f75f89362d4eca46f0d45baa2cdf5d4c5a4158ae1d478cda4b74f03388e9529d192839d436d1ecc5b5c36ad573dae2a3bbcfccbac16837add749ba957d4fde43a901d58ead8ffe1e8aee1971d494d17595ec86efd2ae15198d4b4a1c25005116ead4f57b0d9033facc19ce8ce2d2d7a243af2c3b6656d397a35f75fceb3dbf8a77bbe942612f9c5e30d37fca51d1454a1fcd7da9ba356f545573621c6f8a666eaceffff414b8cfa5be21823de488e6c3b683b5a5034489937538b5c04dc388d9376e7f107a797e5be5d8373f26a005223cfe2c4d435ba01e7fae674f69d2267862f8e7f358101a8008fed2eb1f9c59bb1093594530acef027aedea145507cb6576a9b199d783fd77475261b28ff68da1e225ee35d265e5b209c9c5c3082860253521748bdfcb1cd8236a3e08ddf9fdfc1ccf409134e741aadc3e4a6b52a3b4167a0ef9c40d5b5f82a99985c1877a6d9fb7ab08d98f7eaa99f76ecd8283a53a9942f593adea7fc5ec3aa42b57edad753704cb2bf43384287d0defac7bbe9c8aed44da1feb57f3b7a01b4ca8943b044727e60fc53d7a89a307aa9e1f701ddbf33b7fb185c33c1ac9657208490702c3659474feffaedaf5dc8cd842c9c5ef0c1b8e61e74d1b0ea62dc34105cf39a1e80421bfae89932d97216544f9019f2e51b26e02d6163d42f2fa765bda832fc0fb28f9350a0c4f1900c5de250171ed5871fe252435a18b0d3cd5f937bb36db0d674b17e42c984eb8318ec7f27da8a2d2a1c3cf3308ff294353e0d3dc8e9c8708778df8eda65d92f94375187972870fc5bead4868f6d52fa5739c16b56c7205af65318c6bad7a3574f9e5611fc95105e17cc0069d062bd4e3c552b0798f9a5608a78e3b6fd0865ada2d0af39fe5eff655990d3788370d3cb4cdb15b0ad3db3bd5f69501fe713da58e027694982b5dd68eeb61f76b2c320fdb2debb7d7ea0deb47873b7f2f5283d16b7f0bd81bf23e5fefb998e8e671f2bd7eb2a693f10504e2a70aa3c6dfcb4333ce5ca611ada2b5bc6ece88ef918dbc359d29395160443dc03a4d2b769bb4facf745793c6e32f927a5e0c22afe58a5dd83657509cc91f3bb1de31c6a2c850d3e7f868e92ce0560ed5dee3b310a51df2fddc609d5bc2ce56af354ac0a34468f9163bb7046ab23ffcf67129ffc7040f1baa6e9da895bb31089a785ffd42a050325f81c35f0ecc4d29e019d8a60d7c7b28d14f82ae287b4a52b8b82e08a2f69e3ba62dd667882dbc2b73a17298ba98c0e76d4e55105b3b6537aec4104bdd887d8d1a549697d43df5dba5e9f84b25a6354021bb08666bbc52a699adcb37a189af481801655d689592cbbe3265bc4923df8659ee44f7aa18b5acd1f0b43445214ccf5a182e017680f7abc68483c3259c6f9087f02a675d7e6a8d7cef7617cd5fd0716022806a92beedd61886fd49dcd6c3138c13f4c9501badffda16b9ceabdd9e9136281a30243b456efb7aa26d4cdde913c19f5ba8a2ab9c6f051bee83e72fab4fe87eacde9b71f7816d299612b452b888b4361fb967e3b830f18f9eb388758449d92c7154ad386a216a5e85e5d1f17c3c34c4d90e7f350b25cd4f654eb10b40a9c295e2e659e7058306162167da0b6a74e16f4fbef99ebc7dee70c1056d0d0458091ed512996cea03c39869ba8a2e52a2339d00a8e039c7aa9e12a4facf6a3110cb5c61eb11417aa7ecfd8d01788ade3a6f83b44e46ae38bfcc065c1de7c0879eb79fef93f4232575ecdc1a1221ac30e57b81cdcf8a254ee13dd3990b92a6ed129d006c1597ff984f7361cf93b6f4218bbd5c79a53525e74ecbbf39ec21906fe94db84404b40550658f496766638687de2bb189b05f0f4c6c21a82072fc627a13f17855fa8804e4e5a460ca5bafdc2f8088f8dbd887bdb248ea56432e5e375492b532d80f1fe57c9dda2a78f8ec5e1c2d1a7dafafacc331bd08659c5acd1f658ae78d4144ec006c12ef0e30cba5bf2c30cab60ab1f6879c8c4c0831471452a6844b60b0725aa53e0add77b13ac707178181bff0af9fe447cee46d616ca14c2b3760613d25c554cf981aa1b70803ca35f492af4f150f436b6e86d3686cd3fe56b7b56a1ca9e7202762ea5edad939f475bd850b7b3fc5ff4d0d055df5f4d6bacd8c99bd66dd27b962fd602e898df3a23fc07bcedc4eadf388c40d7171b379895984ebb3b8061e96caa1717ff41d7cc8b348a89e67624cbbfcf474ad5974e3c1fdc0946db619051c711b6e30d342937f81b5b4cd00e36c610ff1ca9bf125dc7509366e555906d2e202c090395b5843f4ad1b1f149c521a9bd70bb7a4a43531eea9ba8da098c85bb01e67a23751a8b4e55ee807acc56dab82e4b09d0ec30e4b7cf2a63fd39ce8dc744aab731fbb984704d4a3f01813d5233719b52039ec418845d7fe143a5e79ed624fceb501a241ca7cb9645115c5591d60b70c97a5f6a97a70ee8fcf463c99e75847b31000eef6b9f1e30589205a96fc75d2858dab4c2ed6a0336a1600e5035ff6a04e13e3dced13056aaf1e2300104e3108dca637b9ec2d7f1deb479db4beb890d8be3db2092a3c148a94e435b056dbb9d7e4d0f139b37881a3f8dc18f8c1f162f872e582922ccd33a58667d18e83fb6021a350f088c01ae27ad8dc5eb74bcfeed2377b415a122b9984be7b1eac40d4d655b108ad91af661a7624e14f303f3efc61aefbb7a0fd6aafc8ecada7c5c0e34c3aa917fd2e4d9e111ec78da00fb0f5f1cf758c2d23447d4c5ce9138893d9ea6ae05edf7382037b89aaf7c5b8fc18a2b195bb28bac875f1973a18b47a1c6e5fe5fc49a07b247efaaface88dc4d5a396915bebaa71b4a41153c267b4e6c775af87d0ee0b5e9d86df67313f64800b56421f31f0b3c580f0c27796088e170e75e2bf3df402699a6b5d8e9e32066fec72db1ad2a09347c3995c6e5aa9b4951b47a95d59685f1b74eb543f82759cb3d70a99265a6820a1f2d3fca72db7633dedf7b0e84ba692f8300aae35d7b3802fbf7a018eb3280ecc946337a316237a6beca620fd5f06c77b085fffc3ed014c24a14d85d36b4ac791048750bd5aff56a4c92880b9ab55ac81d8d03b6d4946e2fc28d75cf7c6b06c4ba2e9f2ed9d6be131d2568b0312c6bc80afa5afbe8e88af160c5d6c5b8ee07d3b6fb4d9c40d4a113fdd27993f7422faeabb44a5c9b590c79279c8ce6c30b95256972623e3167149fdd19e7395f989c5f3fc346fcea8ab7f0e2bb295b337822649ef12312d7ec0d35dedb9cf02f937773d491dbe32aa07c9b918a602939764f8d073fda12fc9be9c38f2427c2cdb36b71ea1c44bff10df56774baeea0868cb631905c225ac82037ddfd2c7e57baf90cd291ed95be4d15f42aaa0132d39a28dbd5a69292854d231d3f6b393db0e1ac3122ebbd3f04b01f8a6a8da1f51c2c564014569f545993659a69559b85caa25c271d2187de4dbc9ec133e8a306497a634ad5aa97cee705fa14cdd4d5c3b813859ad49ce66835d7a1a1e080a1b7886c6a6b5be4117aa7782ed2f1932001007d3bcc082c455bf07cfb60ca9486ffd59bc706c38bad9f056cb58c42b5ce4aa08763b0e85398af38432d2e6ac40552f0d7f031344170779fe9992c7d7e1a93ecc6d1f856db6f3fe8f37d58e612194fcd164eeb4652369362a9ae74189f3f64b6678844188555143f1f85f9c8777afead26e8cc8ba0e85c91f3b73f095d6ce1c3d1cb7a73a9e14665c83f0071213860dd4e79c3bc5e6e83f5b0d05c3334934637a8e3883627a6e9544667bf2bfd0e84384b903030f8e697824e1569e58cf65e83e3d3002898899e6a8dcb43ca6916f45ed4227128e7e4c5defe3dc5dd6bb1891f10382ebeffa7d852a4da20a5aa399ee1c9507adcf62a1f5c7a76966d140ab6772ceb59814b54143addad247043fb1bc1f26ae43c81d056b42a93f7a5acf040ac192cdca113218b0f59fd5c36d8ed6048de1f243597aa543da4c0ac770939bef6d92cf5b070bbc471f44dd155926a9eda4fe13f869930d5cdb58dbfe541821f8819abe41dd273da0083b123a66267b24c00fa75488f58d5795656567290e45458d3b40e58bc9e1599911e9a60dd3c2f0550f36a575c8e2afae7e4c35b7c673162e88f314be254337fa71fafccb4e9d1abd0c992d8c8f9df8c6764465a750ac3d76e303fa338b4b4702e52900bcdd8e75b8733588ea555b5ab07d7fb777129b1765f62e173628399d450d71862f4bd2f43a74285c8908858aa7e1a6ea7caff97f715964beab4df7664d1fbdaa90482e8d2fbc21728dc846a065e26c3a239c623f38f747b00208fb5cc16c79c7ebe8b489e0a1c27db7e04544dcfa6d3fe6dac206b276302678d3bfc039fcf952e41be4fe309db7829c792cd6a75abc22bd57bb6f16d7ef35b091787a3dc83270cb679c3e670db57cf9916492b8fc865022dabf987281a69eb60efd0152760e218168b4ff98b003b9f7b225fa4d1cf6f88fdcdd924a6ab95acbdf1cebc2469536c28eab11cc1611d174235a8c8f5149a9f18f037e14a48000dd297b7f266e43bcea98dfe2579e90852a6c164bc5453226a736dacc8e5cff8ab433d65a1077398eb2fb444063ddc6e0c0a4d55e1e10fd970fa8ec5247d6727a743dd1349ff9b450a6ae4cb139096afe8f3f2b9cda08cd75a5249a692566c5939e323e50e36bf2d71eb45cf82b14baa594cc15630329ad97238bea76d965f4b9b15f527a7eaac6c4482c2de85e394c5836fcddaf0cc2f89dd93507dccaf6de7e4cb6ccc68645518822e6722788bc2b24053b75b92892083ac7ffac8b6604a165ab99b4949946a09e57cb86eeecb11c7b48af163bc367581715fee14c84b7fcb50d34ee25061c323ecd39c8f2fd8775fdea8c283cc85eb380d8dda253463b61fb79a5187f8f1753a75dd1a9a0687f6c2e106a0e884becf99640c9401cf25b8c445b7f3a3e889676fd4c8a52307d4c6899b1b50b1c588a5c118be27f3bfd1f65428d7f5dc7ec5228098fd3426057f0b0f7ec8d05d60f9d62d2aba543546d99710166caea936c51819fb0fee2f6f84ff69d197dd3002c0e6599ad1a7503b2b7f35cafa6c2b449860b460a21b52e663d2da4a19b2d1030b437b2089f098da7a8b505ee9e54d317c83ee7e5ab0d9889f98b8bfad5cac1070465e4437e43877f98490feb83fc8dfe1586dae737bd41b52aee0e0a43d4b46c32a08aeb7682e058dad520950fc7ac5833ecd83ed8e7b6920dbf5b12718e7cbef88d0db28e3ee3bb3cf26ba4a724678ae3932cf3fe7da294282ae0f099fc98fa4cc4e31903ba537dfa468559d3fd513f0695a03f4a357be40125a696634742022d41242417dfacdfcde4bd1c08267cd5bcc95ba8dba4de85e6d6a464b3a82eac2725e702803e58557798c5221ab532be806256d98e36d5f59fe44c33782e379e34eb0aeb65808edffeef1d06655d0936b54e6c73c6b0bbdc4e40770c3b1fbd314b500c05e537bed672cba695d7c467fbfd9d8999e129007b9990509943a25576d43ff146afbfeac7ec491725f817def7454596ce47ba0f1bc83ba4257a36c2eceab81ba5238d895e2d497754298db9ac7126753c8c896bbed1f4324b1995d3a536a02f585422637d332d624190b08988c558831c717acb0646e9337bc2e7c1cd7cec19f350c7c0e1bc702a879b1b62634400f2c3aa167fae7fcff2e904ed6a955913dcaa9b531ce7387c4f6ca44700e70c18a7335eef42188726629962daedb0b4e29619f513363246fe89a9ac74f3a67edea613c00eef6bd3f025c3f072ae99cc1822ee0ae8354917b4f9d4132e79b4ea68be97851408e200e23ddc970e1fdb316549c09424cb1e9a7057b13e878de7ca8b0cbe78791b79e426116d1955ab7e7e28393ae83ec13ac90b6b2bd38228e22e09b14f745556af01d4857cdd302792d250ba14bddd107bbb1fc67465f47c06200664a9327ba8f4e1b84762065b0bfceb1d6da7d07dfb6c3a705414cf833a245a18c9751c04addd6831e8ec761fa1e5d13624c7b3bd012690bd7e67b7b296bd24cf9cb6f9821942f3bfbe98498815d56447b6d97b6b20ccd607c15ab5dd0cb297556f82635c51a5a53607ff9874f32526c43eaa28258d292a3ac4907cf7231cabd8e7e1fcc45fb15990c2c44bd30c36ca3826070bbcb80b2671a071c7277b6f19b7aad814057e24748cd85c61b4353177e6d4146716fba580d4d736b2da1ba6735cdde8d91f4f443297e9cc1dec75840ac10743c03d221f2e4d1b63a62ab8011653aacdc9b808a279b356b68660f819bd2bf657974ff9ad2626871746d2daa46e0c2ab54051002d4ab5aca2914a2e92a9d742ab95ccd38d91d50c9ced1f369323839edcbd293a703bacc4a7a350b57d21eac178a5f079f4e6eedbc586ddaec0c04dc1c7eb1c900cb7f669377a4ba32ffa43f4757691eb7077da2fc1e51b546d6c69ed056fa7736da5aa5957c842e62b8db78c4e6d54499a6afc1232d45a5ece57eec323b58aa7c2360695dbc5d7aec34e26624b5ad87260fdd6e1beafa1cae908dfb5777b04d9fe7ecbba542878cf02059701b80fffe611d324454034b477ae2c7b268a57aafb000abc7b865e081221cdbef4204b450270a23caa9acd012f3a12a61c29ba7629adfbd3ffe2b1cb9fff9f6c2f9f7486893e0f12092058b616f3081e13af3c1b6adb4a16de9b6782aec33823184f20168572026aa3d848d44f2c82798faa92ddcbbc49dd964a0d48de9cfa20ac438395d0e7a8c16ea2220589dffb22cad29f1c1e512279d5a444fc227680a6846e5af94b1a87dd9ea6c6a0e06c196238859d43f3756ef0ead5b63a583048da2340777034258f09e54b4f0aaeefa4597a55088b1b8c752bba66cdc0b7c21360fd1aa5b183edd38daed3dc267b15ce03e3af0e93baa2793ca8e395e4e5bccaf77eda991eea0b92f33c2558822056c59376b0392d5ce26de30f3e86247a926ac7a28b936cd8fe9919b5e7f38f8d77f2f2bdf6ddbb46622abac61fb5c5b344d3a93e3dc6c0c6d82b51b945840409356e8a0d909f4d1bfccee12dd934160896b361b6320327ba9c56a664a05d06e6ae4de1059a3e6251b7b16b767adfcc4d9907d8ef3a6a089bd3888cfb8c60c8b400d655985ae34bad4a6df56c61cbf8a3489353a5d4afc830c8a4518c71c24c6a832644aa5a73b2157c9a3f20869c0594cd1556686d43bb05759e72ed9d4751a9aca207ca1fcae23d743ccaf4502003b50392eee3b5c7d391394d37e09c117908da631d7c9238861529a2805da0480ab2c81535770bbe8102b58756781f81d3c60b190b15592e6ceed80f9fc3d699f2f30ed2173d92fbef2138cfcef31d62e4708614295df908834f9a1744163e0cea6e376ba78411dcb8309196bc80f1389e55e67da56990f15ccb5bc68f644cd4b8037b52cf1b3656d1b4931b6c6af2b196922e4b7990d47defd779dff0e2d3b47024faacbb1d0e3e93852c0a3bfeaeb38185863846a6c3cd4ce133a2f016cd96af8bc128f828c5df25b96cd15cdbf299a2fc71bfd85628ad9eb9f48f850f64451e75acaaf88d8bc2be31a6d136cc924e3360db5d95b962cd13e18e978bdb763aa3fc1bb0ab25ad1eeaf933c3c2db170d3e79228ac4bf0ec8ccbac190a02b6354710e3860601c06497bc355e7eb053c37a7bddba44ac43ac0784d9f1ff2624ae37411dca1e996e312da3f2f95988c63dda645a2d3563d09a30565c0dd96387c9ab568f753c06d5de40fd2d3c63700cabcb955fa8638a1fd0db8170f2ea540022dae214b562ff79aeec51f4a66bcfde63c4498c4860924605b3578e9221e360ec24ca333070d98af126c222bb08ee79411704ebb24cb945039e80c82d34610b8f818b4a0d11bb435dcb986123c4282282671add6944f96e4f2216c2bbe1131ba4187584c3cf76277e149e2aa06f6dc07a3098b22f59a270efcf016a282bd60f672466612b32f612849e01ec8c04e898db923c5fbd375ba8e91e735416758f306c21f2bc8a7b8484e354f79bc1018a75a2ec8c019e5c5a154d13356a2757ae379abb6942dc0f5f3a6d3ed993f5482e7f1476cc8a678ab3a9f8188e9b3e990a5e4497d726fec0ed074f209fda070ad2cd2fe834194c392651a5e0da1228b5bfdb63c5c7fd76c15859de761d38ae634aed373188bc484e451b01ae613865e07fb1f129083af347def678d348205f8094fc5ef29211627b43c94b4b2fd2e52673bfba83c0561266ea57424fa1be49208989c6dafe3de61be0c4c4b90eb3d216ebed49fef066c525c2da1ab850c453f3b6b7235ebadc76fdeaf13c5b6280d295568c8290058f9e449e5ea552d57969b5cd12a2d1a3bbec2148606b35c3bbdd917ccd11e7b955fb2d2501b1a199a6be5a6180a1efd3648e9db7c981b5214236f6fe7b415c268a51c3b2f213dc6b32637957b46d648a511abd3f1e45ddf940546f6c4b5b8df8d59adee54302e5fe600b8ce3000a8f8f97f0ce2995eac2c7b1d2efac9241e11ab187d7d2b5c7f382366275d91c02f6adc5fc269022a8cb38384e87a71ca1f5738fc352772f50c27e497e679c0bfad66eff9b7811bc74f6bf9f471021ff63413736f199558214bf63ca8d7254384aadba915a4a24b6a4d60e472e826f5b01f3bd24f128cef2768a88a3262f4a0bba0b950cb3a478e1a4c9da89ad71a6b9987365a82266d4143abf8881d22d6f2b3faf02aaad7c2b5607535112ddbf1fdb26ccf35fa6fa5cfbd22767e7a18f100f8c229be6a1d5af1dedca42c032ea8b0ca905cd21d6eb569205d804019ca37dbd939f39e4a0cc0eb32a49e8fb09bebf40976bf41a274e09045b8893e183f3cb00c626a5c62a639a4b78257f4ae01d7f3977fccdd694419b98956c8107fc96ba4b09869a068cfd8afd9606caa4b5844901d4626d66c4ff0a5030850376980c5a24a4103bee62c4046566d7e1a875189d0e21096f2af2834a8747781adb32ffa5f0e3c0c7d1a1df7c44325a98c1b0b93a564d8670682464abe196bcd650853c260cc72f7d57cee6a8985d1dd3f3f82d74f8998c2e4d6f6e33545b5009d4975b174713f0feb3549218bb6bf8d5d000262957b55c9c2aec80beb7b270ac2591a12524e4075094d5281f17dcde779c1e4fc152fb6abbcb0251774242d8593327f6f0305838569a5fbe43f9bd05e3155c67b9766e799d8c66434ca1734329b5817c24dffa1c21940d575f4733f5fe61ca1fee9c8f7627265c9036f48bab6d45de9057008b03063692d9ee73d9faf1fece9fcd453a58394395f2190de574dd9cc2ad226e254e0ea8b98cff6d3c4fe7e66502a665a2cbc56bda62e07f4c126e01f41403dc8f6ca6265b18c2cdfdf246bd93f29a57b3776e981f7443f12daa86dcf62b3f92f8a8cf1ece48ba9de48522773018fd8d96809d9295baf3c080db03afa11b13f0f4b42dd3e516a4bf4a0c8ce951fad90ea15bdff41411358b80376d8f2f87506e1ab5320b5b0a2f7b1a92cafaec8e5fc9a5429c80739107d9ef5822b696b06ae9e84f4e42685e16968fa202d4789a58c1abc0a6ea66abc080107f45f48d8d981a1982665d77e26ce788ab963c7c8d1090d19173677be98327127bcbcc44cf48938060f0455aee827e57310b17f836298dff048217cfde8b125bff8495baec0ce320a8b92fa5aa76b5536eeea0d0d7f3827b59b1ebb8c18eecfcc1356ecf3c93d575f5a19299a0a710f77cd88f58174edd91d0a8b27654e34ce541f37332a41ac92859b8e67fd42fd4c4f36beecf48466b8d2fa981171eb1224f052897ea25b7603a15c92a94e16904455654194cf5beaf8f556b273fa9b4af668b1659cc49d3014030a877ef538a6ecf4fede19326e28edd1fad39aee09da57ba90c0bab5455d73a35a555ce3fe6d7802ddad4c16a3b4702f0b99eb7e0c2035a864e321386c1eb5d03a1236bf82a8724218e4a85e9d258caba658b258204ca82f0d654cd22a3aa8e84831a3dbabfff7a02116d0f64c8d0d2dd7a61ac7a56a712735935be01348bab515e30d93f1b32bc73fecd35ce641faf30c5444109c8bb7d3a8ce3fe8991be96fdeb84f6c7e31a4c300310d4dac4817a8aaffcf52d1fa77d4c089dbf6dd17e4e100241c21212d8f2803ecef4179d457542f57851e94cf1c3c4e91855d64809956e0d79e82777e5075ddc1cb7a2c8443d8a0a1b463c91f0892a1f23a87ae6ceab7a3eb17eaad9ed335f92283446bf0ef260cc762dbbb82a506f64a2a4b44dcbef6d23c63b78e16bf478d1a0ea6b60cc7c3e2a608caa5a8cd8340c14870de02a8940f1c0608d200c97ee9d961f5cddb01141628aa9a9854c2dab1357ba3119d9fabcd7d50992a22f58949a12858b5b6486c6eb635a730d8015b7d94b5d6b96554972248d56f284680c2c4b72508dfc502bbc8c4e20d02d3b7a41c7016da2f14e4a9e9b66fb9098dc4acde63f4f869892d1950a427951201f4c3e3394dc2c0f5c2eb13dbf4e178185cf7c4b5d10e389047da1bd7b2d6750f5337099909be656ee7f5b7ed8d6b2f3f9746bba28ef0a25def01d9f148d2a5ffdbe77fc3f6425cdaa4107e6d819dcd49507f0b4bb71aa73a2346c56d602fbd754ac24d8695a2204622ce0f32249d56a5c9f71a312b3834c3b7df7bb352052c2b9395de3e312a2b7c9dbfb29e44c0b490f5469b3e0298ad2fe8cdf1933f75ebae3d93dd248e600b0a8dda58af473a0ddb123b598036d3dc7dd4d329ceadce733d5b6d82f5a9045f10545153ef407ffa5c2c243663668e63e7e4f5a83cdc2764a89836ff4ec5a721b2e652c93d48274ea0e5c6f9c6893657d921c67c9053454d9cfebcc0dd74c15151a5e3e363efe706b2245bf17a221b2d68b65160313a9555975751e6c485246e1c198c5b0d1ca0f8fc87f02fc7704e4f9a56e16ae85c6200c9f3bbe0d411fc72f7a4beddfb89b37c71928f3abaee48a171dec9392eb10703357e43f8b4d05740be2c6180a0dc283f294f926f8b9a238bd251c8d86307b072f79163a685fd12e5126b016f2f7b183aba544d61bfca0131f99a378f37d874f2c4b12d547126c057888489f1bf100647687aa7687ba9775f941f8cdb67ba57ada288cff9e7983dda18b85d0944ff1c1b7dad9f5f26169b0d010f03afffb087fbd67888d70475401f4191a0c89a73c7b6c383d724f0baa11d7aae07a223b1896503ccb64830afeeef9254071527c48024ce4152a03b94d051f28aa51cfafbcb21b4baa91fa23b47b41bc50c0bf4374f35e244a9bc58eb14d966bd63b9a05fb21543068a4e5ae7d74feef8518b4bcffd4f434291f790fa18dd24cab5963391cd4b7eec4bf9a4d78158172adb5fce7152d6f106c74bba0bee35209d667fd71278401e3339b4393184f0ebf0482e352912664c815af87dcc08bfe7d388a589014aafd0a23f7008721f39b96ffadda24e109bbc10dea3b65ab6fe809d41b3cedd7bf958cd92cde6f4084fa3cdfe41296f42854cda2e1910e99c3040d34c934c79417736c59e21cce26984518a3146401485fb42c2146daa039a43941ae29e0b0dca453e704a96914925c8222db2cd658dea12a618873d328e3d1d0b0f208f68c9358a9c3d727e91b72f3aa137b020476220c496d6527b58fa77fa109d098d0ba411cb336cc04fe0ed6656511b2581bcb97a7dadd431511d1f175235f4554a30f3cc6f6024c51b044b32353f5b7382b45eb22443fd1ea03459a39daaa67d94d9a25ecdc5dc88237de8b1d23d2030489fc45a89276df1bdc9109df433d789a84f5e4c391c823c9517ce9a02463d2fed73dfd472dbc9e4713ca5719bc6cb85ff003ad580cb995488798eddeeb8f3bce53702b352f1382375489d1f418e9422e862f4f3aba15e64f686892860fbfb77be01b83ca627d14c5306da9ad02f957b382f6edcfff6eee9f5a51a49a76ea933147b2f3949f29ec9739b38e52dc9e146986ccdee28da90c892bfa3b6e4f17177cc44cd4f90d1263a83d052a9fe6f88b45b4873ec5b0f0c9428c9e70b0cdde333b6eafa4fee9bb9b9e3027ccbbec31a0c489aa2e6d54067d31e5403b91f9b773026f36c17e8f0ef241676dd37249ee1aa3ddc9cb649901571c6db04f7f31da412cf38653bc40c8a7dbb2a7ccbf86e825a0116510462d4476ca267ff38e1f4ef29ba5ebbeafe680dd49491b6094a1a956fa23f51fa0acf9e787b78d0dbd812fc59d7527561a9b9fb60d2cdd19eecf1ea1e8fa91fe3ad90cfbcc29b8679660da986846372d413b22f92e3fed3ad0fc48b1facfc661d3ccc600751bb4f354a47f331b29f756b4f3268bf4688310d4bf247e36cd59b2971467e5b45623303456468619c192c50672feb348a86a446a42d59640728bfd1778440f939278ea4476a8a65aab7c8eb5352c8c03d111fbc370861b4248c410ce43d8a7795697ed31a124539c9dcb0c4c9df5984087e22a3e749da02279e30d6c04340c596f47062e09b3c8fb348c476946971cc60be2b69591fcc03e91939b026ffba82b3f155c96aab306440feecafd04e5d9cb1c3e66419af81afe616938e0c6741d5c332b8134ed152a286dc901fef0935ed5e065eaa43fe647279653e21ca88f5ae1fcf2a92187b782417fe6e66b1a9f9a6cc3e994778e7bfec75161d221f360cce5fecb27ffe397ab095eeab10a06b9bb6e824cc683426e7ee581d7afb4c8d1af7de3d3a3929fb3636cf45525da32c3a25127e1e37de6b130aeefe2aad6108eacffc09236aed0d1ec704da7970b82e40e437def3d7e889c36ce29c44da0c009de8921997010309ae5021d4eb8106585badeb30d1783739d59759cf2b7856f096bbae2b4666770f3908ab28f3019c912a6d9b3b96cdb3bdeb4b0ee744d1c5f630c4d50e29cfdff0b7136dffded72840bfd97dd075c416b664dbb543441db2d4e5adc78da71150ab70fddd589c9b2372732ec4e36cc13ea641ce2cd64587dd2d21d37aa318e500c9b8c3be544b1f48275f6baa7a9e7cb7c03579762e6ca8fb429607d9b45d381f8432242391d847b0e653211f795d873158c3a4a64b3eac70fff99ebc9d87d89711cce60db37991c450e91b7699f3ef5aa7f3b709c0578608d443e5d43b0ab9306d7ce6debcc4937a81ac54a4b09b1a5c4cb81026d19c16b48bf3729ada3fda2a812abe045e170cee41c892fd5dcdacf4979ed58e0bfb026fca71db5e2b0a7bca2dbc95e36f597e148c12d958fe845504c8eb8031c31c26d61f75077b787eaf8bc0b056bc4ed8e3e402c0f2f2c712dfb0640a91ae520bcf7b61b93cb3a0c29b2ffe74eb1c325d61082d191009c0a1f5713fdad7ff6f0075e7498cfcb0b8c2d4d0faea88a5bd4c4a90518700f5abd24a7fd88ad06b3bfea82483d40b1defff4408417a167198f3d27946b72a9fba260a0f0f671796e869123db101a511deb3fe6d9ff8222d7b786f51c728bd328306f55805e006024fb03c6d0e6b8e5f04ce16fcd3e3cf11515f2913c7f175178f1c7b909321f9f84fe571956b9cfc9ab7e21e88f8cafd0a4ad09f401de3c715bcaf3e549fda338f879f5c2d7267a2ea1d255b7f5bdc0c1940658300e7e10f66d5925f0d453d2ebd1145b51a3e2b49fb851304c75dccc12ecfadc67ac99c3556e71a503089bbcf59ae18fdb9226b3c0d0d86c89c4a184d1c8bdf419f1f0751af51fcdd1752684c3806312ef6855d9e96d200daea34ec3b5da00e80e946f9ef22f82ff297d07b5bdeaed11b3353ba4030616083e4a50b337a6599ac81eabc262fe1e9df5adcd3e84f1bf29eda0e27df327163f923e6051e31d4376ce32263dd6c307c36936d665677689ed19bc5f64ed2d4bc1ed5bb317bf08e8a2c53f2735d462b5bace125a894349b626ccb2fcbf69bf5280f7e6dedfa112b0d7a337d9553ff577e71cca79661f367144b4d0a46f174494a3240d78694ca4ce1914713273bf57aed0431687237b836b6be3ac393fe5362a3f06af2028170f004b876d1abed28e823171f85d2cbbddfb32415fc58c04faca2a9400adc0875763d2892396dbb45f48c60f538d29724d6f3dc607e99a309dc64861d102b435272e507f7ac7619375731eff2bbb07d5552c789a3cf0ece0d3ff0246db99f114ac0dc5a5451fd56579cc482a1c754f5112bae931a249edb4e650eacbbc7596effb82f581fca3cde990b3e203d0d228622070227fc9911c28dd6ddcf458ee4a3255dd1cbd6d9de7f3abbd8f9dd6ebf655ec2f7228c137a310ce41f6dfd94c511c147e917477d82a69b573bff43eac517104be059b82572ca2105018ca5ddd9cae6643d3b9aab69c53afd5c2592e6730d136fb7109276d3de1e828e008c7dbffc3394309783e74f2c46017365fd5e4215d9d5b3e97bc0a02cc3955bf1c6e22ab53880339ba3903870712983c619a1de995ec7efa0a7039c8c563db2a3faba6f8199180a02caccce40c1fe0067fbc42776fcb6d16f5c5dbeb052484d8863e04396c214bfd12d1df861c8b7bea859ef9ec282451a6853254167a247bfbe1b09c8a9e52a427c7e8f33590415f2011cd6f341a305678663100bf411f3eb01f1c488e242e31d135ab4af02358539f4eb51833e106e0ed5eb66eac450cfb04e6e95a8c1a7468d632be700c0265d8ec0e62e7734a65881d1994964e637943a43579e3fa29a3d85856860b60e2efd1b177462249cda149ab4c4337638cedb0b14d9fbee335590d20685a17c618cfb0205b55a5b3f3ec11aae2763b29715d4fe322a8ea50c58092765db4165f7c1c70409a851834dd91bae7b27c9ddb839374ff90a49ea1cef366c51e9cf45e4725b5fe383899ed71993c5abc737748e64ca8e0a9b10cf0152399711e82e1addfc5def94b06b6b176322bafd9940926cbf7a2fab56da812b825cd82600fb67afa9e7a15ef998099b40e065fa519652f7d9002e0211a55bd8de6309851e9e5b07e17fc96a21e7e677b6c8e66cc12b6376aa74d3e01d331105acee57954b8a5c9f6c0a9542edf822b73e1a7cdff325907c4ab9ce4f20f2e33c60eadd19edab7a5e238ef30311738c2d46e3deb2668bb761f9914158c956eec19b03ebb339f3e7e95d98f5185e0bc24bacb0bfb00a97ad2168f3a142977f22a0cb183ef0aab2f553ee6a6e865b87593a954f996d4bfd3cf520d1d1ac0eed89c3baa230b3ac55f10ea9f1703ac60b2e89358f8f1fe8b3d82434dbeefee4f2332c965f9db3ab4d6299c545f0941576f1282fcbe32086aad09ec231dc4a6bd37faf858fc20651caa1727cd3706d272154a0f706517a2351f356436a3fe81a64c128d39992618906065c7179173c2d5e9d3f481f84da5bd14347ac6520f0eee9839f2e995a0a434267376ec6ccc6421e91d3860d934e4a76267b1c449a4b8314904fb6d1407dcf13db0c583de092cc5bf42c466375de77e84a82d90ef05ca4b556b976d27277b3a3796d0e5b5160032082a3cba034bfba227b39315193f9328423874bceeb6281feb8208ff3a52362ec4e10386068cb221cdd0a53074449de723e5a8693374402fc7808364cc0877b42b92fc89621772a60c5f11d088c5630027bf9d65ec1dcbe030fa6af97633c46218576257ed248012330b6a5377e6298d696c166ee83742e41fe691657e3b3237c13ec1cd10a99a783a5b36863c473ece542ea4a63c16795fccd66932f34b9b8e279d4ed4f80cb8c4a122eca4102e5dfdde3f1d480fa8718f637a75db426f6674557faa9f4de1a0da43066cc1b1de17c8c262cc87e9a95b58a19debb9d010a489efa5888c603c3576922cef2ae480fd868c1a7f497fe91272cdd5961b9e5c4860b686185dd6177b7182a61f6af700d9a0a014f0eebdeacd9b2fa4ed029e82dc16b0bca31feb0aafafcb9cdb05711a1ae37f42e8a962c188d514892295d467abf99e4659f31d8cd34f0c131b9ed34d839c35eeebc56ea3e755d0e17a065f05da6775dcd03046fe5c0a02a1624d62092f268fde3abde383cfb61a9216b13ecac36d4a54683abf92ef34e55b4cf9ef3cdc167e8e4ef18c90cd6744c6e3ddccb6e0d42961a52e2e6ea4374ce2bcfa287d0a62f188127de5870f893f207339d68a67d0c00f23c0fce8d305513a2f149c1807fd379101eeb49bf035c289de819f9381a9c2e6e7a13775daed851a4c51dff5a7cbdf8a2be911cc472945bbb82b20de1fc5e41e73e40a1fd715edd022b6414aafde1a7956d8a0dbd9247093b7e0b397fbec0d33d3a5270fc545c561c1fbe58aedabe03191985a92a70c415940ec5efb8b946c1ef0408c636335022c66136584c96e3353304681b2cbcfdaa69add3195c9207819a5e542c299e233176abac678decf436d3299028406cd3d567202dde2b0a1d2fe5b609de9d18b79725b951a015c4643726dc518155d72ef875621e62ef44f75bd6c62f341bde162b685152e7ab1ad845373120d69e632c9b6abdbb2102caca6655fd501252e39699855ed2bd594375a72680ac267cbf153628deac63526842d98f1180c5f5c606ae9dca12f4d745cd55945e2e8768562d8d9626abf2f1a47469283dcf4a00bdf16db1f0a26614a221c4b182e9719c41d1d971a7615278410438232e2c4d1d2968cda7e37f07d29fce1ff2f1617b4133f9572c06188e22eca62b1f477eced2884d60d5ebc4abfda9eb6411315378f77ec5fe1b09e80abbf647617f1f307e6fdfae3d1f3b63c78aea86543a423179ebe98a59655936727786b1bafb8bbc53c354b74982a893601eea041495dbb757246e4dd5bd1da499bc836b7330b026729d4e2292fb338b89650671ee8677699cf9b9d259f623eaa4f8dc9ce7f061445c9f357662745b1a55912917454bb7302c0e8d550587e2f5a4b76f59771ec215ee79d78d6383ba0c96d47394b92ea6e632181935f2aad790331d1c728014c2bd0fe4b94c05450d4116a308a073908e7b3446873224678f11e037e42c6698b7798e2ecfee7243a70156da84cb0e0513a14596bca86e97c7389e1be7da7450f21d8db35d3979fcc7631a0c0cfeeb3f608ea0605ebb329fb8510f6965db0c837daff2271e1b5ac9809959dd23d91869bd3ebe56dc5c0699a4139b3e527eca1bc9700a0989128fe93b816b3f07e6796e40b851cf2b1244400d4faca7bcdd40af6ae1fb3574539ab6a506a747cb84491cbd3f9997587287660a10029d636a81f077406f527e15d0009ed2dc776ab6764e97548e1c12ee3693dc3b4cb76c3e55f032b4081022219fee64adc81d4a0dc9f38d0838e0c96bb392dd2252cd1d3f8a9b2c2ac22f9d18c1ccc50a17ba6c30bde4d525d1b15bb253e9a30b2e2619aac9d95f56a3d7022a89650fa1ecf1f1a3632aba6ed0e6b96e28c19fc39f96044faf1bc060945f45df52cb41cf038f27ce8146cecccaef7f342bc03da623104075ec93cb6e3311b28e7f4e239354d0f2c05dd64d057b3de4dfd32936b99079028c97c75fdad7122ab8561159dd77ae3c81d319bd1fd375da45f02f238054ea5e9b92e1180e9aa6d1d69afe8e0448a082e1cddde57cf30ca32e05d28b1ef94c3b588bd8447b6d06f40707b1ff3786208d837a38a87a682ac1ab455d9e7721c502e550d5f93cfece8eabe9fd02b3eeb68426adec82e3f407fe4972f3b7cfb32d2dd543a11786aeffa93e1a5744120e761ea0d80ba721ebb19b261ab1ae04e9dd16913ceb7bc8115bdf29b76838d710162ec1d10395bea3e8311b3c86cf905346db30f3da13a2557ff02b378c16b1a847c4a2d8d2a719233b94a8a636b26b75f3de36cb58cb1613ac39a7ea60d008ab396a61317f6ccf0babbfb15b42cfd65b360e6d47dedcf76fcaf893a04f6ac1b810a6a3b0bb62e7bfd42ce4c62485830cfa958763eb5604e792ae8ad147a5566a503e280ab3001703e12b7706218993cd5917246e187c91b74f4c12ddff85d4bedb2ae89da218298fd2c2d5ba5cf2cf97103237bff88f72be321eff5a82a4849c09138e45d7ec07b8e7e022307638567f490d972325cb04025c7fc4460756094fd1679ff36f0955f18c1d7dfbe1bdf1b6b01941dd3a67e9a6699a74a7a8a9383f177938275d4ef013d856871afce1a74b05399fca83dc64d85327e18c2c0672c3dc437d9ecd1af47527c87183277a987a60c0da73747849cd9c3593935b47fccb419a9679b7ec5947beb88b5e23ed4e18589e31d537a25df5680b0332e8f600520260f2e1ec490522c108ce88e3a69896d53db654453cde5b4198fc0d365c591c4d1837a840ad3621c5696cca6a7e13888b7f1f25bba91d5235769ffcc7feee68e2fdaa59c4f6508ec9ba52b7934a2d432dc946f79203c845250c8e51ec4e0dcf6465b6a43132519eeaa6f91459a6c80046c970a09a3feaaee65611d51b4975083217d313eea7930cb1c92d79f5b333f2159ab101f86bdaee83153328254621c6c0554047389c4bfceaca6bdebc6380a9a02e91a20ecccc5c6dbc41b469063f72659beccce090fd65d195037792ec9e8b80debee266e5088d8ca27198824f31e59459899430b64a129467897b6fee00eee6008e4fb96ecbe02aacc1d6074342ae251c7c06895f99dc442ec7aa3ed48d89198f25ad14e5feec2ddb84fec0b13eb2b1c796ca7727a8e1e1c9e83c07d9da8632582d40df566d14727ad5498940868e2c072952b1fbc38c4dfa4736ebc63a0b8ddb10ff115af28dfb3d8fd5d16dadace57ecd8aa96706daee1aea04acc15a4ce91501ce75070440264eb9296692f796b484bbd0b9b808cefcf23a5db7469352ca0b1ca12c74fa7abb32c03674f32f41121c0bb16519addd5d5bd6c54ac3ad7bfd803fc391c8dfcfce6fc8910d6471ae80444703d452afb70d82588afddb1c525d246d985bcc59e72a005a657ab32652ebb525013e541a5cc13650dd9093c1c6fc632b320ccfba4e60989a5eb440212dc984cdd1fc639bf609559c1d2492005b63b3f495b9e3a5bc7306652aba88b5cc189f501e0a845b71ba903438f3600f406ff304bde8571feab666986151d454780541ccb2b9dd6220cb4c5542531c30271a2f8a009d67f9bdcc2ed85877d29eee250c4bdc31cd32a4c7ebd82408281f8432ce1c395b3ace1d37ed8a3e71c0b2ea4153cdade588a5c6f81f78ae461f575e4cdb358a9db02e0005dff35dfc82de91dd96166baf3bb8a2f62531323e0d8d5431fdfe8e00f22ae9109799524d31dff9e9ad5dd080c6d0ed47868063987e06aeee64b801a49cfe6cd01040b21622e54ae1042596b3f14db22e1ee623fd1c12e7de219b295dc6447353555fd8c2ed804d64364fc14b48f860d88f70c5effd8e8c1ae859f893ea3a40e55aab69509a239b5d7655230129682c5277f3b92c863675839e8be585476a0eba0f0149e4875b0742a000958141df39087b3b7491840062669eecbe0f99fdb7c7515bd7c3a6636829dceab0168658f61eedc8cf3f8fb741672f32f66c0d84d2c0eaf228b0fac42d2acefcf94ce78d44d56a9a39bdab2a34362bbc8e4b81c562bb5c44403dcdfcb8365cf859568630a4db0a2563050e431a161da524bc43c14edd34db30f33da475be16fc266bb8cce31dc444610690a595e56ffbda875f48f5e91ef6e569fffc577aff10a8bd6ea08d6284bce97ca46b3c85c352d24cb71956c977172d83e25776b52884e81ed16c91fb1f674f152264ca2b5d68303441216a3cac22fa94e0da694536c9eee9da781ced1b5fc81eefaf611ef4ec3259825337ec7f9e5d43e9c6ea61cab9e297d926b54323f02d4d63f303abcd561c35bc59302482caed460379f42f12251b0413fcaaf6921ee619dd71c4d341e61a419db349c49b53449edece39e1ecd8e94801a74f3a5b3046389eccf1603c171415601d2638dd4a8c9d57a818225e670a636c59b3ae7a241eeb00dbc42d0b56134eaaa4c53b5b6709e686d96f5083d9e56f89a14d3f765bd15f4215c62f207e0aa8949332999995db65af8c79f11f6d76a991ad18ee7d924fa7aca8a5caa583eca42acd6f4a869a52a6f1fa87af4ab922219bc6a18f90a085c3ad4929f12e31fa89f04255191893c1a76626fcf1629521ff6e40a0163728ae5ae0ec1026c330b32e590301e97329b1f3befc4001b6b25c0c83c8d20f781108e9d45d87166efd650c3b958f5e0f6de78d294ae66143af2c1d754d234ff449af1e88c824e232a4c0058ff22e8e27b52b16a325418bb49900636c1eccbb3a0b6f8d01df097063aa8388a477b8b462c24789acb604566bf7a84af901ba9e55613902a0de8d172026469be0737eb6a2ec7eaca3ff657eb9bf1724afa0b1f8cb6f50c7112257e7bc97e70fdca784844449872f9045424d3e07bfe62a31b3002f2324748a0b241482a1849cfef0041bc6176a716efce92dd54ca799b0ac1def837827add2c9ef54923fcc037f74ec5d66c2975817ab75e62fe02fde1ecaa05232ededc15ea612ecd58b5cb6a7e4a80a880d79fdc1ff8f58f5e68a7a3d401a191368f850f0f7f27e2dc659e1eff6e4e7900c87bd9367b428e8ea3fc5d950fffa75a313118f509377d83e585de16ebf5cb4254de800624794e80033f74bb64494bc1bd8b99606af29d129ec065a053e03672fa774b0703d5d72c91551b4bc40daec423761bc6c19bb9d3a810ae8f2cbe7ce92ac82057ea803dd93bc36e8711dc452b86398f3848fc3f690872ca6a61c60f58d5c1094abecc57f7c6b7c80011efae1b71783b09e0ef33a28bf1d1eeb259785b62167cab530cedbc8ae111aee66cf31362358442265808e24d946e606b9c13e773468f2ea3decad41da47e4e01cf9683533785246d4b7eddbb4c62001670cace2eb58ae3be01ab13f04c541096216f19dea0d5e2ba9f2934587ba8579b45239b3a6dcf54bce26cec3884f2e1d000b6e8be9ad6f9b46aa855d44e7cbad21a139fc10417d3328e3ea0e740154db3f2776b1a27d98ad1a1219a1c19bef4d8e41a5010ec9ecaaaf12851d99dfd4233c6117c78ee065b10b3203a3d9bcaa3b4a939552d4df9b6a439997aa3ed67adbae9e0e799717fffc1316064b1e8bbaf4d8679b3fa09baad7a131f4eb32e23f256825a65da41900e46b6733201a4dfdc46083e0d5f2b92634044bacc30a7dd075cf40edb9529b6c329bb73a01e5542972b074dd5efc7bc6e44915b3ff3dcc0a292ab82b9e3281215478bbe834830467463240c963a6786e400bb1b3ba5bda17a6a507b0c362760ed7760efe13a34c759b1c95fb9a640e955f6364ef6b11295e542f3cc9b0039353ffb727effb5d03fc99515b801e745b27195e439b0013f24a3a3655101294603fc3dbb24fbcf7327f48aee3ea777b450313020691170a3aaff36c8ddd1712718bc03535424f3033ff7c1447863e6bab863bc954d983589a8686e1e361ad96353bffb9a5e96b09ead2cbbb970e046e24fe8dd6e94558b718a0b4c3ad13ef8f0cf3e950c9c79ab48de3fb8fbbf683f72de2b5b5ef9d0f2b4d2151cca62d6fdb5ca942af70060428dd13eb923271c0176d062be954a95768c449b5fc150bd8101ed0fe10ee7ef32d8a5cd1d22acfc200a6307d7b7286930efc74f193509ce209493e8aaec147a17e0287438724b765b896711b6e59e8ac7b3070cbe78ef655267769db337e55466fa4b1ee6a67e40f64e062d1568dcc64b061d32aa741f124a0a74bb78c800975998b0b3553adb22357ee522f30f687208d40c752e4787f5befc3fef31e3649d550b863d52d2e6aa9b73224b3589e07c99232bf7f7c7e28bf184743b1661b09af79a697f3630f888d0a3ea50bdc7a201a6b5d7192afd34bbaf516a6950b5a1e5d724374af98f3ec032de16db5ecf0e221a6b6b464adede91dc0196dfb84705a8aa5df5da8a7ac709cfac5063de51ecbd35bf9711bef810acfc4dd687df545efcf374d65a6881522f8e9d25e9288440073ac51cda5d460bdae397013befd848f05e3555808f048b698ee357843ff5fcdb38788a92a9c2bc979827b1b17fc7dd1bf5e8f601ecd72bb72faeaaa8443470882c371126c1bac001d19ff76613c535905179e7e20d0ab3da8e4e52d6d97e3e15aec87223293876725262248238e25179c4acf0be20a22552189f299f53584fc3bd05edb0de9abfa2a4f9cb7643d6c903f273035a7bdf411c00aad3be0bb3e177ab26420457973f3fa4d49b37611634c97fa0124a40182200e43dd6b0310639eb4b03f2f27ae921526564fe621f528858159148b9aa589cfc73cee6522816d60bc2b4e59d09d3f2a12de9074967a4b247c0a9cd0e67d49843658899638157106b95566e919a40e6838b425118a56722a7ffe61bf301644dec8c2074f872fd478b10d2c7bb93eb0abadfe8ba6ab36654ba41d0868887f70f6c7be863b95fcc4ef17fe7b660b253ebedd07c7f3eee9af6df3781405192db15414c6fbc2ee1e251cda01ba7413d3f68280a824e489bdead6de8896d8213a72414288a6c49a58e8cfe2c774ede651af465741e4acf91fa478fc9c235d1cdadf66707497cc6fbb1b17fe944f37219bd5e4b5ad050871415e3a3a4454dc1ad3162a3a747bfac554150a2ddd363e971b1fd460d1852d09ae80ba333f9f68e16d159558d9fea7d95e1564c3f3f4e5218f28fc0c340d33cbbf32700e3709024b59fc6ac8510ba7ebb8f1c069157add10b95a0fa91d6851c3dfb4c3c21f06bd0c575e8c37f0b34eb6eeda715eb266d25496168bbc88675898c05e52debe361a1143c0d4ff6767b0fe2504f18cf26886c8a13c8d5a7b4d9a6167c33625412d02808e225fcfb886cd55c39a16d9b1659e40f928e4ca12a6ef9b6ff3b1fcb1321d0b07842a24436e0860f215aac3dca13362f143dab877c999501eea7586de82291fadca28ec45a322efa59155fe3dc00e74c9b90b4519ef112eafc348fb6eb599c556303d12bc4e223adba521b4f8f5c3192d53e118935eb494524c84ab44fbe375100ab3ab72a5f156d99857c00b8d8039e3c8503870eb2fd275bb7a611a967cca19d28c817ad24ee5eacac14a8a686dd8c4a72504486b41073629bd655e7f8ee55300c3f5ef64e038c5c6c1a1c21a3e6910c5b481b5efbe3b0ac2aa0e0e4ca4876482ae106ce331547ef7169116245954b93ebf3a909a1f62f2e9d31f6c57ccbae1cfd16899f41d5c9c4f31ad3b15980f17d7d81a30553d49c380ff5f29c15eee443d036d638eb91d72f45615737a9320e8ef3a1a9f4b0ebc06f5effbffcd5cc415ed55ecbab8a434e65cd5f9c1d599051382579a4dee692dc70aa328db7af9f922357e1c526f383f20c79dc08858c7823745f085e245ef81a7a483439fe195dfa72d8fdd8e15679302fbb4a02c5fc73837364e9c9d894b6166ee85da04c0263d55f073a7c24ae2f20954bca4b35d3ee4bf2ee64a1bc99dd84819621778976819a753a1d448e6c0d5e89c464ccbff1decf123ca4cdc5b27e24bcad737bada3680779e58840d15c44194037c053e078b0b47773d32f8459f1120f2d8fc2a51947c5a071eb0e0e47c9c084e6500df46df42e269cc42ea92fc639ca8f9a2fd542320fd70128f64759fa7bfad7741d5321251f6a1a3acc130794c946923438579bc57fd12cac528e46ae9951c25cfac0f98e76ac423cf1c7048f2301b5e0122d3fc42898cdb91905ddb80c8bac3bed80b41233fb1f6ba6d703f2339b5bca51ad9d0125ad38c34762f55ecc9dc6b3bb82e4f19e7ed092be07ce817b837907da84f800591d7c51c9c3d41e0762d0c2e8c03c76a7cb4b6e129a74af57b5054252398dc7a545be361a2c7e5b2707c10262dfafd1e544c6d5498399da35d65ca8b839d4694ca4b0dcee118b5240b76b564b3e6cc8db24e93547bbecde481a70fd1ef7a34113d28f10d8523202c08d843fab38af7f35042399ea670dc81a130ac9a67feddf088791e02b8070cf5af0194c0cc01ce73a7e49b6cac1d2eca958057c21f13cb9ccce470ca954a7677a2b7211794184b82b25aee361552bcf556344b3c0a56e5c3ecbe7d64386e302fede598868ce1c331c7bfe6bb0458797fa827e84ae0979ec8bd89ca122acea4dd6487db349a67c6e030b28e03c63698f8d6b23dd7b365467cbab813fcf19761968e98cb465458fdda9c03b52549754f8187da9f44fa6f15734a1d1f449d59813bce0af6aaff21de5097f0e55a9111230e5677b2528c499cf42b40c396ad69eb750e199e6bbc14e472caa2fded06cc5d1966cefb21232f2eefc2852fc5448b6439e6f92e9b0f980c08c354eba1fb2f96a0596b2baa9c2604926bc0c1682b8e15b06484035c7a997b1351cda8f822ada4c07e178b7fd6fecbc1289e3a8bcafdfef31b14d87cc5130d9dc346f712b11149498426f7824c6d4eadc871f0a8dbc6f5e911c46f78e5b9454c7b136945afb7a21756835f500e544f2ee1f41b3749fc1bfa9e51d395961a33f75a3847d863d6993ba4278b762964dec22167127a3d6c48f679a7b6d38c2d1f72e2cad2023c9a4d87cdbfe6fb0040c4bd9de481c9d6eaacca49bf87724e03c5024b5ee27fc05e4cfa8492a5b69cbc8036c0a9dfcda7c473502d3488053a8533edb9d9fc1202567a223619e648fc8f4c9467527f47fe3b3871d827ac7d584a5919f042d8b6cfe4856d300d3928b54bebc61d9ea38a25ce930b0ee20eb305b398a6aa2af926045bcb3fbaa7b91508ab1a197fa8e1ff23ec25111421409290f212d2ec8a85be7171bdfcd1b6c8e25d95e1673042dfef5236be8e758e1678713d54955bc3409d290b7b0015d8b751cded50e85c8aa7abe33d3b766690cb4bb22a5f7de8dce0b99faad4b29ae58fb7c26b11c54ae064f6b072dc618b8814008042bc00b40722360c0cecdee3437f82f798109b3618ecdad099ad32d391ad695ede64652d9ed85beee8d9797f7cf81341d72920887826ddb8cbb6e314425c4d2a2eba94dfb4a7dafc1c68cf5cb5837135333cfdacf347eb371a292ca2a009b8e20edad79d91bbaaa4cb45cf3e04720a2e4a1e6a116ee6a997889aa06d26ba5edf33ed07a7fad559d092312fec35102b3043e46080efa0b96b0b21768a689a0cc08c3e993e6602e059796269571147f0f40ee3a853f13a4ecfb266df532605562322d0fceebad83c0b7aa4a7e2ad73b28f95479e02e6a5ed3dbd13a7f9597607230a4674fc4c05cbff79931b1d8e37822614071cc54d279c256fbc806a8f48cd32b130069fc27c7c0b971144f9f4208a9873c2198376e4330f29a68f1a3588711f0f767ccb1afefb6c2a015536877f7d95d2cbc97cc6011fc5ee11b483b862abcc61b86db751328758786ed0e0dd0cf1bf7a98713d3547c63d512a34ca478a948487a18e9f49997805bde264f5aaebd9bc3c15ff3535649ac4399f2568fa311c1d65d3b9c8a048063e2c4681bfd4184cff8b1df591a033a6c48e6c0e0a8b656a040962bd7dd14ee0e56080f41c37a2f1a5e9c3446f355bcd044216d7b85b67084d547649d12d64a9d004014c71b7b1b444a6f6631c7e7ae9ba12e11f053d75e6a2e96f8abbdc1aefe76a9df738dfe43a9526f4438b08b285642691dad03249d84448e0e7dc7a0b3cd36c0aead495bae898e802fda2779904acb89d32deefa922b135f98766d6570d8f2a2e6557206f34dcde9f909ee7cd46ce249086e58479db341bd4d6c4f4ba8fecbac3e069d1f6c57c1fefd5ad2b7e78d07aa25e8aa8a368f04b25f9b8313e8667d50ed9523e01245f83c8cd2b34124ff8c290828cc06e61b2afad1f2f5b5e93210c96e3f842523481588372c41fe3147a1e06bd13dd402d6be4b47564e1c2b509120e4289065a799ebeba16b26f8f5d88d59fece798faed86d679a83ba70f56813f3d666385964a0bf5f99dee849bda8a8ecd9144fb6682c5d139ffae5b404c3c6c666e6dc42f5130560f53c18cce9e0aca4fdcff34bce2433fe07879fdb99a45f4ee62bd85b11952cc3b0ab9eadd6e55ab3c1cd8d5d5373c0ee2d07bef086d03e422b85999204c6c284fe5b53bc5cc1ea32d4e4d50aee3292e54b6e1d75e61dd57f3169a9d3739f8c1c6607627ec953f4c29593e9d117a8295121a527ec7412640d01a861ac963113c10d44dc6203fd8e9b3c99401969c557f0d7e221a90052fd7aad8ae3cff60c9569d6a313b81767f0db733f94e5bc79d2c7589e49e451221b9883467358e5b07c0a00b61824e440783be7c6957160747583cea88d719e4f114a097d3b210c4238fd035569b3f0ded26a754e34fa85c619d6a969f48cfe3c0c96d87f7fd7791ed0521fa2e86f5d033550d4da84cd4f783ce27b49c44d62e0e97d2c2e8ebd409b974a5547c54d84e717e722efdd0b3fd2963e8164b8df626231abca73212510f99ffeedfdfcbd17c0930c3331528ab314e38860b6e9ad316f1fb4a2392e2f537392b7e2b7eb7ea35e103249384be3111a052b90c946e7aacf2a894f49f85d7cd6c065b192a014b4b6ddc46b337abf9ff9ab24b4bff8efb452d6e97780145b54d84b81837cb7160194f85ebf656c31904bdb328dbe33abfe809f9724a7c2f54da445e776d8acd49a5bace743f297b8e41e869148a4c6e6519db21307ac606d3be3caa9636433e93294d795340f7be2b85a7fd6ca8b2aca244c1a2cb986898755447270242fc641e0a3e2f91c92381b30eae2727ec86613f8b6130853637c0f1f58fb75ed90857c9dd0a1aa62b82bfcc233ec763ac6e5b9cba312f076b80c37c368b89a39a419c763faef82cf5288c4fa431b7f1762e26bdc5a38f3f49553d2139620e4bf451430fe201b2280a610dcbc4e2a9bd6d1a9f81f59abfbfeb05cd06bc493a5969f96dd862eb562eb99fb0ddd4cd4c734aabbb99b4e043aa9801f92bf82a8a58a1b46bf0c1a683f4d4ad8f12ad56aac02036fab0a1b0fb48526ae53c37f8b35169956803025a66ee815a30e282b2a067f58566b626106d9a434bb94ad5e768e26325833af5eb2b39a77f93ec9ec4d2ba419bcb04b10e2ff833a23dfd275e785f6b31b7c916657ad056693d99883c60685e563b8625582c6912f3ef11d2374688e02472d095a2907980651db47658b7e24642e67f9d7492c09de363647efa6efe7c9d476b8901dbcef1e4bae5a1e3d81d10e0c8e53745c697bc342b39833577b05718ccd81bd2056e52d3e9f6b655eeb2e09063e32b6cb9a46a7f5d3d53b097a6ddc9da7b825cd7db9c3c23dc60ccaf87614114728e963294952fcbe40866d3602cc07ad80726dcfcc00675c6a38266bd1c4932aa809cc555bf262d636b4167b11bce2df8f7be16b7332a0e86115b75f0f92d2a73f3d77b68144c1cfbf0c140286bc132a49a7aee400bfa4d2d36489508849fbc5d413ffda6da3fcec660deaf86840ff7155e658eaf34c517df41f7f09d4d21ee832e60a4bba9b4988305e72a2aff3e63137c728c988a81b86779560439fa9f849370e8b9ded05436cae8020039d298a102276d7a6b44b5bc13b89642eef7c59e74b4614e143d57a332323e641edee136f5003e6a04a8f5eb2b16d566da6460306a681d373d36c2c4d740209de66264d9d5e9f114edb5d25dcbca37e2e6529f1972d5072fe9fb6b1951bec518bfd9b28c5e8d62d0d267c888b9f305c801240e2409d1fe4ab13c0c6b9335a5f1b4aeaaa312f39354a90b4e09bfff1bdfbc2e062733f9aa03405d0f8c06789a1dc11b7f3eddfcdcccb9944898ecc0d0549dca25d64f8e1dff3cf63a2f29b3873019a46fa06cb5b4acc7edbd514ba40ff86511cbaad9b0495311794ab856d0a48b36b60222e9bf13d9b5e3f7f31876ce8ec353abb9eb5d6f149bc49f97b0642597e3ab52a4603c17bd16ab246a3b552d37d01fb6fb489605b87f6c0627ad4cbc1326229fa8296eb952b02658b892ea98ab50f0065e1f22843b3ab9faa77ce643e51925c64b078e92457924ee187f85b7dd18ab9658bbbec3026b036cf90349297f645e9e5d0be3a67e785f37ec99d2fb5132e274265105645cb14601946fb4836a27d73f7318d7e700aca441d75ccd05709509acd193c0310570c6a3c72b658c85c02185a90547314341a4c3600cd3b81359ae71ab619300184f8f72e45b1194593ec90a69506d5f77c0d04e6f0999bcaafcfc07ad6cc2c062ebff65a39bff13bb6ed4de115a17fc63d5cf8dbf5b34154388368bf2156e949a94676d762d6a316f98b2089023061abbaa5a78ef16828f23d342ad72f759b80a1e72d6f27397a810a2d601f0a819406e664a9f273a819a2acc2089227a7411bd3f8a365a212170ce5b216eb413669c2722f8246e3441e127920e60fcb2ef620d4c6cf265134b346865a7a19a71ff1aa2645d026186b2c0a0ed7abaef81b6059d5a64c27b7551262b1ed9b50e3e11d33e2ecaf95afc9c24d1af0f76c7fd0bc28e9362bf282d306d5ade0ea8bff375cd4570d4275032d0e85e4a5ea7a3900e0ae96520582a8721906979e82c5dcebe011560158c0ed1ddd752faa2832c18051d0e69af2a538205f594007f8a1bb9a1a6d80109be1fd02a39e8f49ed0d617c35bd698586c608c1a92f236080e327c13ca7915dd9cf13219c4345f807acc2b446146f0e07a14d0e3f2a1b17de345186dd289d2771db435baea512528294327b363d51addfa6a0ad9f0bc0325b30d14e0a899a490b09f21fa5916eab13f4878b56e6fe90e983db88ce8552fa0598b472a08a93fc9ccf2b0e0f2d2dbe345a27a9e2c3054daf2ea1b81984799c59f60e8ccfe6ea0f3d655f20ddef99e7ce422949f0b18542e50e5f6d1693ccf48035a4201ebf8e59137c58315e9ccf67c29b0de8aef6f337f236783582241d016c6d096b93ff1b14d7b79f65de9b4763c12c1968d8d5bdbde7e852a43993588e47a7f5473174ab50a659e40e9d46d48bb99da473d2e5496c151f6bb35d7ea542a6e82c0af0f626038d195abee12b7b84a1decce84cef0826a904e1a06e82855e6cb58af954e85247dbec77421cb5bb49ba7f9b4e4d71d52052195c77243fe1835763df0f2ad59ef459c989c753d0997f66cb56acff0c9a773ac90eb5bf658c479e6e826b779d639764a097837cb3f868a41f309bce7542e304657beb8ac0c6d1e24aee1bf7e0b843baeb46317187152ca7983de27bd4545665dabafc1d839eec88510ea18d2a3f6c5b9212e97f9a57be3ba111ebed29b4fb074fa1ee68e724b2e57d06b959bb53ed6cd374671f41f3d36b5dd0f554be2d16a5641f8eeb87b39fa6d7d60c33cccca24fd83d6302149cfefa120479dd414b6a74000420195094f1e0379a24f3dec29e1c2d85abef73bbdf4a5b03c6ee245150c1a011cea5f627a67f20d107e2d2ef288e2383214eb776c56ee77baad9ab3639d04c879cd08cdfa7b1a896e96b118e03f8c458cb9b5dea066bab2d4c4003ef0de122783944337b119d54e1bed39ff91acacb0f2e695060615c5ffc061e1ed40bcd502d803257f060a46a7161fbd6eee827ec70cdbea16cd9438dec8c0b1446aae0e3c3686bb9fc40fbfdbe38af64ed2ef746a77d64178b6e5f7bcf9e1e1f1dda66b7faf84582cf1ef7acb4c090292b262c08f09b70a0fdaf154d37035d4faba452c7d1dad1975c9bb3b871a2e58ad2e4782bc4c751b617c4b966c9569df6cbef999ae5a748d01ded8cc7700e99ee3887c53c2b8a36c46e7af780d7a18b1e22ce8b45fbd135ba8fb7765e11406c4e344924e905d08fabf7f40d0d6e218f9069172718c6a3e92e8622fa040b9afc14e67ac12f642c2379083186d7aabd95db25972dd28b6fd4d396337f3e47c68fd8925e75be7599f58701fffba74caf63d654b547f95852b9c29f4a1a525f82c1301117b77b3f4be94e0a2fecde0ff7adf31e71731d3ef1c3c00c52580e5e2e249249932d54d9aec19a13c1e1e2b0012feca0d27c82a4452bc8554be4b57bf9a7693ffeca560515f21fc00aa35c96e5f80ffc13430c9625601685f4785852f811beb64f40a162483d9b72a2281a68a063a5f13ab8ed5b356d415a8cb5c375f203f83f11c3f083f94018ef9b12adc68c9ae4b7ee876df21a9dacab0b8328868ea07ca50284abaec5822b22c39ab500213ecaa7ed0081a9d2570f0fb7558e199e270a6cdb6c25b44a3e0bc5906602097acad8eb0e866f693038ec7f5cf4e7db184a4492fe3d5cbbb4b7e78f0ff5dd3a14e577aede8e0b6bc273897c68b6617efe9c7965bce8f41dbd43ef58ff2ebea5cfd1c332ab491350a5e6cd14b1f883b47231eaafce3476ed5f9097f3f4b8100a56f11aeeb8abe7dd87e0e4296e4309796748cfcdf2eb42c6743f055d6163c6aa52d0b5b212fd3184cb01b58dd28e95a729cd98bd87c4255dc929a7ffa6a1b67318f65170fb4b2bf969cd3e8e9eb2f1c15b76bf7864e401c62c12752d7dc0be33fed5f53b549d8e7bef27105563f5045eb8eb0ab89b26f372698650d7b34492f01f777e939b6ba8f1a744acd76b91471ae5fb6b0dc98e680898567347d21cbae2ff83587ec9cccb4d82c4a445f7b9782e887dc283e42d2a2f0ecec58b3ced4af4988ba006e2ad1c0f6fe2e41a31adcff2e7b6110970b5a9844f05622702e840389b5370a1cd6882089bbae711e9bd4035a10ac6362aed152f681758054a51c70930a25a0be184c6975af0e2d0e00a154732e3b8027aff2b972dc38000871bb523b40c8868ad7884665f30c894264f2a25f3df746869cf646cbb97bec08fc6a674f800afce5e0ed169fdb53736979caa69d9c1fab63449ee59a64501cd1d073aa18bd248aded80c89aa8b5649cd01c7d12b968e80c9e106dfc263add9e2724200a59b5158cbd20832f4c18829b8c13c9910f4d35cf0d63f8f3288bc49f8353a0873bc640e8cac344a61eada4e07179b86f6f771f0717bf17e09952c82dc639c273f938ada0f1a9296eb895c2b43b1a7cd299294a32c42a68c9bd941cf121566a2394a86bf8396ed963a17fa17e1f7d24d98bb199547ca56cc4d8f1280b88afc60cca67c79af2568d2a43278e4092961b7d234f248bba492b42bb8bbfd2082eb756273e980270a8bac539e82c9937866e9c61dad4a402a16f0bbce8efa59026e7bb3c449426f188cf9fcb9505d6e5e4514e531827dd4b74694235c8d610522d8c11a89dab9faa63a1b5707e37c098b69a99a33647ef3cf566d9270dab2b9dccadda5c05e34654cffab717645d69b65cb954da2ca645bf8e8fe7260e9056028cbbb070f8dd6bb393679b08fc4af6fe3a5e7447634255034255f98406ef64699c22862a076640a8d3b3d51c6360ccd24bd03e6b5e10d068cb96ff4eacc21b5d222993c786d18fa5f5b5ede195bdbf2c7953f82c5b7ce798273e44d62f956a8ffed69d82858f5e4854177e19dc24039dba089af4ffa2768007724805a56d25f551cac711d18be1e59a1d4801918a46345ea5d09c4544c6f9273f72d04b8ea11c88e3c55f245d3859513f7c376e8aeb5c343c9c99fc21a1c59862ff6cc507c9c1bb9125f2c2d73894540c0b47eeb3cf601ad0dd4d9cee48ecc0ae6a358ca57ffd7e69ea4eabcb89db9e6d3f05e010c28ca3154b983450888d7adf9eb760e00e7f9fec09698f90040a7959b6f52fe17b1e32b5c99c7b11adf4ba871102002c5897ad15bfcb894a0b468a9c3e75e933170eae1b51b9966298ce9f50b856eb1c844dac4e7a9a5e4c2bd6b011c88afc9c0955c2c052edd22abb331e8228c056f25f02ddabb8793a9b546592ec38ac03ca9201737d8d306efc2b874e316602cd27ed4e252c9e8b05b59bd54e8814b481bb355bfc71c78b13607047bbff593c5e810a2436fd5996ff3cde0b4d27e48825cdc7b1ed82519657238d1406346b99dcd787d7adb7eaf1182562deafb32889cd13737129ff993c6e70a21faeeee1599e8a618627fdca7e2274bcafec36950b23029e8ce3829934e6aa1055967906adf059929d3fa31bf7ad5f4851ff80f3f0de0df3384396f49ed547944543a47a8895a413bf093d3ec3ab8c36609d6ab5631a8953bb686ec6e7b0f959409669460fb310e748dcbf243b862479dff960012a8d46ddea8e07e2ec85b1eed5f08ba30ef97f1eee10ca6a1c43053c7312d12a6eff3278404afe561ab1a8b76b34e5300eeadeab54dbe05dee39e1594f802f918d3dedbc32969e33b5a01d592051a2e5ec43e24b6733abe8c4f31862cbe380fcc396bf3645c5c8e82593fddc4fe9c58e587ae66db02c693076617beba3aeb4063bee204202d9346122377da66096961bf1b81e76a54b7056350108465d01b7740a1e52f530ffb3e9f4356548a2bf7a66e60b38b436c9a41745c285796e70c0c1aed1c25b7753d4e2d792d077e6b435b1e3812e9f2bc377eaeaff448128891d512577f7c3e9751d205be54f7c6898b261f17f38b8c20c2e87edd407ce11db10bb080a55a773b651aefc68259e5aad53d39a61a983b468c68dea79c1f0f984553f51ae34aa94964990075915a90c069775d1e3ada1a66b2bcd8a1c7a27072b0d6826a3efd7e07167e05278717bdaf22e77d7825cac87d0487010778436e13d219eb0ad29ea5f39df8a6c9faa8fdf35f6fa0a90d45c0e1ab60a9fb81580d552c995ac9d7c0ac78eebf9e8ad46320018d40705ee029701471a261ec85761c9fe2c34cc126a300b1c86b0e0fc5d2ef96f20cff209fa34635f8f67e1dfb6f97eea1a5e96e7ab0d8dbbd5c887fcb69c61b90cda70048152c6abc9091c1ec7d93cab0763e31e387799d77da8ad005a53b2f9879592a0bb53904f9f2959e0e112249c42e420a734420d5e0579068814e47e3edfe47391321475a1e496818419faae6cc07553df5334c54614e64fce93884a469511bd1294d609d095ca255bfb348ed5eafa8eda9aca12317f90eb42d4ee82a2a2e49f002d7da84ad5df1c5da7e8e6ac3325f93faa9da170403335c8c7e8a81bc5f4ba9da67ecee4da7e52f0ae5caa238a9c47646e93851249315bc9b09e3a31a9244260b5fac3fc8375bc57e5e7597bc1b69e4821044f80574aeb39d64d87216a0e632fd3ba7696a5d912544de7b5cac6ffa8edf85264caaa898509a18217eee445db7605cfae9814943aa8fb2437ce1b6ea2f6b943183a17697a1a2af1a7024f9ff3d35881fb6971034146ab53d0554df678472e6db664e6a4cd643a47190912eba20872496da7f4d312e2c9ac48557094ae9312471938188df3897c9df254b77eb0cbff8bd489edbc27a4e39690c18c058c0c5ab210ee211ebd2fcb34824b1d549c5f2aad851b4d5c1ec06cd0077541df226b1e130ea2bbdbbc63fe82e7c129804fa4df40f9657cef7a79d81c709fb7eabe049228b373987019423ae6fba9574b75b5e8de48722304541881536c5aadad8337e39249edf90bb8e4169bf07c5b23509a0471ed6507e19ada0453a3ac7e3559a65ae5ab6cc1fb81dbd4f38752b61fc8af38ac1c5fb46d2ed707c75304c9b60b1fd0c79f96df7d5fcd49215e9587485f3ba0eae1549381f6a5a60acb9722e4559efed70ac54cb6b1692f270a62249d9a9ed296d8088d23da3ed8a990868b924c1c6a48c89c15bdae2592ffb51f8eea22a9811f44528f05748f5bc6c0add2175e1132db8216597db783b51acdecfb89d785ca8f4a635e5c159ef5a5166f95b4c6c08c17531f5fcbf3f0d616f1dd75dfe36a44ae625e0c25008fdc3bc7166f9707234fc9233de2c592f062cb734f80e5b52f318ed56bd9d5f347a502d24b73ba40b175c56c8d993d4966bcc1ac38ce47145e7c8050b8275923773ccef650487f00ce08fb92b5aacf1020535f39c5d4a8f2dcd0bea8a5d455fbce8a2fdfcb1bd82e53d8992d56efa2b7ad8a7dc1caad28940583108af805c7ffa18544739d2b1183b01a71ca9d0fe3af02759c48f96b610facb5d76ecf74fe13b377eaf191ca3c1ecc12fa1c0199483e3345ef2d74c8c3e3515e618701ef1d3e707c793b9ea6831198498deb48f11d6114bb63631b8b1dc881cca6949f23f9cdbcddb3a6d99224ebdc9fa8ab20e75f8de8fd9580026149614af2625a7644b4b17c082960c6377c414a25064e6f21cc8af8b096d352963185d85c0284f0f204fffce6720703daf338df0b7bf19f574d7954e8568870c644030e0ab3611c362a0520c82a2f1cfcc4e7fc20b1816f4d65357cc56347d030095e9506caa3baf985d913743d7f6f07f29ccf6f819b5fb39e92f73cb1ad733214011eb90627ddbaf51e0e328eb28c9523247f69fd48966a4a7294ff3dd4b3ce6324d231099203e95dce83ae825c2a4af5674a628b3f29198023bc5107daf3f01a3a5fc2cebff94706906fc64d10902407a4ffff5d12594e4ecd072284177422ed3b047b6e3d550f712f29b731c0230a0434056d9bf63ecfe75c3523722f28bb0fda8d13fd5f814e83dfc0ef8a72719c26866a8155f8cd4159059fbe1b2144fe65b9aeb6d0a52714258fd981204667952c0d3b9b939d7ace3d6fd3edc6a8b3ef57dd8ab6f3a565e4644ec6c2dbc0c1ca7a6a5c8ae1f6f2d024f722b9c595fc9e1e5b08a78ab39eacbee867034259cfb908a5b589368703c2d69f33a4196df25988f6d117f5ff828e543267f2a3786109e1750050581408d00131b57dac715328fa6a6c2c350028a2ee6c4c6bdbbb76fe2221bcf568968d179ed7bd23f2952746264c2892d25a613bad2ad725461bec71aa0c6d52381624ff8c9a007b2737074b7bf6fdea37a8083d10b1ae583e14393183394d934b51104ca73ee5a4dab7a3b62a8932e3f7525701792d3b07df103c3a6b4edf0a76123cf1fdb5f481765b6e69865990ec0ca0a61d3856e701b70de195a33fd0560068ffdcbe30caf901f8c34622e77030f1360b9da68cdd716607b4b63367c67b8b11f3f4a91c0407793064e34e34f8c54068870cde3a6e41b734a848be5710723acf8391f5a6fc781bb1e2a973b04b9b2c5fa33efe2800ee32d88e7a122fb531e77c5fbc8568eedcd3306c43c5b9c317fb1827b661103fcdb707d5e450624ff40481829f338cb71884313367c3deea1452dabdcd5fb8ffd6852782ecd3d0992f3173ae7aebb858f248a07e6184c7a3d6a8c515e7ae8b13e75613fbcb4f19d228fc6999dbe8f04a47b4caa4e3cf513186c71a525e79726b0d90e5a584c11bc3945899182c547fc96029ae479b9e19513f6cd0efa4923ed139adf71cd1fd7313daeaa5093837e99035adf48d51247e7a88bc2a015cfc7845fe67608125408d63ca0a44143dafcb5b4a44ab0d96d5ed33cf3852b67f793e1eedb97fb5d114bcd25a2fa395777c7798a4dff9a6795c64f08229914142d0168aacba2b355a9573dc691acd9347b5340305c3e9551a9a2f617b7f20bcd9fee2a4ca60affc29700d4c73989d8608a1507454c2e9ac983ee5b19797c42a6bce2cf188846167507a65384d0c372210726f42e1a0e388af207e8006e7b4459c6da2602899787cad0a2ca7f64357609bc9cddce7d15a331307d574443e5f8589c95239c47e0b33e3e8357ee2b2a889653b01bbd73ed5959329dea04a26533afb265d32c5a5f8866334b40870967e02bac87657bead87d9dc03b9bf6203f8c2634a77d3247c3ae42340596956a05e7e6a5d2f7c939a908c3afb7599983e3c97e52a3ea0e7714e8497a265de1ad74edfe26057979daaae5f7bad776ed16c9cc76b684795a55af0d280e0f315243d727b226f3b22174ff23e89dcb3bec123f2576cbc9afa4258d4e95185f88d2f880a5fcd72d50b678bdeb13ee0c6457342dd6ac21a5f96213b9c6a50656a5b0ea3cf1a93cca7b5516a80be6aef007a164ce38e9a272cd33cd0aee6857d89fa19bb72d996c79c66e3cf6d498495ed283a46087afdba10509741b179d39d8bd0022b22b3ebce426ac00a4f378aa13b99028e342a815b03e2a9cc6ddf6757c152317f62cbb9a60e0a29bece582b13354bacc0b62b79cb64b67ede534e20ccc1561c690f7b5f88b5f25ee643f3cdf7d04e200dfea65707076847d5d763fc38d75861e8595de0fb9db056e7262f17f11d97b26bcc05efd5d274ba5796dbd444ad217084d613578b047ba9dc93cad0e3ef1754578b09b8e90ed84ae5ecf04a539c0b9b2a069f6a7e175c54521f92b183e9d581addc22cee747434d9e5938ea25fb0ee33a3c35d064e8430fb3d40649210a88c78f64857ab963feb44766ec941959b96e381636498d4853604e8f3144720cdb248ee3e5da7acafd9aa6f77bcc3c2e1a405a9a3f442bf2e0c1ba8783ccf7544cd52623284853b6332c1b932fbb061b19cc45bd48b6fa0e95c6d26933db4b1994340f0e885978e31efe67ce9069bd0a5b01bcbdfde63bdf6f7d5259d43c8aad994259c0ef4434eb39207603ec953476e230d8f677a4a8bfc1c1ac5c2519438969832e7c28975037f273dc402faefc60728cbc295d9ef5758865799650e6d74ce9c70e528f8706c02655f6f23918bdd135e05da3db50a88379cc0f759990a5fdab0414d4f3aefc722b9897c02c45b097373e3de4517e38ed3b4e833ab53a1a99013d79939a0f44e5c36324677446a856fd815293cb166f274998733195d2bac3c66ff5ace3b87ff2e7046f1f8c1357e12f931c19bb7d4286cf18ce92a8139e05951ec6b810c267cfa38d5fe1a7901c3a4e7984d13a34201e3ca3aae13e7f959998bcd281ac03bceef9a3eaafeb9766730241511a6b8b30538f39e05958dddcd35052b1e3763a997ec6ffaa0e31dc60c90b35f01b544bb64f9f6e21de9478b824ee92d0bd3478b68c0239d17d9c7f2d60d9c03c31c204900a0c9978318ea63d634753920a4ab8d24a952052d0b512dbbdc89ff17d89fcedd9fe93b70b81ac241f7777942c62129983be41aaff02a67dc38d44a027946cb4a09acca2bee7ece4cc8f6c5dcb5632fb8569a25cdbc4ebca945fe71ea33fe54fa9d573f747447bef79e509498d87c3c055707c4979b3b7c85660270c98d9e35ec645a15b6754567d3d7f6154ea4f5c94c06a2233d0349f8a2362de9462c91b7d91c4398b74814a7baea304aee5483089ba28d2c0744d41acd183426305f8f82a2c326868608758ab047359c09a412890d73c460dd6858a1db9e3faf768dfe34950e4ded3b724bf68f7d1d38d51f1baebdc0786410397743c41d5653ea7267dcd0c7753277e7657ced831040487884e9bde45e4ca5e079049ed50a0002abd686f076664771927e24fe1a4e924900c9ce1f0e14e1f73d8d03ea407b28dd66c858d13f636713d8f5a513094b176ecd675605b55912b8e2636c287af7b04b1721e81dcfb6355be07358a2676d9855acd578296bd1d79cf57098c88b2cfbe4d51d6a2429953fe291f2df47e1bf304299fa45b688a90f96b86654aefda5527712a61df20af1dbab947b9a1b5739a08e55811b33d2354a9a649015935fb4f803cea64f2a17ed8c93010622bdc0f115b16a86d781e250e82d24956c1f223e6711a0f492660a00d9daf14895bacc0472f016972641d5991c7600f15d995e23867ad4dd85caf05874c791e0bc1bf3c846d4e7e7e57e72f5a3021e301a844a3877b819ad947b773b90fe5b4961e93d095e8f8d27192b83b1ed3c44434180b9e7c3bf42444ea7729f9f322afe5030370e7e4aece6479b9e2d35b22ac2e74fb8b310e44e6bffde04cf5034cb131f791930304c665a9e8e78e562dea33ed76a92a26f555f7c0b9a47de5e6ab0e4b1c98b3a02b677a4b3d8e710f0d4bab77e6c5f69fefda98f8dd528115665c9a2f1065e07efca8fc8b63a0f75b6a85291f6a72c6bb3dcd86b583d21ab4345cbf99fce091b51a29b27e648e4891350b298d55bc1702a215f254238e088c6a403c4e23f841c9bb89c4c0da1d11b6cc86b05c555319a9f7a07aa8effb720cf9bdd4600d00a6df16181368556d8b8ee73493f247da592249c7930e4d57187931d7d2d5f07bb3693ba3d6aa5280957d4143161a67ec33fd4d0593cdc9dc32f3e5ee6b5c847beadac95634e9cbc5f6e1f8d4ea2e705fabd6ff62d0334b134389c7ddc55e7f1b6d5c8c14f3329ad628c830b645da09c64da9aee05123c08e544e926e586d6a0fdb1db640fe55cffb533493ad7a6db0a7fabcb600fd2e8ccefe8f003e46b5c0a8479c25612fa67cb02c3c7f9bdff8dd0f431456417086277e59ccf6e17e3689f25af411763ec788da5931a6a353c391dbf9e5b424ee207bdb340c8e12f000093d728f9bc89435071f932f4ed6cfd6be4c04ffab2abf04d591f4d50a047464f11a1d45a66ab5fff03ba9aa420b549c8af93c9d644fa046bede5859e9b1094730343bcb0b6a746afadb7da2385564524593c5f7553e411fff5e7a2275197892130b932befd6ce93efa05cd54d89725daf953f8149c14638ca2c722d27ceed520e54c8f99c49bcf38a4a530612b3ffb212f03c663d6557a1ded59167cae527b9c1d1553f964cd15d419a1ae347f1e3dd584253079213eba2aa831acab377ecee5b9b375f1fc0b0e5f5a654aa328da6c9011d343c290a9426902bca6e0383d82d383af5560d325ea3004629a54ec995463834cffc3b5126907eb671610dd293d44e1ace89861fb223d2d53246ddef4926d1a7fe6937da3a6230420c7308c219906f6931c0d69544c7cca1b9d351a98725fc262c66cb23bbd3d429ebdd589a0c68928979374581ad6ca93624bc8380255422ef892f64177b06e343125c959d0368208fbf6984f9b5cd87445f8fdef57ae98de85de34e443917f52dd740469e3831cf13f0d1d3b183c04749a049e0cdb02746e7701ab27a78583ab107dd67a4ec020f878527ed05e8bcf4f247017c6c37d9b168c1da5794e0969b651b3517296a1c6a256073b6fe238f767def689b628466d2505dacf87911c7e3825fbe2ac69d780d405269e6f5fc5c2f846e83639401764208b8f08a3708cf897bddf5e0e86b7ab7dd98f1d734eeaf8e71c2645dc3d57690a1384e21d8791a8760d5724d33fb646ec962b0c5b0d2c896cc4f8d2717ea71d5c2f979e287d309227d1cee7fccbf777803a09072585e45c094a1c232aa472bb6ba68f9f20188857cceb248e38136c0c9ec38ae3dca05e937e543d429316fea6f62baaed9abc514a04ed2061eefa490f993961ac8810b1feffa8043645b43d961b2f18ce4b402b647dd05ffccef11cd0737834317aa39f851c4dadb5490814a77d6ca9b679ff3006730e6d3b90a0104e88b501affa0a2aa455e8b9a7b3f9fcec36a9483fbfee62585f13937e4311a41c7046870190729e142918a8795117a31a24ce39ee8b56ff29b57e855dfdff349cdac526755213fec612d5c1be375cc8ca438c584f5247004594dca4158cb47bdf9c33c3f4cb7b7e1e4724a9b9f652f803fe7c9bd88be7af7e439e1dc16511254cf7d384c1cde027a59608fcd2c5601d4870c062baa999d9ae784c9e1d0ee9416652a530e6ebb84823900ab753fc7aae39e7f5ee9f9cd21b9c4b90ae27586b638341aab81a34483a851de3467ba092ad4af025f7fa063fee54da81c62f55af248d64327f79a62ee66707404f37948de3f37a3bce99e35486eaf8b60f2e89d35253653f1f00fd1b5955648ad6190b8f2532b1a5aabab2a427ef4fa86f87d06b3eb59d6f048ff1a7d8784adabc7d4ca54b0aefb5f04785d2a4e9f249b8f005b6720327f8e099ce722824d6c79ac8d6a464a36072a235942146d38fcb0e8b0c5dfca31c2ec4370b166fa27d8b04ef0fc8adfccd6bb0931bdfb49727b9211b4ebe4964cc3db23dd1279ff702509edf8d0d9189c7ee77381b426d4aa3fe5d93304d1c65d917f24f0abb4865bba761be3dceadc709303495168e05e355f2befab32e7d0832797815586c4d6e037741f937b678cb743500e45e99b6b677c4b1c0f9f8086ea73ebbaeb6fea3fe3b470bebcb46a17fda7650ad3e3c3e4959d1fb6e779452b092caf27eb167617d4fde319190a0fd7c26cf93ec02885acb215eb52a023d2d965b40ab3765e169931eef4fc7eecb475ea4d65cd594d295985ea73329f8bb94f4bf9feed5599a962b9342118a076bf9815bebeade6af8486f8b3681e1b09c97121d281bf86b7918982a319b0202b6591ead634eca1d2b18b3c6ef8cd2beee7623985724da0ce6653414b57a23f72a52770d8b1420146a88237a9add4108d6e392b1f512d9607560f0fa8dfc4c68e01ea5b8cabb7ac20c3c6337cb460c55ab4ce16707d6d91c8093a12cc9432b7761869101614c588c381111ab74862a215c4fc18f22d34fbaa7289088f952e2f1d9fdf08ab8efaaffe6ba061851ed6f69d34b0fcde634d4e58d85016bb46f57e77ecda38e55e6e86b6fbba2888578c2cb292d742bbb26c6e48bd88923089e37b739375acb96a97a3bba1ce696354d9d64e4fac59cb2f742a2a19144363406de0ead3c449174fc34820f2200ecd5576f4439f79b641f19aaa3fb7a5542d7162a4a314617d38f6a611533e1af8f2303649739903e4b0872c6b898f22b209d0368fc3a26a38fda4b995c04de249415ad3cd32ef5b5e39c701d683fa16e1de8d89853dda2aec1776e775feb2ad9d7fb60b34698dd3521a55ff7639f192366565d085fd95ebe377477b98f1b0da1ea8086337ffe9f5ccbf2f2c69473813a59e892505928ef057419b5b19a426a5adf3c94abd15d015399b26871a4720e3a22aa18b65a71e7d3b6e20a31754203e88f9ebb752d1a98bb985b7f624fd79f803776d182e0333d474990ea400f94587d04f79477498768234fb4818c84e6b21691f1e823921df19375999173ad9412688a25d7eb06c7a5bc174f3b4511b9d58bdc216be2a090a67b70e63939e6fb23a98e5d95adc2fa77426908d23d5f6f9d3949ad5059fdd305952298c1d89cde3da24d945b1971288afdbbb761237dcac379f93373995fba7145a6796ff918484b85b5c2eeb658791e2a294877f65d6a145b6244cfbdaa52df406e77bb93a883307409a7a411b6cc9d4f2b26bea695eee0eaf614b557d48a8668fdb4ab473ea80ea66215fb8b965ab5b51a4d729c78a5917967ea6775359aa6e7ba609e60b793d03403c396bc77738d5a3106be13621df3a721fcb3a837c51d1d0a84abd7008110b6aa6064173e7bf2e6cefbdca048c4cace30e6525a115aeb29916ccf34bdf6d5611a6d6171d7fafde5b17039a811389a66208d7e249ea779fdb6f267f7d4352d4b3634dd415cff7424e18fea7e83f149f5742acd8d4d174e4fa2a7fa2f59d42f36ea4bece29b41d2b479862f74bfe4d4975d600977f75e3ea14bef30be616b2c098d6f45c57e71081cbc97c63707146a91da799c9d4039ecc5deaae228e2aa8db515f821d2f62371f7f7721e466b9b1fec05525ad836a033de4623cfb3635164c8e78c57a4c0a330b6b0e7a3fa2508b9a3f050164ffdc17b239e24028bd7b18430a558da593b26833d6edc5f5d1d41f414741f8f9c80c7116ad9f95ffd086193d214b3d22cdd090a0a438d20975e37fe0bc9a43169c9ab08f589dd24a9b15b017f9550f693885539a48c8b950dec798c6772c05df107bc293c600f01501846b1b6b2c7da03597bef5cededd7e4980c8fd31b73ac519e924b4eee5326b57ce9ca34874caf04d154e0c61faffc245cb02d9d7f9818afa74ec95b9e1faf2bd40710ace479c6b350e3919a900cb6ca52ce4ebb62fbb307f2f50b3be1f38105e28c18b8e7aa57fb081b64728cbbbdc3b8500136680da05cc78738d102f067c720aff924f769fe8c0c15b90742e297812ac21198721727cd932359aae1c37b31df6c838d925aeb2ad790219a4846188eb972a87c620213037e5b993bd149b26bb279b162bfc62c9f09a8c52442110c2965ef7b035a54f7bf27a7bdf2dad0a05b992bbfe915e5c1f91ddd875dbeaeca3db19b84d43ad9680c83dcdf29594969abbdab8a05fdbc8bc7bf83cb5b2a73f5d6866a0a52ee47e72c018c0b76cb35c73bbe85c45e327c0b8a7ba0d4244b7c06d79c2cd113e22f1fceee8c850c7c09be49bb5c7775c39131a0826245fe2d4a38f0dd632dce27a87d352936a758c44f9b021d3cc7e303c3611c218fe5fabcc89e78ff45680d854eb950c84068ef79110c2f237ebdd3745e7320028bd08c4424962ecb7515ce201c1ddbde7bd386472e0b68b9a99a0ebd04f64c77e9b671dd89c2e4396ddc15d4f308f7a74250b8f57195696f2ee9d924cb1a354f6bac49abd18fee18db20a8a656eaeb6affbdb4553adca0dd138530ed15234ab4dcea9efde253ae6f14b0c031b5c530e2095ce2658f61eaffc99a37de89e4335f32dfdf58a25516d30b841ae9d519506b617565dfb3427e047d1205a7964bfda0a73a9cb63fe7070ae130b33f97e75765c47e0e5b10ec697a1901e62ceb8b34c93ff6687cab1facbd205e90536e4c3cb0487a8d67361c476db59bc674ac15a2b1d298bb829ac5b04465b5eb7cc37d671abb8601174ec975ed2dc045f542810596bede3423cc2216bf9469feb356cffb76626e6b6f4ce9fd0609071989b928dbd7bb6b2ab7a94941d5785c64541089221c63860c063438edf15649b593212b8927c92ca35fc354de210276bb40bd495bd72f25eb99c1c81dadb4ec1b645636f00282fa6970a1c46946b41b059f099101539e877eef3278759e5d4527949c4c84ce1d4f936b8f0a0ea6b6c6c494f1ef97554433f3ef229cebea7be5ed1b66f2e0e8f3a6b942c671be6b6e38757c694fc4a05ecdff90c2fbfbdfa404d7aa35662c50a1512427a0e697e2e72e962d072f373e513637baadc8145bee9506fe7dd055879c9ed1c00f1b350caf2eb12900243c04b332592a17ad668d0617d9aeff47248f9a5c7121bb602916a1a4d4c4fe3c51ae2c1369a1ff93f43fc9108eca0efde1e58d29e87e2a70e637672035b40fc34cf05548403e2ae80d2ff524c9cb3c2c03635cafdd24379c297b7658cfe8dd131504446e190f83f3f9ee1d94b25bda0a7d19e23a44493d98d4d332b7b6dd040c2d7afeb0f19b9542eda44a8a05f1d092c29201a559cdc3fcd3781568b81713f7ce3cfb7400e45fa3a1c52e8885e9e70ecf40450c4d2503bf076fcdebc4c74ccd55b2c7f92679fbc202ac3cf082858c3834d0b4a8ae9bf1b4d164112dc473a3d9c393346428cb886a9c347149dd8d38b4585015be7b81922d675b073713533b926bf1c85507cb9d9ff555fabf653265c300200076252b8a049e028f5d828ff8f59981f7bb5b1fa2520ac37b215acc614af8e92d9388d79d4e296e34e5a2e3567f62f37d9d0b4032e08a9822cb8b1819f14de44002eac90970dc21935c250a24904b0328192d88d98a868d3d030e2ec35891629beeeab2ea04dffc9d32684c691b072e72e3e5476949f0c59792547173475c86cdcfb7c80a80bb8a5d15a63d411589cd7b27c1e5377da55fd4ea034a29e8e2c9491b32943e207488968f12a33af4a3df133e44f1d861065e5568c4187fc907ebbf4546fa5a0dec8978f867da9482e7f29916017df10e3848554abd2a8d8a1ad18bd96d73fdae0f9ba68baa85fbcbbabcf6bad1c24bee79b0e98940c2916372840cd8fcd5b5ab82f29b93ca2290fe7456d94f1b97c28c96cf7cf1ec73d4dab8105c5583e4878a8b61841d5b5593966893a5c438384eda825797770bd7892a2f50f637ea7d089f003c45c58e410fd19df67124e3ce31a848421fe93e8dd6ea4200e5dc320911ecfe3d385c9bf89b87adc669d54b936ed361c1ae7b911cdfbc5d55985948eddd24a61f6896423aa8955e9ea4fe3de482b64a9620b54f1df33bf7ea2d311c0f57454a2579303b5d69b030294244993f0ecf29165c8328290e9d81dfacb1effacbbcc0e4728070f6ac34ccb95901594059dbbaa193e5378de664b8122f91a0e87e8199cb830cd3fadf6c39ab31868958a913f797675e4c5c447b89c65a874538d9e5f0f4147c0d80a00d0d248a017d5f5e97cf5d4beb2dd386f6eb77864885baa038d77badd4f5864e53eb27b0ce40f98c6fac0dee1c47fddb5506cb5bd570b43744352e84afbc20688a989d47b8076be875c3233f11fa766f5088c55a1bcd3b5904c7b9e435f30ec3e965dcc61a21602910530c11d1c64aba9bc3bf9b13830a03c64f048f582f1d9874101f0fde0a4190938607119bc281987d49e1c05cdec3684b6ce37626e454914c2ec7982cbacfef7338fddd2e6f2a00f184f8cdbe9322e95b5cf937a96cacc439a8ea6eeb6686982fbdf2ea911ab8a1b3a0ed0f31f0e4956b3f4e57cb9c14a016fcf036078fa01aa844467f2ec07f26ae5b0981751a9aeb4247bcd9048f0f2c25f6de62fd9626df0e3927606cc06280f1d3553488036995a6195e8f226a220669053ad822aa4e558cf27dfddb0288c8ef6ece8beb6e0840cb5959fc34cb4b410f05b6c05cc0e1800e4fbb487648b91a1bbba88bb1602869e1b08b1a4d3595d0723df858cb93f271a56c1577d9bef7429098629276b6027a6bc81ffd944e2797635f05b410512c8ec01072b2858b9eebe3612b2cd47b4a9fb192ea2ab94f4feeb1a1a3e1a3d182488d3f246ef45930a4648208ec8d68f35027032be94c7993d38f799a0ec5405749ee0f21d6e205ce71b3c4e5938e6a2a4bb112ee97df8967c32e1771e50776627bd2fe23f78679eaec9d86cce14663c8a0f6e0d028f7adfce5837e4a412c70836b585800ec192f93d68913eaa94b5ab2a3c33f43af38c05dc29fd35df8d1b86298c8671218578cc86c87f1af4707acb9bcb0271894718b326e7739e7001886519c0d83ad2b59644a9e20ad6de5cc711f8037e8763b208820f7bd072596a11d663301cf9e6864f1ad6069fda1934a8d0e55d5a56e9789342941cac3372603689ccd0e74f2687b76cfc1e5c8eeb254fe36411354544dd934dd2df7d1dd9f1483e7a5072e31fd7491b39a7618369db72f746a948549f33b717692398318e8b3ce2520e0a32a009eb697836c90b06e547cbe422eb572b46e45e1eb7f880d6873808af108f0ff6449cea9e9938ad280d8090c5f53bc2d3bc885613f79a90f59dcf9ff0543d2f0e7990e45e3f742dc9ad327fafcfde7a441688bcbbc2fbfd68ddf0f7070e14f9b07dc610c2c65934b4ff420dc0ed53e050d9021c4fca70d1f11e84eedaf0b9b1932c4f283e2607a9a1a29431c8a73c4edfee37e9cfd86acde4fbb9069dee56cad117763e8d8d344a4e8d483dc860a6a140ac14d179b8cbb397e6d04f2906adf368eb8ad4bc9ed71cf39b722149701ec9f781ae2ea43d2748eb9197f42fd916103a4904536f9b093fee8f44b853b29badd7e5c87707f84537ad981db0f92f7bee9342fc5bfe1c0075bbad17a4a7920c416e07b57a0d164a3e2a53f4a97d4c99ad13fa4082b579d0e4af027879e1aede041c6ff4e555acf6fcfb4981e2f49265feaec3ce0e29face8bf138429d166b72bad00d61508b8cf67aa06694dd6e407dd84482b2d13872da24a08b98cb88a5dd509135ba34c822c67a153fad631de55696b37cd83fac681821c4346ffa42ea34e702149f83747e551814e597df5465675f7b851a88d3e9c2e2d1a98bb985b7f624fd79f803776d182e0333d474990ea400f94587d04f79477d10a4e784707f613f3eb155e406dbd78095d7f439a296e90274d560dcc458b70e83ca657f84e23bb8cdb3857341fd82b0f73960020e1562fcdaa1e6af7fb51e4167a94196201edf962b4b7be13b8b175271cffe42808b8e16b405bd3c2d27852b20fd4733798d8f6a2a4b9a041c632cda0510addb07c201166b5db2c2aef74751dd95d6b4795aea397fd6f9f2453d3b81b9dab1be3896e158f0ef245f2af09ba77cd756ce2238913a07c4add3b8131ccdeb4d0199e7120945d06f6895d91fc49dc02e4e7106e00fafd5641e91ccc13d7ee425bae617cd34d36583623a846fde6e6a53b14f8564d04730273185d6d4b2495c97f8ddb01a3aad66f97d83d2acaeabb1c2d3083bf420745c5fffe8f3a36c1dad8290c1c9a811c37710c55f727eb5ad75d6109df99c28335458ce4677a83a058e534db7eb6770bc3f76744c56ea3baebdfd6871753b073a5d55bc6c1d22e180ed33fafdc24c19d3b3ead5f35535994c7038d75783c0bb2a9c17fb01b45f820521a65b81f6773b6a7c6f6791f15cfb13e950a69a6dcd638dc6dcdff21279bc4fe7522e76291f347a7b012128f31bfb98998f9b4f916025eeb6f65cb696438d8ed1f6ca552588d53c88e24e8477174e3d566c158174530934213396ec6b78d165c7e53637b316df54dace1b376a756d9d0fe0e8109f055e0494eb0c36678297ee769fdc44487a64c0a6781fb78e827fbf1a971785eac6c1f02b13a2924042ec9cdb13863cb50df9f4d2b8302b441cc0b37a225ca5745ec5a9d759029dce92c5c21f61a986af96a94cf58b85209d8de907357aece79022f31858e7d57240f6051bd505de0a0dc38639ba67bf4cc572abb4f33589b691485e83c06f40b1bd5d142d554ab1b66a1d7832de424f480c63491709158a378b43d9b7acfb038e48f9b3816f5ed2821c8ff9db4fbd7909a7673626281ba75a48da216c05cc688c850190107cc18dd1db541fca01f00f33d4aaa8c6eef17bf7afee39257332fa156c7096be1ec9c1785f6c8912bd80c4d4b26e38a3bb87d8c1c6e85ca0a29a956a458e343da4985234685f1c3b35093dfd3ce9ddf45b1fff83e4dcd5cbbf92ed8dab8a23ced23804fb11c5c9c4153194c58cdd3ce78098b0d5d6226bbbc172d5959266c68077535c6538bb28156e0d567ce5e49925ac642d1d09b435f027793fb08df5d25e40c3328d07b02b451f77f31b67fa6aba59659d87e5ae99afdddda863fd077eb473a279b96a5d067d31077fc3d76033d265bb5466ca358a8eb62e63b8ff94de2e5b1a67f7445c8fa1b899bf58a615145a4c0d37ca8649782a6d47ddb7faa37c49ecfc1a8fe2dc47ef011bd98a581ccf40157539c2b597d3d0f0f42114ffbc3c40381766c7115a61849f70ef0e8d6891a1dca14f245fe633349919b1d17972a7f64e83ceec05da6ed68d2b85c14cd9fa2e1780993cdf1bf35b01e7c112c5da043685602118df760ae9e4ef67c0d3df9531f339c7c2baa4bab09dab3e5f2dabeb08e92cd8bf62b80018d955f809d8da2136ce3bd3e171d7a64e70898c4d6d64447f6625a83758b59fcf6d1719be1c9c4d9ebb4c41bd57f071e9b771fbbbeb43ca0bd622918eca0f4d24b164a08fd7d816ac1d91487c56fe173362236607c241c292160b68c6fcc01dac2191d45f7902a131f45dc1d525d98e5ef61d579fcc07844a69558db577db0c818b78c071bf5ef27a158072912bd841f56200a9fb1325dc7d3ae6a11e60aed21d927edabe7c81f0a9950f926ad9fa741333656361a34cc08097528ebca58439480f86507ba6ad447a7e3edb1637427818d9b351979e7c60c38285b6cecafc1d4946f5fa93aa273a407fbb65cbb990c0fca3ae610e1518cb633c8daa8386ed0ba511e5c09ea1bc4cf4b8d002251657621b6db23373248b9c8759944ef82979213066156e2f2336b1a5b62488e14f0bf6973783df65a23093aa5e245352860386581c38c3da6a188bbce56f688990a4ebef40c54a908410ca3e682208c158e27c456932a73edb99587e3ff4c38fbc92b45e0587f2637006205755c11dd8423c94f75c363f3708ee31ff3cf9246b7cd25e35aaaf9a5a320dd909f8c6478b9e837e9d3ed9095cd407b163828a300285d623462480805d5ebffbb0ec984e45d754f35253f61b7e90106ef0bd5813e9105b96660fee6834284ff5d39a009388be98b88d45fad2b9e2f96866614256389dfb950711983f5189cfd89d9c3283f69ce922462cd975ff5790be4ad53f10eb245bc37719dad1abf1241c50cb5963683e8dac29e7b128922aeab88e8aaa27cc33f9832711f0ed07172c39e166946e96542ace6f759dad13f8889c69700c1d53b0b494826cb5e4ececb2572a0291ba59d5ad86aad7723860e6c773ef3aec545a88a8bddce25bef65c2a4749e2500f772cf68b7c898c73e640cbbc9ced3149b41e7110ae40e739fbbf991e1a6bb6ffe1852d9636fdc2cd61e9bd2b3c1a3f46942ae1b7167a61f55595436be8ce1e1301c12c453f793aa6605ea41b8220fb441efdab553afedbf479181a4787b5f516a6b21f6bbc8adc3d419ab679969bca2dffa2a6aca5a9f14b481da72a8870bd3b59acf8e0281e08a771e6732e2d61acbde5d9d0df612bfc01878c4c2cb926252d5ab467e8d024f5f51a2188855006335975339b56b887e87df5cfc3e5f08cd6e4d2aeb11be4a0b844d8fb079688236d3271208259231c1fca5ce8a43a77da4a6549a0f2383a0bf198a2409309088f57396ac5ede76937ae3bbf15397b05bdd44c143f97601cfd5fa2e700a257c0ee6415eb7c994f485619ba82313ca63b09a6567f67f56965348fe039807f8e2caf9f29f336a407eace61c52ab406141dfaafb577587eaf86aba34df6d98be6ac0a7b54124210c437bece52a62d633eb4eaef4125ae1b6a4eba98eabf7d306070d5a1cc5b706fba28950763f0f3f7a36f0cabbbea64c6abce292cb3c6702b62b894f76e828ebbe5a8fbea55e5c5b0c4f747ed9a4f7e2f8f1aaa01857ed41b9d4a70c992051f18c923f0425da020f9e69b4dcf2fa2703580057af75eeb3015ca52228e088ff2d26f22ee2e70ee525d193108dd585b39f12c950441a44dfb16923af31d54e7705e57cde66d32e3f8c712cb9c46c83a89a6900dc487b068c95e070b1de3affc4f5dad91a7d71248f2fa95c68a7973c07619b56bb1b828dea9ccbb812d1ae67f9412543e2d64ba14d01c869b0fd077fd950f754a8df90acb878108dd0eb3cbbcbca93fd318ddab89c832128e0a9b40eae8ef44937cf14ad2f60bc2755cce64a3edbc735078347e1adeb104ebda83cb71b4cb2797e4a2791c94d2629e9e3497895583adf716819d182711e6df7d870592e1bc74ab684b2d474c6ab856ab470910e48a026e293099d5f50ce793b11f8e681e16bd34eb9a3cd83ecde5324a2cd81a17d7566eb7edb3c43d3931b820b052a9f74428e46ca5fb702776497b0fe79200516d16a294a44c8448f549373be55c2e8b8e66ba85aac91c7d07f0ef3a9f946770cd01c60bdc124c1fec0bad1430c22fee5123b06e7c325b75e337a845b5d62d299c622c7314f6787d184c56951790f982759d8d47c4bcf1142d37c0f2e86baf75ec2364a4532da8a492fbcbe0b593b8f32f3bd133507a89c447041381e352ff93258efa965d83a1dcbb04aa27f9fbcfed4fb96020cf99b0540ad71b9799d84e4de94c582072dc277870463d7c8a9062d637c0ce3a377271f062957b00458954cf6ce228c6ee6326c5662e2cd4489de382d88d819dd107a4f19961aabf275b1b25d257c9030ffe299eaa932e50d7cf25957ddec3980bd3bd6c57ed4e9e192a0a9f9158e11d8bec75baecb48a5e77c15adb52d01254fca6698af7aaa0ef6df1a402dfcf088a2b1b0b0c297fc718f60442e0e9e818fd0a91eb760270e1167c29f5826089dbd2da31300a4430a91fdc2a59b7fc2afc3ecd723bb2905b4ce0e03bff9f335dc09e45b7dcc4a2fa4cda2728007140facfb1fb9ccf7934d4bda8130a139bac59170bfbe2f27f55ef634d56a6f88586c234e66db3a5cfc857d149120ca9b10c8a57bdc03de4bc4c03a8e8b1f92d8bf555a55413e40618b453ea8e9cb7e6e52d84fe614878746c72311099f8df6ed275f14dd792a919612779d30516040371e7cad7af732bb178bf1706de172ecba15d90fbdee1f07b31905afee5d2e3cae03d459e975379e721a8ba1eb9057dc15a861a9fa7dab33a4da445f303a524b81729f190064420ff9e79309ba6bda1bc0443df93f88495a39ddeaa0e09ce39ab438987bffb98d4f4eae72d1bb5324bd70cfc5efe9f80f30ea3ab950bbb3d514b0059c1fe4bb26c115639b52d5524567056c3bc72704450775e1b0fe7e1720b85ba48fb97bf3e5e683fb5e92498e14f380fb4c425aff48206c7675da7060fe215a92d53c333228d6cab56e35fe1da3244987a77823536db2ff80c51fee03021f7ecc8eac5fbf45fefaae624b3815c96b97a96d8658086657be72652eb5d4bc3260532b17732fd8e6f3f9cd82af9bdfe3da6b45467f059a2be9e8154a2833acc865b220487a3fcecf81056d1586c2391582760f49af69d54c7b18ec797d92869b880897f2820c9cf1de6709eea2a353009728acc5c915d1eea2a39411c82015cfa7417f55a327d59284d86944ead69844b90cdfe5e417989e546fcd3bd2d7a6a137316d0f69011fad953147858e569b692119d041b0d83e699ca942533d319908173328488310384139760e8cde8e30a88aa60367030ceafcdfca59eb27551c3cb490a942afc35761478a5f487c1f2db22668f063fcffed6be66340582c5066c8c1995446d14a98f42f7a89fc0b2db448e0d70b911699dfb9121953fc7b5cc282ba721267dfc87acefdaf1658cb7a47e47c56bed6bc016431012c3bdda1ce0b7c543b0dd5b47b173f286a728ff5d575cfc064c11de18c87c8ab4bee67d2ea905508a8fc1c76ef1358b9f41c9cc0ce156a7b39acc39c802f8ce4d8a11f3871595025256a6b38068614eb98a9df9827f151008f47c32bfd5b3b39ea9e512cd7c8660bf824078c3844e20923b71d7616e12d0dd0eaa0e84a98c7da9f5b8e11ac71b9793fc9357a9dbb2e3a6407ec51b311e1f7060766d3355eb9eb9f3059cbd8f1187bc4d61bedbeea9071fb157a1963e485ca0f37f96b21be8da846b6b991cf4baa6dd698dc4b4d2d07bbe44dfcc9d0489001d912d44afba0b29ca6288db498768234fb4818c84e6b21691f1e823921df19375999173ad9412688a25d7eb06c7a5bc174f3b4511b9d58bdc216be2a090a67b70e63939e6fb23a98e5d95adc2fa77426908d23d5f6f9d3949ad5059fdd305952298c1d89cde3da24d945b1971288afdbbb761237dcac379f93373995fba7145a6796ff918484b85b5c2eeb658791e2a294877f65d6a145b6244cfbdaa52df406e77bb93a883307409a7a411b7b66172841ecf9621838b0e2915d205143be2490bc078754f47dbc020940da6f338529c527438d7fd2fae44ca91a55b79e8e7df5f17ed754beecd2b66a0277ae2c76dc72c0f941cc578a617bf91d2d7edb456fcb7f5024052b232d8a6fc0e0b7c5e0765860679b7e057891643b332d8827a0bff6ddd1ad7896d72cf5b82dbada3664bc8f12858c8e753ed30b062fd384ff4eae6d9e6d45487f53e84cf0a49dfb6f4ed87d57d5dd2ce1283f8a2b96b215daba79a188ac2da10efcc43b67f091f9fb7a01bfabdb254a8e417f8d3e7dc79ff0de6e7051d4d724eecf09ea474370f71182d707875718feb9f95f17aed8d7c2936d9bf14ef4963348f690997d23d939155ab8a9e78623fdfbcbedbbb8441bd28956a060400604a490ddad645d5cb4b3291a02730d7e209b16bc0551c6188d1d3af8a75f6d4452a431ec565f0dc018f150348d7df78d16db14d2a64225b241b822825ffb6144d5ea6e129588315cbd5c9a8f44b9ba87ede9ffeb07d5aa3aad363234c4c0dddc2e711f42a245d4f21a81f2db240cf77d4b4cdd659b8ffe0640661873c9bc91460e849857e344fdf4b06e4cf344c111566f9f9f99afa09dcaf4f9411be4b5aae12b8c4b9771f929baefdf42087156f4e76d9eddeff8e4cf31b76b61bd07f6fa079aab08c19d1a3521665ed5714b5a82b8745140654b7bb02de77859f4ddeba588756c7d5b95cf3847ffe54c7fd316e1fd24403186590000e83ad39b2157d918a951a8c82000d87813b388ef636f71e43108ff87606c867194edbfaa50b0efdb22c20c3cfeafcd17b09db12be66aef326915bdb7cd66238b587a71307a0e6673ce8019db91a1f805f3233a06a77c7585fae75dc784bf02d24f05db94a91355bbbdf5bc55362699059b063947310856be0604979d96c67947ebbc5eb1211855905deb1b70ef6ef693d2dcf4fe03e10df646dfae26f3b34451e25f080fa41e3c36bf393efd06ec5dc296629ce7821f66b62a3582bb73a6a01a7837d101b553a71c820983cd7e91637694dea8cf74885df1db55bfdf93a6fe95cfad231a7aa6ccde46afc3eac4378c409a70c4a367f09e38e7b50d1ed76926ead89dc4d1ed2a4923138986cce059630c660168cf74885df1db55bfdf93a6fe95cfad231a7aa6ccde46afc3eac4378c409a70c5bfb5d74b58f4308112081f858513fab19e2e442069ca3df61d3d91c96fb639f45d698a86a4ee7d216430f85cca76cf54753c8713c45bb3b28b92c3a8ef3a4642d6e626de56bf15ebb5bc60e004f274d719a67a5f8d47bae2de9c4e60498282efd7f231207772743da8e469b373411c962a3c44cde81a1db690deea42ec39e6af1647dcb61f7eea378f22b3790403e9cb9e4bea458ecd71d3854bd5df88336fa743f477b3b9f4495240ac9d35859f063bc04a9b46c35b69e1e87c4f1249e4a0333ad233ed2cec56a6efc7cf3004aa0655084843391cd674506313901202a7619af1283397680827d4a661e31f62d401c189b6f3383ff71ee47f1a64403f59fcf22724b7a0c93121687d7cce65f53a9674a4e9f1c27083422432971b485bb95eaf9769e239de2749da7b75d350a145e96ffdb392b055ed16457b66b5a7c6d5ce96e7546099b839c742d2b64e38bfce0c52ebbb2eb3fd2f5e5cf2380e3e50b81dbafd70596af6f1d37b68e02eecabda77dfc160c023dc7bf07123b3d60340009c796adfb32ee98f7e398dd8d3104d292d5acb22c0898dba671eaa8047f71dc3ca9090acfa7e39879846ee192cc2498762395451a4ac98b4b8a16f6d53dc140e47199e1c2b27ecb9dcddf490879150b8abab67eec0893a9692ab97a0f91d6403017e1f9635a19e3f808f6acabc274241d940ce0d5163fde8d5509a8b7bf2f4ae7367657e0e018c184abfe722789c9932c50ca7b7ee368885e3a815ef9c5905011c3b6f91d8c1b731f48507c25cd7cbe6d72b928c1f15c2bc68cc5084386d7324e201d408f5d1e9d6ccf054fb24e6de6fd6488601bea827f165ee7fe132cf8c1e215a5c2092760554940dc249c8c8be8b7e1673c85476b0cd2908d5cb04a50c9cff47981a75a3e3786eb91923afb7fedf378743a68946d7857ba4fdf7f5131057a3cb1268c684a8f88ba8bced2eda63d5894f650f1112028f8c2238f977ce1caabdcb3b1a02e6755e6989bbb2653521da790eed416d7becc54bfc2b295a4d2c483419922c6377dd098cccf30e3b2cd166248f93277ad911fca06ebd448f407b752005323153b5536a1e2cbc206c1d78961c21fee047cc1ce8424dfe7b0274554471c6428175ee603fc184dddc3ce548d6ac3d63752ad6e9818173b88d141f0cbfc8a36c7c757be7089c3d3f1446d3d9ea9e5fbe082585d2b15801a51a3750d5a6008c3cbb7d84d9db08759c6f330f20976fcea24807202a5f40d5cdf93c962ff95f093fbe937892063da3683bf6b7bfcdca2de64b3a681a2086200209381582b04d06bbd9c520d96a8ed3eec7dd81432b4e657f6313f8913dba6e286a0a52c129ff6cd6c7418e5bb53a89eb2329d0cfa6c15877be64328a0675020d2ebf25799218a7107213988d88889cbd0bfb382673f1515f96489ef4dcfb63d5db2ed6bcf519103a2e45e4daf5c42c9f1c4afffdbfa25fe27700fdf07b1908d3a776c27b66cdb43b7b5c46abcd40bd407857cd1f60f0aa096ca7093ab302f6aa4f7fc38bb34e8fb7c6c0467df1a2c9a383c110ae97be14c0a7984facd436b9f178e5967ca6b8c4b86b4f636d9bd7f5a606de79503de10c4d570d5461d4b85419feb15786fe6d8aef2cde1fce5df73ea97dae057efce191814b3f27af1373611bed57b9cd1012ee860e1176d0328b1c2675f164790a8e514235f13101e67fb162e7f6c861be0097bb0ef254a7e9360ec43e3129fad11d27edcc611bf87c12dba089f6e381f462ef048d9f5c89a4611ce845d46126445867f434cb746cdc5d7fedc43607fd89b7f0aa477f4089fb67db1f7b225b26ef75558e25450ffa39debf3c05c014b9af5961ce8de8e352d581e457563523d3109d3aa01c4d3cbb14abd6246ab4fa901c91b623bec85390e7b61f4306c96b6280b7b1089cac716dbfbd5ca55f05d725e50e1c4b20ab7330e47ee155a775f69ae3b0e432c75d74ad005cf764228a69ddf6da6df6f5f8e6033b50492a97ee5b2188ed80e5a2e1d7861c8388ce563a1d914f874fcee3253205e51db51144b617ac2474d98f58f15db70b4863cfc945a864d4be6f7028496be6f1f36723f2ac32351039fe6c2eff1440551379d705e150a181f5081289f68b8baeca965108aa70624bfeaa046d10f92057d55b3359b5bc1ad01f19bc6f0efb20fd6a0abbd07a63f9b7d6ee10a12670d48e463d7499580edcb40292c397170a5922ad79a20b44cc8daf82c5a263b9c2578df685f03973f6b1fc931e6e9f457d640052142a2e8ca672498c73d73be426d5262576e2ecb81b5d13d6d52ad9976e7eb5266674a84e72f461e0aab4da6c05cf32d35e6cf0171d53ffd7f15ac5173d3c619d69fa08bd4359f5692f146d33d2d707fdef26e195b96c8d18be5bb8c97a57538cb60c83cd7d251313f016bdb0d8cdfe1ed72edc805547c2fdab1704a2dd4689d562693f185e4d704f5c080c407634cc299727344e3c314e8c6073031c3d69fcf89c1304894f165df9f3375c94568a8d285de451d1220617bb5235361bc257b087395a30492053ec264ce74c2dc22ed750c46914a25cc98b47ff28901e97565f83eb11c59e11ebdc4eef614e280a84330a2339e85643f3e92643dd5f997da0652e8ab5716eb46cf88efcddc8784afa1adb7f346f9df8e37edc90f761a9a1e5c4925951c73e2862464bab54611032733bd1d30825cddcbcefd0c97f83c5a3d76122baf10694abd6800ad5de280b484bd4e9b1766061ad72269cb7c5d8c831c1800ea0c617bfb1fd7333e1178ca89796ad091e0d69afd524f400eee2a1d850b6bc03d40e5dab6877986a3bb9d5e5f102b2b61bc9e5f0fb544004acb45b2cd2ba476eebc8a25a9ba1d2eb74ab6a3844941c5710c3c86d004b7b941ac0518829e82499444699ac5f7f3745da3fe5a21681f7f1e90f1d9bcf67cbdb3a7c919b8247fb7764acc332f1216f42e581296c85fbddcda4945c6b2d58cb328b545509c88e300281ceb5b0184a3fa7c511b2b8467803c51467de3b4f12e9f70e9213e087e18d62a7662f26264800b8c810a07a4da659add0ee39a2b29ed4e17cdb85a4a756fb11dce00be3b7aa190b6a91ca243d3e602f3789a9e1e9ac32705920edfef739614e07aca0a86de0d242387347fde08701edaae8a44dd76ad3ff80c70f19586b963c517c9d2b65a9606fa2228769108253bff64c7c37c2b097f93f8a492d681e6464bd2d16f6cb0d07f287611b18b238a433451cf387760c538172729f25991d95a934165c6fc2979d20efc0539272ab608e3e918180c042d095fe42a95236ab07e01dd58f9c665dd65a8388a57e28f440eed72a1e6868507bac0751d00e3d4cb132a87429ef88ed9922f18c08bd3c26a201003dfa943b4f5619e009792e474a3e7a16b1a8d8a9bb45b5c991a3460b47f0faf52c8b9ac82b5f7e2a88fce75eec99f02057992816cbdc1b16821e660743dabb2ea727028377235c0a9f337971f5b94010cd74447d2bf78d66d478da9bf51e8de943d7015d738e08a88d200a2910744b3c4c5f69da660ac83e7df5c770c85858411866025e8eac9f272dca768c73c6c6f7209081a3b82f2ae7e62bbdb97436ff76ca25f6a5b43a826ef71eb019d32e3de6b92a3a7b8839cb8209b9e0d398f0a495a421e06bfcf44d18af73fcc800bbfcd55d76d246d9e9176fd328e3986e12c84a1f135031a10ed30a584e638d721c63812030f211912494cda9cea1d560dadab46ec590b98e83979cfda1b86b6d0db7e5fa73b8cc74e6bf4185bd6d39c1ca1887af322f85ac16e99905f7cd07071da81fdf687fe2f7ffd63953db93578573c49d9d9c26c0352f4f5f79669320a1a438df53db1923f23263360c6c46e83aa85082b9192755881f009312892ed10558028aeb90feaae89b90d8d2760a5c508df1c0b124dd85f359afb441922a27162c466a80fd95cedde6bc77de49f583c90a9701b1638fee9c0e990297d82f29cbf43982f6c2d707d2903e749ebb62b48425f8a51e35bed3ed7e6ebd1beba2de0065d36ca73344cf2a23c20ba2fb45a8a4cd3e33a0063b38946bcec75bcece3ad0faf3cf764d8d3ba2422e7608f8b74c932bd5e7b7759b4ec528176974671cb609ed776d3d644d7cbe563de7c1ab2025665cef45f5ad40cdf772e0154c8626d9452b7b2cfd4240c6b5cb64d0d5a677a49262c8321aa0dcec130fb1518fd65de1ce716df8158c06c5b5091611755184deef6738c00a47ee09dba26d169e878bc23bd8fc79aa00f13e7c72c203a3522a2616df3a801fbbb45375b5b1c2a9a5fab410654ed23c0ff0fbf06e2bd9390744ac4d804d6e8b1459e8b024596146fecb94e71b464d4e68ce0e9a6a96253d9732fc1522f0b644309cbe1f57efd239dbc1d8d31de1db4fe8bad965117aaff2267416cc20078ddc8e118d82211f2d281c249c23d0510176b0673dea168f9645ad29e9eddd8eeda513af4e37568d59826bcea7f576b7956b47380ea8d7245094ed434d7cdd0edbb84b56bb3d5d6b623c6e3945cff399f408e5cf74cf5362206f0891b1a0c4323e159aac96ad715dcd59b770d10bda77f73eb41b63d0aa41ae359d2359abac0238c5ec5f421c33e055a50f8f52ea89a7c638bdd6798f576523ecfc1e4ec2cb657d445f1a7dc0dfab2825146fd4557b1cbd8161fa28bb4be8820089848d695316edeecb7fd5a551f8a2cde798de4d6010a7faf9bd5e0c6abcd9a57b9ca0bdd82ca58d38b7c8027cf651e9265c7703fe4b8b2bd6813e05f2fc15a83eb60e237dcafa0911b5b19a7e25f23e6d65d2ba6bf988f6413643cb336b49b438b2b15659c0b22c2d0c63a25e3c07af15eb3d3f406ce6ac3cfe027295dc8485e7630c8214d7172969f84266498276fc0c6ee0dcf741981018271639085f94e91cd955207ff6acc03a1ebbdc16c836316b8b49d85239203bc4b8e60617a4420bb3f4769a30017128fd62293688e9e9af08f2d1f95402635813d6303faae72ddd1218fc27115252002282da415f7e821711aec00bd43881cbf8b233763adea3db57f17631eb303ec706b6948c43263db9c59162435505021c13a5f0a3c78cb4acbf611032746fa5c637e487789511b89f09aa36fdb1fef1a4ec171178cc12daf4f49e6ee368fec496c482d04ddf14563076f1a1b8669db58e902ddd9653fcccce44fe046f0c62574224c2a2d2d6729cf0f4c7211c4cc912689fecbd30bd4747b6dadf577b065ac03823d74ae1ac8705c2f68fd8e53218eb96b8d67375564242a6bf825021a4ecbc8347af6f47898c0ee480c4f8102228249f8389f96b2f6b869504e09fbf80b245cd9144df9ae30502527fa939ae3ba4ff7a7a5190c865cdde199d079e5f25b7aa52b1b56e4e110167dc9069abfc5566ac4a0c2642cce5650d86fea693f62af356ef536915e1573ec01d1a98f48bec3bbb204e88898ba6b5441d30671cb502790e9091471d25d304a290f658b0d8e7e9dd93d3b908cd202f13b3a4f228071d4211f4e1947050dbbcc9e9698be08b0bd12c6f33f9e470c8214b0c597d339e211f4432292a8fcaad76a77a333aebca444ef9f718d27df30422a9ac88cba29add1029c30d3dc1c6dc78135bb6ba0d168ee41f3763110d65e39e8f6271995b59e6422dc65690fb69e2a9ab250e2406e45f0c972605266c3d67dd7a6ad614cb0fba5467d87facf62464436681c260436ffe0d3d591bc99e9e08a3218e0017589552a7f6a374fcd4a54aad85ab9396eff64294fd703389dfae36d4d794f6261c79b6cbfc347699b38f361cc54da156f719d6aee6e14693c79a062680db425f5580d6222d56e57c53e228ca6615305a105429a427461329ee47fe30ac1e0e7db93edb3a624a2d43069224290f0ff8ddcebee1e3652369ff24d1f09c22702048266e0c64e0ebac908247c08290baab277f0a08d9b958cd1dc3c06f35ebd63c453bfff47adb65e7bbdbf94cb97f4595d128c37d0b779b788170d6e7976b0b488644b3df07774c0ffbfb4fac28c63aa31373ef16a2ca856ca2a1e54496d4cc91602ebf64bf5df99fbdfc334a89604d8fc187abb0d1caea131cd5d49bff0aff2fa4174d19f05f9daba1b4c7a3c1c0abc36c54a82044ad48a406a2828e522f24b70247c922a79330cf8f616debbef2ab869aa3b38626aba388fa6db352a3be80f1efdfd2085bdf97c2ef594a5e7770da8add0ce546dfed3a844f94ce693137b6833712c016561f598e6d8b08c474eec2bf2e0967876cbb696c364160f7697a904b243e8160f4afc2f471e4ce0d37a5ba35bcee387a818c370484f8e3a09b6eef842d7b5b110615dd758cf5e29f30bff82e534d4d81726e13f34919386becdcb65cb9fc24c0f5835314e00fe13070d53b684a51586ff413570961780bea6526a6eab2568dce27c15efdf0d8e421d05005d2761cef8d501304f73be92a7f43174bf738a380c9d5d7bc0cac926075f57c6bc70c372d9e1fe86fcf295f406b17bf04bf8d1af25c2456f58520cdaef3be94101df793fddf76dfae477f917928008bc4a797446cd4ad44cde6e906c3f87132a7609201edd3538f89942ea8a32307c377d7937f6623bcba98d328986010e27dfdf71a1c8d94e7cc44117cadb1cf6f66fa2e8cdfb873dd5f1d85831d19841aad898ace395866bed261d403c8cd0ea6eab6d6d77f52042204957e389c38938cf6eee9d1a593dce53d22545dc5d5f6ed9127a43e6568ef5f5521920946510d445a384f5e0e1f961a15295f30078e8c8cf16ec28672b659b7ff80829ccf8a2a84833f76a8da28ee51d3db32944949fc2ddcb9870ba0f2d22d29732dfcf2a6ba1191a3a3cf8d418ac9c4093d175f6c5b12997d0bd6902a5467d3f79e3abe7e60d7824a9c10414fc834ec763576fba475148243e4253f2a94f8001ee370148628db5ffcd45494479e8704e6c76c0cb14163e4a1945d74f227689050942bd539b776c134d070fb08d17dcf9d99ddf49d0292b1aa068fe3458112070e0e7374d28bca2622cb24770d3e8e007f200782210eafb4e711caf49fae8c3a7d9f8bbee312e4d8a085a885566456c46be6b63945569f3ade74c8043052010e63b50bfca22e42873d0fcf4f3d1a36028d3448e105961749f3e2e672288ce295aac942d851c3546f7cf2a2692a72eb8df570f98351fbd478306686cb3f3efce1e6921fdeda3f5d881b64672696d8759c5bdcf94c5d6c36eb471c2f78b72158bf47bf60bffb483eaf343988d31d0856e57d2f3fbd91e382ba134db11f71b3e14f6f70d14f78f7df3ef938073e2cbc7b312b5813ee2d5ba2e15a6cee2c5cc46908eb6bd209dd2e46c47a1d57ec72da80583fc1d27295970ca08aedbcff1440f381b9fdc0ad644d7a0e27a462231f0f1e9676afd7d39dcbb6dc01a376114f6eec5d2324c49f670a5b4d345244c57b95fa73670aad1a98cfeaed9976b64d9794abbf95f99ca795b6c3630d1bfb43b86ab62190c4590b08418c7e139cb392dfa666e66b34cfde03c49b590b91bdb2381562908d6568f72efefb975c477adfedbf8c1bdbc4f6e505421f4c2eb064f54fd4d844e025f8ad131d11ae804d89a2bccf36360792a2b22cb33709d2838a3a4427370c1078897ffab0d0c4a3fc74f2983516e6c9a7c40a3ec37186b9027a1b9a0e5029f819bbed060b8771742c5f946b4163ef1080531ee4366c6fec0be0ae3217f48c812af387e8763f915ed129745f9d12711a95eeba505e1be60a3395df41d847f89d96121d796eb2c87bedace2caaf3bafd7f71281b87b69a5a50f8f52ea89a7c638bdd6798f576523ecfc1e4ec2cb657d445f1a7dc0dfab2790fd7c184c61a23c71b47ca48c3c8ce8ea7b305be61e0c59f737c5e8672ce3a1fecd01932d872c0d4ec06178a1860ae12bfab8490056dcf0a9d7a16cd455531aee4126e4b15f53515db886192f7ace1cce06c36b8b7956751ba3d08c3ecc92bf7740a9d925eccd280e54e7971a36508a7d2856d9ef996a394ad5cfd80bec8c37680b5f4d70dba1d2654b31e42b7d32d759991c41f733a294791b3b37e840323706ba6d0c95ce47dcdbe2a5442d65777ef1b7c0e55280609060e78e2fadacb5e9a114d3e93e4eb61429a28c38af9dbd7685c2aacf0bcf3bd85d02c945dbd0a8a14c826e5d2db337e49c32e0b5a66317b58da198874a0eb950c33aac571e9573c31b76d65dc3f98d14bd6d8952161476fe6d79bd7c630243e1974f54e7586e5da9d1514c08da093cd38b77f03ff5fe265c16500a42295b32c66509dc828a34045e15e4ee47b7871b4dad52c86a33b4ee31116cbf593260b02b116215c68507c69ad37fe507bb5fe75649c60f438dbea75a9e67dfd87b013ba57eaa9eafc8e165c7f98956068f3f7687b3853b7308df8fc97ab5642ca2ccd7202313cd9f7a7093b5a83d8878d016ac6dbc7f528669e9568697960f89ee89e62828f7c6274ed36cfcd59298164685165e72b5d3a92d744f14d41aa308c72d7ad2ad9aa2b4e2f59eef9205625a4e32073588696dda6e8971f2f19998b4bc076bce6ec08ee6d6eb26faebaf02e3dbc94f7969f085ce1708a33c653d1134929931b3db743ee324ab034fb0c083f4b4f98ed0654d6104bb5bcef5be5c6c4f3e53129246b33e82aa3babe83674c8e8f51bcce2ad48e88872bb4b3fa0c51d7a9a84489ae51abce9ba1fc0e72ce84a68d3647cd34f04e9040861333ac9e9f9ac5b00008d41514c79da664d8ee66b772df1a3a4502973ca9512dede096a91289330c377d562ebce014b1b2aaf3405abc7484992964143eac589b951132d8e3a90f8359fc1a6e9ddcc201aa8a260c626e3d43587d50d577ca7387eb2d5b3470e9d092c99b984e4ace7a0ec5e5180e30bed1e9fc2a01617127f35eb0f45bfe01271f47508521be8377d13fda489a0bc8af77b4325bb10b651e00b8f7974cc972d0e5456a370f2c46a56181ada7125802ffd01c98daddf86bd57960f51f7dadccb15b530c48e6a24f4f1c697fbac246eb43233fd2e714c85e84407a084da2823d5a64e61313fd393d34589ef0f3eec381cf025f58965728544dae5df9394d6bebc7e68572e429814c87ee6dd284f712a720bab3f9598c897c45e389c6666998899b963c05892fc2e12179cf1ca4bc0456ed97d8bb58bed6b4b70959e04215d3393596d92b33a7aa515238349dd1387b8e9ec6361dd3176e279ef086a0aa6f3c47f1059250b319edbb2939dc9cb803e3b15a8428e2f1520386291052fd30e5d74ecb4d78c724bae7953d71425be1e3301465531d68ae0625eb52b10d0056dcbeb55f02c275af76a423e70c0b684ebc06276262c57cf21e35c13ff2f5fdc96c18feb32a055c6201edfa76e95c967fbcb73ccfc5a8dae1f59e4debba69e0f600155b947f358c939bc753443a7a80077a9837f5092c0e9fedbff6d141e6a724add1e0986080369109803238893c5bcee8d84df0c6ed38a56014cc73d431aa973f1d298169735eaf9f7d42cbb26f7768fb6aa54ed72a392548bcd7c79a10ce16e9ed70da90492ef13346e2419fa52d3f012288300cc487e655953e6c18adb05252b3ab97f655b30f282fb27ecb9375f5730a0d9937b101605965406f3671cbf2b812210f5681b829ef80ba04e85675cbeccfc3e7fb5eab56ee4443225d5cc87fe73cc93ceed629e068d1479c1cacd396e2fa0c806b04a17e3e3c42865d85d825c391871dc6517e5aef10a13f4c7dc977f958825fc376f98f51562efa821ef42d35abd47d05a99a12c59a0b5756bc1ce6732132edefa39962b6329286afcf187b8c25cfcd8140691079776922804320dc92077ae06dab77329e5d7d6ed876e745497cce67554ad5e86145d7471eaa9a9b41979a4113d03024368c7415ea941d032cba902735a046bf9f31d51ecce53fafff4db0e00a889cab526a1fd70694f8063d72f885b0a8ae3b3ff5483a63ae8df85b92dfbd38c982b63a7c71e4291d20176501f7c1117df19721c1cbc14de8626660ca2363c00c17e2d4d014cff79ba7d34423726717fd9be71ffd5d440760d1e2d625f8710f0cec15eac4558e6a4fc3bff85bb0dd7718195d72a476c4e0b126382e8d31305cf11a86e96b5f3013d65451a259f39436e1ef75c4d7b5722ce5ca71e90f0adacfae47941c205d45c8fc04ef2095530850f966f9a074fd794a250d3361eab9ab1e3d5d24b8e3545352e97afa0f76a77a578f75fb078026617444052c3a02dde1da1081aee268293d7f8bc6742e5dbeb4cf77fa44bdab52c0217c47ff08df3ead4ae451092de5c3c04b4c2054376426f79a987e2dbe73a646dda136468a78192af2b20cd177f78e3761e10d66567373cef3b7671aa3c7912d65de4c9050e29bed47a256b79cb3754f43d0f8c1a5ea762e400bf809d0eb44d16ddd471414a17eb224e3d21156334bb9eb9ed6d246d7b955b5886c24fa8bbdcb2269d0d0ca6c99e3061644a02a28d20b6b8e6eb4aa50490511528a6b34cf7070f0f44e2c51d948aa226aa043c2760288aa883f9dbd53b9d65cf8bc20215146fc016dde6f7863093bfa7ec9e564c36992fbf2b7c97244c84d406e5fdc60b72c56a23af39673f23d4f0c002e24160530515a45f46bb6fbe8728cc79b135a8c6956d5c8458c41abaa37d079eee890fb7803dde876a19ba3acdbadf41f269ae8ed0d73ca0e37e0eb80bf5d4fef30966c73521a39d5504d80adc7788990d0c9e74e197efcf99b4bb1d071cf56d0f31a9018d9dfbe96d268a8da5f5b00a227cdbb688c21717a80105ad1ebe5dabeafad78d102afcc6231e674e81dbe157f4a48e7c3373e23dec053d6db23c6307444ad18512ee160159c175608c0d424a86ec22dec6b28eeda65f61acf04434e51e95d004b487e4899fb123547abd913a54236b2f884f55298117a180893c051cc50d668414ce2ae60da968b7303aa3b1ebb816fcb0619b7faa5ca9f22a90e5e81a736c0ad500f015b139cbb05a23ffdbc39906c6feb6975244ec91ca1aacbd9f95471cff68d8b88f86506c2919e04125b97565449c3e2e1741dc80e592d527f7e27840509603059731990a0242f19f37f51f2908c87b82bf6ddedbdb3562f740dcdcbadc0e8a651841429d5c7342e67b8063c6cea0edf871754cbeb77dec79fac093c4d384ad6f330f132d129edcbf0ef0c4c7321a345381fcb2ad1792d561743e033461fdfe16e29756318baf5f4d0ffb76b04f8cca00ae8ded57c9f92d30c8cef868ec6ef999bc57ea7e244e9324cd230b2deb5ff0c49bfb33cf2893961f37c2368365b6e89b586bdf3ec73becfe0c4c4f6d0bc702d61d731f3016c9d290e207f21023e6afe743e981dfcf3218418db2e62808dc3f52e32de6d5edb901717e9316090f160657eed229dd5674e9ce619350dd97fee75c5fccb1deff496d06247a591b292fb32bb0f5ec9c1f4a53f76bd5a97653bca5f195a06bfe9660fd2a5a19be10df94c096fcbc1bcf63908b118c22d990df834297999f8883dd53a9104fa6ea5dbc3363349d8465ed32663e63f2907d34f59f48dcb4e75497862dd30c9be4c5f3bf980d7ce0d76a838dc45b1dee04049baa6a958baa3a25ebff619b691fdf91ac27519af156c4864d5bb780da5febc38a9b7bc101e86c3eede15c54c7c4dfc0691ae0e646fd31aca15bfd72f53783081e829cd150b19e0726898c3fc94154dfb2e0d1f96ff112821fe748bff1c3ed5b55f58aefc4047296c5b86f3c4aa3dcf8619c5d444491414f72e014767e57fd9ad62f57653f4d837e56137fb527f9ccfca6d63caabf621383f97fc7300ccb8aadd0d38816f374736d17ef10bdd9203e9edbe248633e0bcb6cd60fc2cfe37c5cd82dc37585376a87d41a54001d221205e9f1538066105b46c08cd329e85d4529426063961daa862354b7f4eb1f9ecf86005b6aafbe0aed40dd9a0eef685ed86bb808afb25f15cfb7e91a8f7ff35117a087e3cf4a1ed21474d58294f36ba339ecc1fce4e0b955181f4d0ba74e31927265f5a40fe5f331d3c68a012a87c4ad3cbe459c474f96bbc55371e235d97c691118af96a10ef1271e0eab2e77a8e70b329be2a798517825b6952cd4467cbe2b0b9b117ca6e1e4b2d871bc592c579d2a547df60446f2d7fe76c45f9d7288743218b0cc5077844164087f7c2c124c592036f116f991ea62f47c8bc1222512a8caceb2c82273cede87622c66b7beff1de9e1d200968ab1f73fb0f61c51528b4811277557f3f0f4a9b69b9d938e6b7adcfe66cc465c61e12762f1f48bcd37d7547c7f2038eaf1a70bb5084e79bbdc12f6e83a27f4c8b4438e5db9f0e9afb6bc5ea5ab652c6ed0ed4d89b958e163b38ec1e10c4977cfce4b836f20519639bb4b84919ced0a37a6adcf2c650faca22c2047469c6be49ceea41b889e59f0b3ec8e477c2f7944cbf8803379902e38e8cd4827f4f37bbad821be5d456fbaaf7bc86b8a1d4b9fe4ca3cca33150e5e6490592849306fceb7dcc549e8b613b27d3172691c063016fb6c22284085f61e59cb44bd9f705a6c8ad610f960db7215b36e0dc5f9f9b24f6bdaabc811f444e4c226325ac67332699027884b4de429b1d92883018b17ec95c903cc1204498f24eb3e54bffed060963e907666e8edae23f0c78cdd9794b69d4936425b6296ee9945d56cdc42a2dcdd7f632db7ad6f8231227e16e5e97daa0d01b256c9a7d68f8076fc9c6e46be05465179a327ee997a3cecb655debbaf5b4e3a1e4097542c82c80021d85ae789eda1a021f369afc0818280c9ce3bd3a1ef3e3ebfe138dc118711f0bae444a4a6b875c65bcdce98e758abe844a7e43d9ff569b7c77c1216adc94662afcd25934a82249be35cea34a8ca400f899973d6beaef91ebf443c48825b44ad013816ff61d521f1efb79f73fbfb60d8f249670f3576e501a7d9d9efb839e8dff2f3f5b4cd1b0811d512517c682f219bc6f44bc01d924993cca7bacf74486598b71c2aa3a6b82357c51ecb36b2a569d0c6873a1bd84d6fde93cfda412e16c8a67ad00d42fe11afc4a429954d379a98db37288a7b7d1c3e8d947af473c1d438bba8c33af933524d82116261b5d1cda1f34d8ce5f072384850072d8ec7585ee97bc2d72434eaea8ef1fb40262809a3abbe9d156d6665945ff7f5fe2b6602d31923664e260ef7b8e8cf2063ab6d2ecf8a752f58b3668985f333ae02c677b460963db74f68ceb5d43af6567fbdd79b5ccaf8b7592bca0fff629f9bb6f2c78c4ec8810f989e04b29d76ebd1ff81efd34db5beccdc8f6dfce151bea174bb9bcb14bd3ace20c96b893cdf34a419d52052227b79bb315992c31aaff0066fbef6c277f42bebda2cd635549e739e5950c5eb9b3098f932aac3521059ca3b4156c78b1ec45f1976972d1f70dee14375a1b7a507e44cb87f9393281dcbba9b5724bf0c529e6fcae1a1ac8657ab7f7acb15fd2b709b22d4d3650fce82f476a6e7445fe4810c2603cd661cdfb984430288d8c5e3f9223d0d07c2481ce2692f4e5728d65ccab1d105ecf64f52ac6b9a923ef106088a249b195b18022ffb7f5120c89b2e874ebaae9425ee73bd15e5d6e172cd4daaaf086b6f5db793b511dab8b925b61165983980b7679d897d39f9e44a2277e61e00ac8e05dab83828668d3732014abe9f1e11f62c218990fb9be4f598425c0c1cd49db630c6a0a9f909c1138f6008a045affe5df1a3308f2fc1b321fb4fe3916265e69fab8f5a86e8c84502a7978327a57b65423e84cc50da33c0cdb5020e23411d7ec73c5828ef7f395531381fc908e8869b21564d2cc9c02382ae6714a2d2f46a2ac3884e33b8c394639bc8ef32d436df7a1520ecffbcc4ce2f4fab77eb1c3cb97ca007480fe44b8d12f4048903351e35d4d6a3eab0889aac620dcd33cfde0b36faaac896c1e7c7714ba8ab2087bc827a601a6c8a92dd0420c9c56744d2ab88bff4d42373bf5c7521282ee975bf8797b6e47dcc6b9685e213e185021c1789adca8c27b0db98e291065f74f491fbb408c99f7af7f99208a6e3fd2ccca8f6bccb04b5600b371a983b3502c066b0c0d75a911f79f84aeac30923f7a7a5283ca94755beadfcc3f3a322de0f7e2caeef09b82b90ce1246ce6d9d8c7d0524858ea1c40b30a7f01bfea6d3276c1ca1d5a725c94f5090b0523fd42ce4a17ef873044b38f127c7374045ad7e12f9b5e7c828cc81ccf7abd3b3d760cbff254c8291d2213fc12b4cc51ff12668bb5b620134667372ffaf9b3950b103178c2d1f93ae9e1146ced5581b4aa7a6cacf8aec0022f78ee68e6d1ffe388153d0f4ec2c5abee261bba6019950ee05e020162911746525537203e42cb3a30206ad6fa8bcd39f93d3762c42870869cb2e20d5d030b6cfaa8a01d75d90ded2bf662838a1c3b2652230ce3812c0e7843d5443efde99e66e09baba352665fd0736423e0663514972c0fa7200de4182886f8cbc7d4af5bc1a819d7e25d2c5cb933f41a1ce722ee69533b973d9dd639ce12e97ce99974def9c899029c8292ae06976e2e47ddcdf8640d948c026caafd0f050a69ba103c8aa2c95168d3be65c3d9daab787e812afaefeab8f7dfb5e71acabfc6fc2af77ae642079862f906571120f0f6bbddb22b35f4f7a006a8f76e1f3ad8313a5c7d9b287409bbe9f004d6cfea8327067bbff9bcf8ace9b5a481b2ba9d287f8577b12123c198f7d36cb08db9759de59673d10c83653a9ee3cc80cebc2361a13979ed1ef5029d77369730bd823335091b434859c849501a2deba3563bf305e6ab17268a0b84fcea951661f00e6e26df85e4fdbc0649416f20c84af2443453636ba638badcf6e2127bcfaec61ad70cfa9b98647badfdda81b9516adc091c5337f22379bdf944f9bf6b639f2b20b0781c465879f6aff2965f8928b700b4a08e2cd9ac780dfa4e5eee2c9a08a34db6077fb84f2cb95c5fff3b82d808a265397af71c94e188e4dbaa8d31fd811c3c3ae2f1bde8c9506ff41e8c3525d98fef763a308139bb402c2c802bc9d63c903f34288264b33bf7b7b14153dae562cf0a7627470dce06b95a13b99ed321b89a9b9665e871f500e9ef9a07dd9186e82437663f6c7d26928fb53c78397eed495133c971df42b3f5f29c9ce03207d09e6f1cfd33d63b136a00da86ea1b4bf3d46ca0f1e6f6eb4a71c03075a51fcfb2998bed990700f0194f8bc9b2f030365848c09ae8a9bc33a00028935ff26724caa8a7cdea7b2a72bfd4097983492ed13b2ca161f9685c446c6de720bed246898d811a997f75783bed55c60e65a356139d616ed0da2bee276ccdbfeea255f6786c5ddce2ba0e91f4560ea11c6317f5e3da7d8aa30e09022e1533045028ebaa975643f08731110ae69c18fbb77b7bb9cdba7cf265c7fe33c5e69b023b9aed2b9b09142c11dbfe9592da41fdb9689aed2903977c61f22a480bb054f4c9e3c8202df284b43148ef332ae164e19e447a3859d35c96dd56de0833f22f622d5e73f9a0d1c009e9be9bf128adc6660fbb4680b449a4ed9fcda027f5ebf35cd42df4065ffc79a29869c8980e2f50432e76f44ff2681bd62ec524db1828551da2f9f2761262a05ddc4b1c692caaaab1e50e386776a08ce44e3a4d2def73513bb4fa8d04332ac631d097275c6bb77738a93bf819430a440fd17968bb57b969cd28932c9ae03ff978d66e0f51215071990de1968d52e80be0d57c2d49b3ad0ca9cd9448859d04fff85a806c7a1368edba0adb4f7c029c8b4e1c7f4ce3e2053608f8546bb358fd82826dfa24c210eb72c021e67ec6a4735ae42b3b94907867f45e9a36e3ee78a8e7298014176dd3f2f2168a6e8974334e212132be5db3ff1ea6a3da228a9e07cf643ae3596801ec146257ea91a052675e611d7ac1da51357a2227274502864b24c4fe71862378b71749a93b24739265351cc06dcfb4cda9208a9d6faf81561940f96bae3ccba6d2b0a9899cc56242805f379967dec365a81e1e518a648738e490024ca732dabec53544123755d2f6da0dcb19600ec126f532b27322a01a5eedb41a825dd36e95f2d0ccfab556cae4c281f53ea0ad04e71826cdfe95e94cf6c63f356025b3b0394494814dc7e52c37ac2f319606cdb46ac4abfab55e14ecac60c5428b70d3d252dc6bbfde7871192caa80963b8f1f934d4332c903a74426c8c71cfaaaa3045fd79c8c8d1fc5ffd48d5dc6a0fe27dd8daab2cf22053479acfaf39b002b03821551530bdbce9e731b861fc58079289c4e0086b06856c1077b2220ffadd66dbad6fb56bf5533b9a5a75edca9a37d7b1a2740155fc9db4761ee39422f77a8e043ca9abf435774e50e93b2f091ff5a22e7e276892f87a0000c538ebe99280737f6a41a316e9c47fb26b3c061595b00e84b30a400d7c8f5f2f7963688b08781eb26e476e74bffd32e69b33f8c2bb9e692820a073f92570085af78916f33b30ac4a25887c53992f81198498d47f20d2cae52b4360da4b352c1a25205809d56055bc1e5b29d17c5423726ee837eed7643dd309dfb3a72d45fee532465137e4f409424fd15862ada70540d53a931b05690f773938ada9b98e2bde7120945bde76af8e7a9ce6754b932449e4046b3a781c7c1df7a873611850921f3a2ccc30a10fe0bed5391ecbb1d3a06665c5dfa641c25b5a49dce852dedc9317df8407ebadb85f237cf9da6a4d63cf6db2c1dec56123169bc731d4cdd4cdea4dca3a8518e3c2ec4a50583e5433b10214c58c5f77ab9a041b1d300a2d9761c537281a7e3f197bcf95142c4a7908767565e7cc5ee25865156e507e25570d2bcf472b566d6c51aa89a6132b9950cd5c0c5e5779e22a5921a9ded48510d9c8035bf9cf7d23b51f907c30be495ffe50ccc73d0d441bd47341db237d0bf18945358efdc1af031e7ea0e07d914525c484b31d8e8766c2f5f899c29aac1830a4232a32d2834d863848c5f65e81bfa10bea8041af51304a960c30b810ce935cd560521434647aad49caace1cee09448d5ec7dbdc2df4aa752a8320155f15476355af437fff1b2b3ed93ab11afde75a0285d44e60306ef59a47b194eb02f174aa9798ac0ff7838f99f07df978a3e84de88d1840e46872b0b07c04e0b05aca1e0517ae41e1d44d204e93007e4bc2f501601b9afe42ec05caf640af236e85512d60957178b2529f03529f9d0051a8535b3d6d1688c278cd04057c672af6bec3ce4ba267626e45be4095fbc5559b4c581397cfcfb00f3a65618573a295c309103f4e35be498e6929c5bac66634ca68e168d9b4450505d4b561bc1086ba2c41b5652108d86b968e24028f2000de26ea7536c44751c162fc71c17e82271a7ab7780ee8117dbd15331f8fe2aceda0395c6c30cb254891c975694c362ae83717427301771a1f893df5175f93bba0cbf905f4dab9b46a8dc33d4fd36d5abaa523b63d074e9f2e759813daddf77bae9c53c7335b9b6469141c4bf3280e6bc8088d9715d5b13f0d5cc3d4b9ebcf67e226167f5ecaeb5efff6608dc84fbc387bb5a70a430a8c1150123701dd3e2e1cb8b46a0a8d0164171909ddbd3e99626299825b8d72f644c705ed0b34986ce5ec18320ad4116b48ff97a7d7c7f6c19798dc70189b53b364d8ef2c6cfb70f755e639290c3088fab2f5c8bc92288a75e0e3e290287df039f4a709ee87201133c62e31c119f20962d304e4f36627418a7b8fc51170addf976d4ac9168eb8be52c6ba434f212bd4931f1bc13ffa7572e9ce0d0841b90390f521d59e6d5214550c2087aa5e38a031417ade680732ed6d1e3205a3719f4260abe79c7a072d3e30b0508bcc89dab7c6dbca02297e513ff0c8965425fa4c2be333d628d07fa3049920816165f26bd52aae75b37d228dda7e633a0b96c598e944ed9ccf436045becf3b78a26dde469b62379eb8347d45b1f1cde79d70d74324262de046370eb50eea56696d0a5cfe83841f74f78d5a4dfa0f27d7ec176309b0f35cce550d5c437031281a9c698d02aae16ad0cfd0f0c7619faa57b645c77a4d29e0accd5421d96dc8ce8fdece70d3288c57ed415e241ff252c531a501d30d311323f63aee630a9bc4af2efaf92398bcd5efc831b3ea2a9018e74ba73a5c91bf70c99dcc6535d488384b6e5631ce0f23078edcb76a7ea146dc4a733dab86a26faa972e62c581e11287b19fee6ab7dd0bc67bf9c9f136dc41aa88a90680648b2aa1f95b1dbf238f2d77556a409baf1676b925d522477e4e7fd676824bda93fb59b6137dfe664e5e0b2185562e1c504b5206af23653e05e1387725e20213ff7c9792ab60aaa9298eab7a148394fd1b3153f86ca570545e32a352b93289a5e5353cb32902c8ba0e8135d2dc26a1031272a8b1f6889157965cd4d35d4b2053dff3ca194c1b54184b13fd7e4358ddd92a3633274e0b4ce8b1c8a2d0a13377b302afe093c027338d776e9ce905fc5fc566f2cf398c41711963500d9f40e3d9eec5ac5f7873ac0a6a8a347acfcf5694bdee58d9c373407b0b2f2586880c821abb4b226addb5ddded76231a3100aa257dffb779583884bd496fcd157cb3d4cc5fa14ef1f079b168d0602d4a1483140657fae67d27d478fc096d1a1bc958216ad4e956cb8b35a8e778e72471369d0809cfff396fe3076e55f15dd8f60689a46349de3129d6b981f408a438e7a7a7f3aee83a7214d17c4c298cb47bf6406255b2741947023cc13288e9e28c6e30781a05e02286a281a8e9f3ee5505ef4b889611ad2aebfac278b53f42de8b6212cd22bdb988c4fbbf3e3e6171f9a095e1281a2b512fa27fdf3ff7dad09f0f6da8fa081ef53a41495f98ad6df5e42951ed88ab20d8d827807535d85bd4bbb71ee43b588bf9b603e1bf8c5ae8533003801421891b37272ccfceb0f7d6462b659a24d0b65a4af41937c853ff688a1061ebaceca9e509eed8b1ab9dd17acd607eaa720cb149fefa799aa8cfaf4c5031ec0bcb27d059048c2a176e616a307a053259a9425419d82f8dd4e5f2cc3bfba3e52d9d41da9c5985ca6ec4ce273572fe7b84234ddf7f52c9f94b980c87ca4d541791b85aaf122edfe7b75042ef63b3585822af73527aca2201efdf3aa382c6b19a8affd7b260ae9c9dd2612553a409bb64b4cc3b1f9a858a593a7fd03d7df5cafb2d029c8cdc52a74b94e4e4e583b7f329774d1db861290c28ae735b072e9a065004929d91a180144fa39d2329c1b34ca981ae905a9e861348047c0c2b0bfd9411baacc57f08af9d849595097963981036f21e9f79270b4143c1c06b235131cefb370ac51ac436bcc344349b90f5118e92fdcce607f26c9f9248162a04517fd9f5076d8e14aba165c44579fac8f72f30fe53599d02d163e45b7dcf17be14bcb342222f5af8aa4645014673bfd972da0f597ef8a4dce3f4c20eb431dca837d55447ffb0d5dcd3e7a198d3077b1a0c71d010c3abb7b012106162f133810ec7a871f96eb09c90c01323b32ef6d9ff1e489145f2ef879f70dc85c938e2818ede93c15a376677ff997482eedc6a5264f15f90c16f62d432ed7e9f38153c5fbf8dcc2af5aba6a08a072a3fbcef6eb712f63ce5dbba679b47bd21c95ff951a51a836fb7c910f4bd5692ecd3de7a2128e028f77f4ec73c6e5b8212d47bc9b53c4a014787ef672ff936f22081414c0d5fc17ab047bfbd0958882577b30a51aa0ef1d1a00512782f0972cb3363f10bf91243eb8ae12e47e72828f53aebd85ae531da3a8ebed54bb6b84d95d8682f47632dbc64a7c6dc7ca90dbba89591ce7dc9f3757d7e3e0dc2f72cfad57e3bb14e2affe2f7a7d7a011c08a6d3026c4053383cebe840081d4501e69a637838f9ff09ddee869b8508892c46ed6712cf79ca03c228be88ccd7f0611da395ad644ed6a3f9309d14c283f2b1ed4f401537b781723afa671a0adece188f2d1d791f1147d3e0b7d8b15f294a2d88d25032ee32dc9400c63804e1a58e4c22ab67d85537429c5c8f4ef26393c060152a8f79ab1f03463d936e6f235b475c83d9e92b9f29ee9d5d42c4559580bcca92c0e488413ef42b56162bdd809632c82f00b8827f3191b36dc2a0503cd5c24cc0287dd22d40dc4dba53a028985e3cf8355dc9e2b57d7565d46c60900fe495800f3348a913cc9a94f9e11d51671ca24c0131bbecdd2f721eae0945e51c59617f77b2bd32262fc5838185757d09f249afdb0d3d9a98a4db808c5035b5f34d4c3910300c6e9ec687173066b52875e607ae94b463d380d31c4bd643242544bae1e87afd7c2eb1329d683587b7857d8ff1b2b870c0d4628b1887cc3525b8452e919ab79e1b0943634fd72add6841e3e2883e1abed9b2745ef0cc6964b8e3acc01a75c0367d6133e9f5fae2367d2fb4c55bd86760f857ffa54336d81ec777d43743fc27bf4aa2600c87c2b8450c5625d7ec541736291cbe921df95b839c8e4a5c21d8eb099e56a05fb37a1dbd44a0fadd85bdfa70231369f0f4944ea61d5afd679385f1dcce413cb51d8431880bec68b3e3f2e69a01dd5bc012aece8332825f74c07a635dbf4957bbced3b0c165e2e98afb4e391c369d0832a48cd1fc0973e5caf28811cf1823e9f13657402ce613490deacbe287fbb464287705c51878d96601dc49d7c7924d5dc01648703e1fa02cf0395b71357a763729ab9a75ae75c82c81e7683335e0a96f342481fef37efd10b48ab0b2fe107e6d7ac571abf8d83e9d6bd0f61b07ffcbdefb5708fd73f457ee3b13c206bb7efbe45ad319965e1311a1647de6993b31f61a8fb154dd660ed888855a2b5667f45b090f5652e032c93d3897a96cd1f86b154f0c43a154e84688053ac4a9796151c7f3934503bcf9ecb565bbf6f179b91613d807f403e71fad94e0011129778eb7e66d1d1c766d5a41455b92b6ddb6854e8a9f51c944e14ff4cb5be45cc2d872130bed236628739d1d381fa40ba90712820d071b6dec489a314684bc5a299dadae6684bd79363d0d3198c6267344de198f6ce9fe04f02ff296cadfde21f204cd481acddc247bdfec2a7565b8b61b3bbe0579aa6f14029cc86620b576fa25d86df35615275d5d6822e43e32fd709522856e92a105347516a7d89bbb8981eee55d11108eb576abcd22214fdfc67fca3bcd894a74be7da6f90827bfe30eebca2c6842057d77ebe4bcb5b1a1b1a9f2990c4ea48fac86d4616b0ed08e79c1e946600e92a36b46c1fcb1762391c7362b7ddd195ebce3324645835e4288ef10383d66b258ab363d6f95c47b05530e5460cd76b6a091729659c2cba459e6adcbc0633207918962e7b2cb9ab4b5e46601241a2fcf5030f748c47dbdd515f42c58307c3b4ea330340cb93385fb4ee84864b7e945c32e8b0d491a9e0f84ebaeb44d6b85c0c04bbfdb984211e55dd0edd330e4bc5968d278887b7c630ca5f1a98246d4f9a47d2e79e795e4734fcf557a8a4ce0219e7b2dadfc3c619a499350ae9dca653b75d57c6440a6be245f50a37391103d9ba93149ce3cb47e01f3951c4328c4bd228d5f2c6b7f78e5ed6102c36e227283b283b67da4fd3b8be6e25c48202114da5c04e530ee67bf870c7773e1d8ffb3a36e7a5d34d1fc1f6486d882e7c38e735b5f02bed9e7569a4e0a2ecd9aa596536efc2cb3aa78193d166263303d803453413ad2d1fe9ed9a98a3fdbfe08351bb41a3d24d68bd420c5c537db32b5a32d6951d0a0c5dbcda2882e75e5b712745a4e7d32fc37ce032d029b3b129c1042fbd8383da4b51f19dd8996dc9260e2cfa34375ba8f6a7c6d6fe064923730d6213be3b4aed625c1ee0758f878adafa0fbf0fa0134cc43735cfb8f0162de9581d94b7f73c2125e310a8c08d1f5f6ec9d99d68b450ea330cdab33e09c4824d3c8a1d54189f9d81e54a5786971b338c6d8b116ad188c1746212534a8070342979027b739e224a8d35c5dabd9ac6ea662b9a58954446f27103c2443c4ece9a0ac70f7ee5765046bed09762c27e22b7a3777ab82d65ba696806cdcd264bda47d77e2bd07cbdb9471188672b735973fbf85e9f6494a0c7fb397d53f20fafd656479b0761b07939c12b95733002fe0437f33e6a9b317cdaf8b3fe3e116e49ad89b3e9cdd92015a82f7d0f33ae9f977f086b4cb759d2d420f322a149d9f4688b18aaac8358e790f5f723acac90799e84b813bc02c9c7ddad2e0f15a0503d772097fc028210a5700ede92673d155af6de97210292770bfb31363691dad07c46c8cc24a3e0c11c6b4950dbb49a5f7eb72e65fcb861a8cd71cdad376125a43cb60b6c688bece9fb3550cb369311b55dc33d1e2350a93f9c8a5f8fa0cd8ddb2cc230e899ec086d518c2c3d06a92b36e7866a2ceb375eb2c7875ba34f949767226b4e4dbcbe46d1edd550db3c7a20f5989a407b3fa26ae7294a24748207189b7c202d259fd40882f68a35913b0c1d3320054804d92a4a7a4e6b86b1816c1b90258c375406875cabc6447a9a8ca917eccab2227ea33a17ac3ed02a3a8fca0af8ce1e4dade4b688c7dea2a0d89a819d6917f3ab7be2514e462d7eb2fc2052cdc625cc375406875cabc6447a9a8ca917eccab2227ea33a17ac3ed02a3a8fca0af8ce1fdf634bbd093494501a9aec0660aa53b434fdc2c2bb989e8d0925323e511358d3815bbaa8adf5400041954decc56e8889eb56eb20bfc30053e7799703af0fc95e1394d12a822620ae9182e45ce1499d37448775e2f669d8ba28e27bfe77c27fb9792d91be6b3e5195591a2e5bda1fd01cb19954df79fd844de4d429538c1c5d5d2317483f1077eaab2f6a33c1b31704cb072fbdad75b5bca67aac8f0a8dd175ee6a95d1ac948b5e2b389676545101de744f2715766e77f55160375a49a765b15582326355334ff9492a712458087a16b705c5855d44c30ed1ae45c0aeb0be7afb85131ef51f97355fdadfec6f993c8fb4c0cd5c3d2453e1eec76c48d1d4d87d04eea632af55288c8a05509b8754dbbf530746ca73cfa0f29b31fd515192858f7e1d8fbef7e3e5c93700cd15cacd44bed66aaea51b72e70da3eb50655e7018f2030a5ebfa9e972f186a90cb0d68c27da16e31347cb245df6b85f7ca1232adc6387a66d04774bf136fc1e655e0746eee54237e33ce21802d7e286c87b6e130717250c99f12c73517c9314d04fb7807e7fdc57e75436306d3b38036fb17bc0c41ca7dac7c2f13c9a8f31f6f8228e71ea0ae6f470f3099a2ba8cebc4a1fbc876385ad49433c5ac6f01c29013957898b7fd9d899832d2c7d09cc137ff52a4270aff8756800213c1d96ac93e091ac0bdf084caf259fac616fcea62b49c5f5ecff24b8f9c761f4b9a471db13c7b4cf571cfd380eb9d6a6a1bf7a3177885db6fd8d003fba2aa5c3b12a72996fcedd945dd7d1955f2e5ef76bde6f5277238d2b2d6506390a97ca46dc0d82c3f04b17efdb26244f9f779ef1cabcdd5875b17fa51dc24640e30879876f51d507e1cce28de3aa6c63966d101f92df42e6e0be18fec9dd7592f7716301e210f42b764ec78f4adffb05075f1d5103446a40b8a38043f5a7abd8830abafd25cdd7a04ed6fa99a7c6cd5315612a6a6888fd8ff7d4596885f43f3b4019ee1ead8720a4880980c4f632fe4c18286141c3a08faaced4160246349159fc586895ab8940ddc232e93fd1d882d04f58bc0d04d56c5a53fa09285cfb3b56b6cb6c405e5bbbf0ee57e83692e7d6a3191d2c5b48aa110c2e662e6bc42115c8ba13a0ec293b4591e1bbf212f005c952923055a24ab5174da0b69438f4d07213fc54035b2bee1ecd22d5d0afbd7c3765a6feaa4177e7bb08a60fe0073c53b06f28812dac4db4b1fe949ad574a7f59dfe8a806b4342a3dd26d0adc92a4dea634cf995f2ad1491b749c73904991b8812a7b392051375380b516df1e263a16f426f5447eded8497747dda2be986be1b8f8b8cb6ea36a738cd86d2d066085e60fdc74996c6be40c7402953013eff32741d3eb4f6345fd0d1b16a1bbf19d80cf31c5ca32f3bbae594a7bab8365c64f5be456b09ddb100090df865ab586b9fa0d923cfd1944a3a0550b43da55d18afc3955576d3f248a9483c2172c1847b420d48eaf891ef93b9dc3d0641bbd442378602428314535692187774443ad621ef3d752404a1acb9b8e190fa60f2bfd81a680641cf065135b455fdccfabe8fefbb3d271110568fd0f9dee52b16af92058ebbc3e0ebd1b5fbadb97f95ca79e12d232280348dae34d9003a1de2860ed6abcb921ec9287568e723aecb5be646db1d7485795b218524b4af2e4ccbd7d6071a672a1993a755a2cd79a46414d970f5ed48545ae67f57c0819bb4b318dafbc448d3dd49c86276dd04521330f56c7f2b6108d4720bf3a4928b5d1d2b0e15d13b57635b7f664ef039b1af917e773a5f86ed46e53994310b5c5dcc4daa4fd28c8eb94181dcd60854c0c33a5dc24636addbacb1b48080afd4475fd94762c2af67d19bedb484ba16c0425cafcbdc472e2b4be512f3541b6e89985de87faf374cc69ffa3614a890261f3b3e8011490fea44fa39f0b2fb4dd84c3ff63f4941907ebb7997ce09aaa219e898fc257b241c1b0e0ef424fafa3a37739acf62cd504a40ad5849e223b51e2b54c3bdefb55155e621c830f3ac386149558234ed7920c6934f05a9a5975ece6a5348de0b16cf97b6a4e54e810bf0d51086d4351e47b0889285fd31cfa76fe375f2d04a906de95ca032fcbeed3428b1f65943af178c8420baf054600a8e1832dbc3426817f717596e5502b141e438ca2cea3917d33b1dce8254f04bef0907189428b0182364e4815b737d60b98249d198ac0eb5cc60c4bc108e0ad3f89992f09a05b42b7920e28223a6edcccff6cee1d4c6311bafb0626f9d174ff1071f537e1a240d23c24c42a74f8d04230a9bfbedbb56f842189d0530a22bd146824cf266e9c4fda56b9ba5186238c0bf539537f3a56db4e41cfe88f747f8da7bcee943ab1e96cc33fc7d6a4b64cc2ac9902a0b3429568ca782bd29c03d67a91c69439d04238390829f9f27520fd1fa2f0f208049e592b102c842cd923bbf9b2424a314558391b9afc73bd5bf7a0ce51cd27b90873269963b0d9edfb8cef2eaa5ea57ac40216cfca4fadf8c8cbb84c2e4b961aeea09b69dd002fd057894a61545c8d1144f1baa1d9607870269208fcebd10d7a5de44afbdc6dffbce4d3bddd5a872b8396b0a31eaded2cdd394f8728dec515d2620f7ab905eb379b8a9a4d3d744b74846f407829bb60de3a42e89945f56b7840227ecaffcc127f978e2ceca9941f6c6ed1f10982950db45f7a18253614b7b3707093d5c46816f21e39a76697c4caccc8534cdbbdba930896786cdb7762d29867f38a5c53051cabd9cd9e98d49dea201a11475a11e6cc436b32a54e7d46bebdce88cdc3a66a783addb0f9cdb45f9e87deb0e51c2aca6bf81e46d4e822136993ba81505d5ce8fbd8a664831adb58c1c82280fd3568d14fab38868142a765d1eb1e05d3a3be13ba7293fb7a39157b58e304de89d81c46c0332b97bbc4152273515b61ee864ca0ff93c79c32592106e3c44a7a6dedd41f6d55d88809aaa3b28fd675b0aa827693311b8e90eebf81d8468cb5a312725491002c5c6061c49a5488435069c7a369b6069012fef0a518e379222007f6ea7622cb1c235a35b1355bb5641ab16d26730400aff4d8033ea29e472fe29f63aa9d78068dc3a2f719385dc2a612ccf884111f911a8095798fda2a7c708e20a931d2c228e637ff82de3ff44794d2d0ae92ebf6b56361527f081803c4067263ea97f44637ce2cc329168fb17e4e193fc40d447f1c34c1851298028e561e8aaefde8c9c3ebcc2f965ff81f9a603f2d9e4fc5013b8e96cde431fcacb828c6ea5de97d02f659ac02f42bb2310b7ad173897ff55e29848cb6ddbfe90bea82fd2c26e507de666833a1ff45dfd545a4bf5bb6254d118d93863940b076a247af19a993950ea1b736e2281209ea23f71c7b3df75bb9a84b7bf1b5ea18d92145a2fc6c696d04029a994db1e2bdb440e3be7852d8b19de13394d72001d383a5c8465dc3f7aabd9420f7c3485d61b3b36090a7b0d4c8f6e5eee400c8bcc4fe2c8d3aef6ff70f6cb25edaf71f696e41ffb867f6852a47dea2d73236e18c85b1ca5517ae5bfa14425d99bb265a3addff5adb029c411311a4e232a891a4920a76b8e23fbfe9098ff59248408caaa629feaeaf7272c0df525c3e0cc0c3c351a9b3014dcfe6092d322de341ad2cdf3d51721261455450dae243025d24066edbbaf1ab8db013631ee3b286aa2f454a82ea451901961ca24ee0b4f6d8c3c29308b9ee2ab0b46096d34cfd58f5e38743c40766a737a4e55ad2537a2a699d3250e43c5915458a5561dfab19f5fccb4aa753f68632b1d2e61f58809dc52592a738c9b7d65aa0c675fe4385428b27681098c5d09baacaffc2bc98893c4490a1238f5fb4586500eb1ad4530d0250bb887201bcf1fa83593b6491ece11ac0f2207bef35b1a3d432f6443a5ea6ceea97aaa5f7d7c2b938853fcece4347d87a4740259a391fe9c9369f2b8793485e857f8bac4abd5af9e21eb2cac4b9294f2998c85f3188e1ec4c67a6fdb78c4039cab890781b286f28b961d5e20f04e5d23a3fb16cb0bf7d8469dc8e341eb8ccac992503c902478c835418c3220571ab08ca14b5459f04a3ca66bbe754a9fb54e04c684d4910336778d9b61df07aa9e6f04039aed6448238022d759dec54bcb74cff43ef7cd0fc28edad25074c986013fb55340f68a3e9934fac3db30ec89a559120e576eca3359b392e3bb8390f2e2723665fa2d416ff2b0250ae36e8ed7a810e29ee39620002d195ce6b5d419673525002ece99d1f29ab0c750cdcb91ffda0e93f2fef4a74d3dbe1270e9bb7b435b6fc03a1bff59a9386d84aa6a5e7c9e6d8445da5e78465e99fb91b4f872932cc2efeab7fbdd1e26e4c4ea96959d57330697df6185ebc579227f3148abb08b3f543c90d7c6166bbb67377ecfb8c5d309dd21080f878270f66f209ba44e2a943688e3f794c057e6fdb4eb3e88658df9e71c6ff42472352ca4a5ad444a5105f03facfa8de716d88316bcd0eafde7ed7570ee787eb827d599ea54587c8ba8dd4dcf3428bed48e1e4ffc50f1c278b932fa2df3940621e99fbb457aa8ae5c7dee9373b068ed90f2dae8c07e66756f7e565bbb5c4d2de102432d1f8db74cfa50f60e75939db8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsnapd-2.66.1-0.el8.src.rpmbundled(golang(github.com/bmatcuk/doublestar/v4))bundled(golang(github.com/coreos/go-systemd/activation))bundled(golang(github.com/godbus/dbus))bundled(golang(github.com/godbus/dbus/introspect))bundled(golang(github.com/gorilla/mux))bundled(golang(github.com/jessevdk/go-flags))bundled(golang(github.com/juju/ratelimit))bundled(golang(github.com/kr/pretty))bundled(golang(github.com/kr/text))bundled(golang(github.com/mvo5/goconfigparser))bundled(golang(github.com/seccomp/libseccomp-golang))bundled(golang(github.com/snapcore/go-gettext))bundled(golang(go.etcd.io/bbolt))bundled(golang(golang.org/x/crypto/openpgp/armor))bundled(golang(golang.org/x/crypto/openpgp/packet))bundled(golang(golang.org/x/crypto/sha3))bundled(golang(golang.org/x/crypto/ssh/terminal))bundled(golang(golang.org/x/xerrors))bundled(golang(golang.org/x/xerrors/internal))bundled(golang(gopkg.in/check.v1))bundled(golang(gopkg.in/macaroon.v1))bundled(golang(gopkg.in/mgo.v2/bson))bundled(golang(gopkg.in/retry.v1))bundled(golang(gopkg.in/tomb.v2))bundled(golang(gopkg.in/yaml.v2))bundled(golang(gopkg.in/yaml.v3))golang(github.com/snapcore/snapd/advisor)golang(github.com/snapcore/snapd/arch)golang(github.com/snapcore/snapd/asserts)golang(github.com/snapcore/snapd/asserts/assertstest)golang(github.com/snapcore/snapd/asserts/internal)golang(github.com/snapcore/snapd/asserts/signtool)golang(github.com/snapcore/snapd/asserts/snapasserts)golang(github.com/snapcore/snapd/asserts/sysdb)golang(github.com/snapcore/snapd/asserts/systestkeys)golang(github.com/snapcore/snapd/boot)golang(github.com/snapcore/snapd/boot/boottest)golang(github.com/snapcore/snapd/bootloader)golang(github.com/snapcore/snapd/bootloader/androidbootenv)golang(github.com/snapcore/snapd/bootloader/assets)golang(github.com/snapcore/snapd/bootloader/assets/genasset)golang(github.com/snapcore/snapd/bootloader/bootloadertest)golang(github.com/snapcore/snapd/bootloader/efi)golang(github.com/snapcore/snapd/bootloader/grubenv)golang(github.com/snapcore/snapd/bootloader/lkenv)golang(github.com/snapcore/snapd/bootloader/ubootenv)golang(github.com/snapcore/snapd/client)golang(github.com/snapcore/snapd/client/clientutil)golang(github.com/snapcore/snapd/cmd/snap)golang(github.com/snapcore/snapd/cmd/snap-bootstrap)golang(github.com/snapcore/snapd/cmd/snap-bootstrap/triggerwatch)golang(github.com/snapcore/snapd/cmd/snap-exec)golang(github.com/snapcore/snapd/cmd/snap-failure)golang(github.com/snapcore/snapd/cmd/snap-preseed)golang(github.com/snapcore/snapd/cmd/snap-recovery-chooser)golang(github.com/snapcore/snapd/cmd/snap-repair)golang(github.com/snapcore/snapd/cmd/snap-seccomp)golang(github.com/snapcore/snapd/cmd/snap-seccomp/syscalls)golang(github.com/snapcore/snapd/cmd/snap-update-ns)golang(github.com/snapcore/snapd/cmd/snapctl)golang(github.com/snapcore/snapd/cmd/snapd)golang(github.com/snapcore/snapd/cmd/snaplock)golang(github.com/snapcore/snapd/cmd/snaplock/runinhibit)golang(github.com/snapcore/snapd/daemon)golang(github.com/snapcore/snapd/dbusutil)golang(github.com/snapcore/snapd/dbusutil/dbustest)golang(github.com/snapcore/snapd/desktop/notification)golang(github.com/snapcore/snapd/desktop/notification/notificationtest)golang(github.com/snapcore/snapd/dirs)golang(github.com/snapcore/snapd/docs)golang(github.com/snapcore/snapd/features)golang(github.com/snapcore/snapd/gadget)golang(github.com/snapcore/snapd/gadget/edition)golang(github.com/snapcore/snapd/gadget/install)golang(github.com/snapcore/snapd/gadget/internal)golang(github.com/snapcore/snapd/gadget/quantity)golang(github.com/snapcore/snapd/httputil)golang(github.com/snapcore/snapd/i18n)golang(github.com/snapcore/snapd/i18n/xgettext-go)golang(github.com/snapcore/snapd/image)golang(github.com/snapcore/snapd/interfaces)golang(github.com/snapcore/snapd/interfaces/apparmor)golang(github.com/snapcore/snapd/interfaces/backends)golang(github.com/snapcore/snapd/interfaces/builtin)golang(github.com/snapcore/snapd/interfaces/dbus)golang(github.com/snapcore/snapd/interfaces/hotplug)golang(github.com/snapcore/snapd/interfaces/ifacetest)golang(github.com/snapcore/snapd/interfaces/kmod)golang(github.com/snapcore/snapd/interfaces/mount)golang(github.com/snapcore/snapd/interfaces/policy)golang(github.com/snapcore/snapd/interfaces/seccomp)golang(github.com/snapcore/snapd/interfaces/systemd)golang(github.com/snapcore/snapd/interfaces/udev)golang(github.com/snapcore/snapd/interfaces/utils)golang(github.com/snapcore/snapd/jsonutil)golang(github.com/snapcore/snapd/jsonutil/safejson)golang(github.com/snapcore/snapd/kernel)golang(github.com/snapcore/snapd/logger)golang(github.com/snapcore/snapd/metautil)golang(github.com/snapcore/snapd/netutil)golang(github.com/snapcore/snapd/osutil)golang(github.com/snapcore/snapd/osutil/disks)golang(github.com/snapcore/snapd/osutil/mount)golang(github.com/snapcore/snapd/osutil/squashfs)golang(github.com/snapcore/snapd/osutil/strace)golang(github.com/snapcore/snapd/osutil/sys)golang(github.com/snapcore/snapd/osutil/udev/crawler)golang(github.com/snapcore/snapd/osutil/udev/netlink)golang(github.com/snapcore/snapd/overlord)golang(github.com/snapcore/snapd/overlord/assertstate)golang(github.com/snapcore/snapd/overlord/assertstate/assertstatetest)golang(github.com/snapcore/snapd/overlord/auth)golang(github.com/snapcore/snapd/overlord/cmdstate)golang(github.com/snapcore/snapd/overlord/configstate)golang(github.com/snapcore/snapd/overlord/configstate/config)golang(github.com/snapcore/snapd/overlord/configstate/configcore)golang(github.com/snapcore/snapd/overlord/configstate/proxyconf)golang(github.com/snapcore/snapd/overlord/configstate/settings)golang(github.com/snapcore/snapd/overlord/devicestate)golang(github.com/snapcore/snapd/overlord/devicestate/devicestatetest)golang(github.com/snapcore/snapd/overlord/devicestate/fde)golang(github.com/snapcore/snapd/overlord/devicestate/internal)golang(github.com/snapcore/snapd/overlord/healthstate)golang(github.com/snapcore/snapd/overlord/hookstate)golang(github.com/snapcore/snapd/overlord/hookstate/ctlcmd)golang(github.com/snapcore/snapd/overlord/hookstate/hooktest)golang(github.com/snapcore/snapd/overlord/ifacestate)golang(github.com/snapcore/snapd/overlord/ifacestate/ifacerepo)golang(github.com/snapcore/snapd/overlord/ifacestate/udevmonitor)golang(github.com/snapcore/snapd/overlord/patch)golang(github.com/snapcore/snapd/overlord/servicestate)golang(github.com/snapcore/snapd/overlord/snapshotstate)golang(github.com/snapcore/snapd/overlord/snapshotstate/backend)golang(github.com/snapcore/snapd/overlord/snapstate)golang(github.com/snapcore/snapd/overlord/snapstate/backend)golang(github.com/snapcore/snapd/overlord/snapstate/policy)golang(github.com/snapcore/snapd/overlord/snapstate/snapstatetest)golang(github.com/snapcore/snapd/overlord/standby)golang(github.com/snapcore/snapd/overlord/state)golang(github.com/snapcore/snapd/overlord/storecontext)golang(github.com/snapcore/snapd/polkit)golang(github.com/snapcore/snapd/progress)golang(github.com/snapcore/snapd/progress/progresstest)golang(github.com/snapcore/snapd/randutil)golang(github.com/snapcore/snapd/release)golang(github.com/snapcore/snapd/sandbox)golang(github.com/snapcore/snapd/sandbox/apparmor)golang(github.com/snapcore/snapd/sandbox/cgroup)golang(github.com/snapcore/snapd/sandbox/seccomp)golang(github.com/snapcore/snapd/sandbox/selinux)golang(github.com/snapcore/snapd/sanity)golang(github.com/snapcore/snapd/secboot)golang(github.com/snapcore/snapd/seed)golang(github.com/snapcore/snapd/seed/internal)golang(github.com/snapcore/snapd/seed/seedtest)golang(github.com/snapcore/snapd/seed/seedwriter)golang(github.com/snapcore/snapd/snap)golang(github.com/snapcore/snapd/snap/channel)golang(github.com/snapcore/snapd/snap/internal)golang(github.com/snapcore/snapd/snap/naming)golang(github.com/snapcore/snapd/snap/pack)golang(github.com/snapcore/snapd/snap/snapdir)golang(github.com/snapcore/snapd/snap/snapenv)golang(github.com/snapcore/snapd/snap/snapfile)golang(github.com/snapcore/snapd/snap/snaptest)golang(github.com/snapcore/snapd/snap/squashfs)golang(github.com/snapcore/snapd/snapdenv)golang(github.com/snapcore/snapd/snapdtool)golang(github.com/snapcore/snapd/spdx)golang(github.com/snapcore/snapd/store)golang(github.com/snapcore/snapd/store/storetest)golang(github.com/snapcore/snapd/strutil)golang(github.com/snapcore/snapd/strutil/chrorder)golang(github.com/snapcore/snapd/strutil/quantity)golang(github.com/snapcore/snapd/strutil/shlex)golang(github.com/snapcore/snapd/sysconfig)golang(github.com/snapcore/snapd/systemd)golang(github.com/snapcore/snapd/testutil)golang(github.com/snapcore/snapd/timeout)golang(github.com/snapcore/snapd/timeutil)golang(github.com/snapcore/snapd/timings)golang(github.com/snapcore/snapd/usersession/agent)golang(github.com/snapcore/snapd/usersession/autostart)golang(github.com/snapcore/snapd/usersession/client)golang(github.com/snapcore/snapd/usersession/userd)golang(github.com/snapcore/snapd/usersession/userd/ui)golang(github.com/snapcore/snapd/usersession/xdgopenproxy)golang(github.com/snapcore/snapd/wrappers)golang(github.com/snapcore/snapd/x11)snapd-devel    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3g=@g@g @ffff@fyf@ffff(@e!@eZeN@eȶe@ee@e`@e)1@eG@dd@dd d@dqd^*@dRLd>@d"d c@c@ccvcc]c@cEcs@cMCc5c#c@bbz@bb֜bγbʿ@bmbb@bbb1@b{@bm$bY^@bT@bP#bMb8hb8hb8hb+9b b8b aaɪap@a{a@a@a@aaaKa(@a(@aqV@a\>@a\>@aTU@a2@a/k@a(aGaS@aa`@`@``@`Ȗ@`````@`]`F`>(`+`%@`#`>`U_I@_إ@_@_^@_E@_~@_s!_R,@_D@_)M_%Y@_!d_ @___X@^(@^3^^^_^^v^p^E:@^C^2@^0"@^@^]B]߶]e@]@]*]µ]{@])]4@]?]nU]i]:@](v@] ]@\\\]@\t@\!\-@\@\C@\|\|\w@\w@\v{\k\j@\Z@\Z@\V\P@@\?\@\@[[H[H[@[v[@[^[ā@[R@[R@[["@[D[z@[[ @[P}@[M@[I[?Y[,[+@[oZ@ZZZZԐ@ZJ@ZZZZZx@ZZ=Zw@Z1@ZZ Z}@ZyZiZ7Z6\@Zr@Zr@Z@ZC@YZ@YZ@Y@Y@Y@YYY@YYYܶ@Y@Y˒YY)@Y4Y@@YYYY3Y3Y3YYYJYJY@YyY&@Y!@Y;@Y#@X@X@Xߖ@XDX@XۡXƉXX`@XWu@W:W@W@W@W@W@W@W@W@W@W@Wm Wc@W_WZZygmunt Krynicki Zygmunt Krynicki Ernest Lotter Ernest Lotter Ernest Lotter Ernest Lotter Ernest Lotter Ernest Lotter Miroslav Suchý - 2.63-3Miroslav Suchý - 2.63-2Ernest Lotter Fedora Release Engineering - 2.63-1Ernest Lotter Ernest Lotter Ernest Lotter Ernest Lotter Maxwell G - 2.61.1-2Fedora Release Engineering - 2.61.1-1Zygmunt Krynicki - 2.61.1-1Zygmunt Krynicki - 2.58.3-3Ernest Lotter Philip Meulengracht Michael Vogt Michael Vogt Michael Vogt Fedora Release Engineering - 2.58.3-2Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Maciek Borzecki - 2.58.3-1Michael Vogt Michael Vogt Michael Vogt Fedora Release Engineering - 2.57.6-3Maciek Borzecki - 2.57.6-2Michael Vogt Maciek Borzecki - 2.57.6-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Alberto Mardegan Michael Vogt Fedora Release Engineering - 2.56.2-5Maxwell G - 2.56.2-4Michael Vogt Maxwell G - 2.56.2-2Maxwell G - 2.56.2-2Maciek Borzecki - 2.56.2-1Robert-André Mauchin - 2.55.3-2Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt David King - 2.55.3-2Maciek Borzecki - 2.55.3-1Michael Vogt Maciek Borzecki - 2.55.2-1Ian Johnson Ian Johnson Ian Johnson Maciek Borzecki - 2.54.4-1Michael Vogt Maciek Borzecki - 2.54.3-1Michael Vogt Ian Johnson Maciek Borzecki - 2.54.1-1Michael Vogt Michael Vogt Maciek Borzecki - 2.53.4-1Ian Johnson Ian Johnson Maciek Borzecki - 2.53.2-2Maciek Borzecki - 2.53.2-1Ian Johnson Maciek Borzecki - 2.53.1-2Maciek Borzecki - 2.53.1-1Ian Johnson Michael Vogt Michael Vogt Maciek Borzecki - 2.52-1Ian Johnson Maciek Borzecki - 2.51.7-1Ian Johnson Ian Johnson Ian Johnson Ian Johnson Maciek Borzecki - 2.51-4Maciek Borzecki - 2.51-3Fedora Release Engineering - 2.51-2Ian Johnson Michael Vogt Michael Vogt Maciek Borzecki - 2.51-1Ian Johnson Ian Johnson Maciek Borzecki - 2.50-1Michael Vogt Michael Vogt Michael Vogt Zbigniew Jędrzejewski-Szmek - 2.49-3Maciek Borzecki - 2.49-2Maciek Borzecki - 2.49-1Michael Vogt Maciek Borzecki - 2.48.2-3Fedora Release Engineering - 2.48.2-2Maciek Borzecki - 2.48.2-1Michael Vogt Michael Vogt Michael Vogt Maciek Borzecki - 2.47.1-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Maciek Borzecki - 2.45.3.1-1Fedora Release Engineering - 2.45.2-3Fedora Release Engineering - 2.45.2-2Samuele Pedroni Zygmunt Krynicki Maciek Borzecki - 2.45.2-1Michael Vogt Maciek Borzecki - 2.45.1-1Michael Vogt Maciek Borzecki - 2.45-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Maciek Borzecki - 2.43.3-1Michael Vogt Fedora Release Engineering - 2.42.2-2Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Maciek Borzecki - 2.42.2-1Michael Vogt Maciek Borzecki - 2.42.1-1Michael Vogt Maciek Borzecki - 2.42-2Maciek Borzecki - 2.42-1Michael Vogt Neal Gompa - 2.41-1Michael Vogt Fedora Release Engineering - 2.39.2-2Michael Vogt Michael Vogt Neal Gompa - 2.39.2-1Maciej Borzecki - 2.39.1-2Michael Vogt Neal Gompa - 2.39.1-1Michael Vogt Neal Gompa - 2.39-1Michael Vogt Robert-André Mauchin - 2.38-3Neal Gompa - 2.38-2Neal Gompa - 2.38-1Michael Vogt Neal Gompa - 2.37.4-2Zygmunt Bazyli Krynicki - 2.37.4-1Michael Vogt Zygmunt Bazyli Krynicki - 2.37.3-1Michael Vogt Neal Gompa - 2.37.2-1Michael Vogt Fedora Release Engineering - 2.36.3-2Michael Vogt Michael Vogt Neal Gompa - 2.36.3-1Michael Vogt Michael Vogt Neal Gompa - 2.36-4Neal Gompa - 2.36-3Neal Gompa - 2.36-2Michael Vogt Neal Gompa - 2.36-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.35-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Fedora Release Engineering - 2.33.1-2Michael Vogt Neal Gompa - 2.33.1-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.32.4-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.31.1-2Neal Gompa - 2.31.1-1Michael Vogt Fedora Release Engineering - 2.30-2Michael Vogt Neal Gompa - 2.30-1Michael Vogt Neal Gompa - 2.29.4-3Neal Gompa - 2.29.4-2Neal Gompa - 2.29.4-1Michael Vogt Michael Vogt Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.28.5-2Neal Gompa - 2.28.5-1Michael Vogt Neal Gompa - 2.28.4-1Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.28.1-1Michael Vogt Michael Vogt Neal Gompa - 2.27.6-1Michael Vogt Neal Gompa - 2.27.5-1Michael Vogt Michael Vogt Michael Vogt Neal Gompa - 2.27.2-2Neal Gompa - 2.27.2-1Michael Vogt Neal Gompa - 2.27.1-1Michael Vogt Neal Gompa - 2.27-1Michael Vogt Fedora Release Engineering - 2.26.3-5Fedora Release Engineering - 2.26.3-4Neal Gompa - 2.26.3-3Neal Gompa - 2.26.3-2Neal Gompa - 2.26.3-1Neal Gompa - 2.25-1Neal Gompa - 2.24-1Neal Gompa - 2.23.6-4Neal Gompa - 2.23.6-3Neal Gompa - 2.23.6-2Neal Gompa - 2.23.6-1Neal Gompa - 2.23.5-1Neal Gompa - 2.23.1-1Fedora Release Engineering - 2.16-2Zygmunt Krynicki - 2.16-1Neal Gompa - 2.14-2Zygmunt Krynicki - 2.14-1Zygmunt Krynicki - 2.13-1Zygmunt Krynicki - 2.12-2Zygmunt Krynicki - 2.12-1Zygmunt Krynicki - 2.11-8Zygmunt Krynicki - 2.11-7Zygmunt Krynicki - 2.11-6Zygmunt Krynicki - 2.11-5Zygmunt Krynicki - 2.11-4Zygmunt Krynicki - 2.11-3Zygmunt Krynicki - 2.11-2Zygmunt Krynicki - 2.11-1Zygmunt Krynicki - 2.0.9-2Zygmunt Krynicki - 2.0.9Zygmunt Krynicki - 2.0.8.1Zygmunt Krynicki - 2.0.8- Drop only patch, applied upstream.- Cherry pick fix for SELinux timedatex problem from upstream- New upstream release 2.66.1 - AppArmor prompting (experimental): Fix kernel prompting support check - Allow kernel snaps to have content slots - Fix ignoring snaps in try mode when amending- New upstream release 2.66 - AppArmor prompting (experimental): expand kernel support checks - AppArmor prompting (experimental): consolidate error messages and add error kinds - AppArmor prompting (experimental): grant /v2/snaps/{name} via snap-interfaces-requests-control - AppArmor prompting (experimental): add checks for duplicate pattern variants - Registry views (experimental): add handlers that commit (and cleanup) registry transactions - Registry views (experimental): add a snapctl fail command for rejecting registry transactions - Registry views (experimental): allow custodian snaps to implement registry hooks that modify and save registry data - Registry views (experimental): run view-changed hooks only for snaps plugging views affected by modified paths - Registry views (experimental): make registry transactions serialisable - Snap components: handle refreshing components to revisions that have been on the system before - Snap components: enable creating Ubuntu Core images that contain components - Snap components: handle refreshing components independently of snaps - Snap components: handle removing components when refreshing a snap that no longer defines them - Snap components: extend snapd Ubuntu Core installation API to allow for picking optional snaps and components to install - Snap components: extend kernel.yaml with "dynamic-modules", allowing kernel to define a location for kmods from component hooks - Snap components: renamed component type "test" to "standard" - Desktop IDs: support installing desktop files with custom names based on desktop-file-ids desktop interface plug attr - Auto-install snapd on classic systems as prerequisite for any non- essential snap install - Support loading AppArmor profiles on WSL2 with non-default kernel and securityfs mounted - Debian/Fedora packaging updates - Add snap debug command for investigating execution aspects of the snap toolchain - Improve snap pack error for easier parsing - Add support for user services when refreshing snaps - Add snap remove --terminate flag for terminating running snap processes - Support building FIPS complaint snapd deb and snap - Fix to not use nss when looking up for users/groups from snapd snap - Fix ordering in which layout changes are saved - Patch snapd snap dynamic linker to ignore LD_LIBRARY_PATH and related variables - Fix libexec dir for openSUSE Slowroll - Fix handling of the shared snap directory for parallel installs - Allow writing to /run/systemd/journal/dev-log by default - Avoid state lock during snap removal to avoid delaying other snapd operations - Add nomad-support interface to enable running Hashicorp Nomad - Add intel-qat interface - u2f-devices interface: add u2f trustkey t120 product id and fx series fido u2f devices - desktop interface: improve integration with xdg-desktop-portal - desktop interface: add desktop-file-ids plug attr to desktop interface - unity7 interface: support desktop-file-ids in desktop files rule generation - desktop-legacy interface: support desktop-file-ids in desktop files rule generation - desktop-legacy interface: grant access to gcin socket location - login-session-observe interface: allow introspection - custom-device interface: allow to explicitly identify matching device in udev tagging block - system-packages-doc interface: allow reading /usr/share/javascript - modem-manager interface: add new format of WWAN ports - pcscd interface: allow pcscd to read opensc.conf - cpu-control interface: add IRQ affinity control to cpu_control - opengl interface: add support for cuda workloads on Tegra iGPU in opengl interface- New upstream release 2.65.3 - Fix missing aux info from store on snap setup- New upstream release 2.65.2 - Bump squashfuse from version 0.5.0 to 0.5.2 (used in snapd deb only)- New upstream release 2.65.1 - Support building snapd using base Core22 (Snapcraft 8.x) - FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled - AppArmor: update to latest 4.0.2 release - AppArmor: enable using ABI 4.0 from host parser - AppArmor: fix parser lookup - AppArmor: support AppArmor snippet priorities - AppArmor: allow reading cgroup memory.max file - AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode - AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes - AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled - AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions - AppArmor prompting (experimental): add path pattern parsing and matching - AppArmor prompting (experimental): add path pattern precedence based on specificity - AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules - AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface - AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started - Registry views (experimental): rename from aspects to registries - Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl - Registry views (experimental): fetch and refresh registry assertions as needed - Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns - Snap components: support installing snaps and components from files at the same time (no REST API/CLI) - Snap components: support downloading components related assertions from the store - Snap components: support installing components from the store - Snap components: support removing components individually and during snap removal - Snap components: support kernel modules as components - Snap components: support for component install, pre-refresh and post-refresh hooks - Snap components: initial support for building systems that contain components - Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps - Refresh app awareness (experimental): use the app name from .desktop file in notifications - Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint - Improve snap-confine compatibility with nvidia drivers - Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing - Allow mixing revision and channel on snap install - Generate GNU build ID for Go binaries - Add missing etelpmoc.sh for shell completion - Do not attempt to run snapd on classic when re-exec is disabled - Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse - Add snap debug API command to enable running raw queries - Enable snap-confine snap mount directory detection - Replace global seccomp filter with deny rules in standard seccomp template - Remove support for Ubuntu Core Launcher (superseded by snap- confine) - Support creating pending serial bound users after serial assertion becomes available - Support disabling cloud-init using kernel command-line - In hybrid systems, apps can refresh without waiting for restarts required by essential snaps - Ship snap-debug-info.sh script used for system diagnostics - Improve error messages when attempting to run non-existent snap - Switch to -u UID:GID for strace-static - Support enabling snapd logging with snap set system debug.snapd.{log,log-level} - Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core - Provide documentation URL for 'snap interface ' - Fix snapd riscv64 build - Fix restarting activated services instead of their activator units (i.e. sockets, timers) - Fix potential unexpected auto-refresh of snap on managed schedule - Fix potential segfault by guarding against kernel command-line changes on classic system - Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable - Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store - Fix devmode seccomp deny regression that caused spamming the log instead of actual denies - Fix snap lock leak during refresh - Fix not re-pinning validation sets that were already pinned when enforcing new validation sets - Fix handling of unexpected snapd runtime failure - Fix /v2/notices REST API skipping notices with duplicate timestamps - Fix comparing systemd versions that may contain pre-release suffixes - Fix udev potentially starting before snap-device-helper is made available - Fix race in snap seed metadata loading - Fix treating cloud-init exit status 2 as error - Fix to prevent sending refresh complete notification if snap snap- refresh-observe interface is connected - Fix to queue snapctl service commands if run from the default- configure hook to ensure they get up-to-date config values - Fix stop service failure when the service is not actually running anymore - Fix parsing /proc/PID/mounts with spaces - Add registry interface that provides snaps access to a particular registry view - Add snap-interfaces-requests-control interface to enable prompting client snaps - steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience - opengl interface: improve compatibility with nvidia drivers - home interface: autoconnect home on Ubuntu Core Desktop - serial-port interface: support RPMsg tty - display-control interface: allow changing LVDS backlight power and brightness - power-control interface: support for battery charging thesholds, type/status and AC type/status - cpu-control interface: allow CPU C-state control - raw-usb interface: support RPi5 and Thinkpad x13s - custom-device interface: allow device file locking - lxd-support interface: allow LXD to self-manage its own cgroup - network-manager interface: support MPTCP sockets - network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus - network-control interface: allow wpa_supplicant dbus api - gpio-control interface: support gpiochip* devices - polkit interface: fix "rw" mount option check - u2f-devices interface: enable additional security keys - desktop interface: enable kde theming support- New upstream release 2.65 - Support building snapd using base Core22 (Snapcraft 8.x) - FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled - AppArmor: update to latest 4.0.2 release - AppArmor: enable using ABI 4.0 from host parser - AppArmor: fix parser lookup - AppArmor: support AppArmor snippet priorities - AppArmor: allow reading cgroup memory.max file - AppArmor: allow using snap-exec coming from the snapd snap when starting a confined process with jailmode - AppArmor prompting (experimental): add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes - AppArmor prompting (experimental): include prompt prefix in AppArmor rules if prompting is supported and enabled - AppArmor prompting (experimental): add common types, constraints, and mappings from AppArmor permissions to abstract permissions - AppArmor prompting (experimental): add path pattern parsing and matching - AppArmor prompting (experimental): add path pattern precedence based on specificity - AppArmor prompting (experimental): add packages to manage outstanding request prompts and rules - AppArmor prompting (experimental): add prompting API and notice types, which require snap-interfaces-requests-control interface - AppArmor prompting (experimental): feature flag can only be enabled if prompting is supported, handler service connected, and the service can be started - Registry views (experimental): rename from aspects to registries - Registry views (experimental): support reading registry views and setting/unsetting registry data using snapctl - Registry views (experimental): fetch and refresh registry assertions as needed - Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns - Snap components: support installing snaps and components from files at the same time (no REST API/CLI) - Snap components: support downloading components related assertions from the store - Snap components: support installing components from the store - Snap components: support removing components individually and during snap removal - Snap components: support kernel modules as components - Snap components: support for component install, pre-refresh and post-refresh hooks - Snap components: initial support for building systems that contain components - Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps - Refresh app awareness (experimental): use the app name from .desktop file in notifications - Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint - Improve snap-confine compatibility with nvidia drivers - Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing - Allow mixing revision and channel on snap install - Generate GNU build ID for Go binaries - Add missing etelpmoc.sh for shell completion - Do not attempt to run snapd on classic when re-exec is disabled - Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse - Add snap debug API command to enable running raw queries - Enable snap-confine snap mount directory detection - Replace global seccomp filter with deny rules in standard seccomp template - Remove support for Ubuntu Core Launcher (superseded by snap- confine) - Support creating pending serial bound users after serial assertion becomes available - Support disabling cloud-init using kernel command-line - In hybrid systems, apps can refresh without waiting for restarts required by essential snaps - Ship snap-debug-info.sh script used for system diagnostics - Improve error messages when attempting to run non-existent snap - Switch to -u UID:GID for strace-static - Support enabling snapd logging with snap set system debug.snapd.{log,log-level} - Add options system.coredump.enable and system.coredump.maxuse to support using systemd-coredump on Ubuntu Core - Provide documentation URL for 'snap interface ' - Fix restarting activated services instead of their activator units (i.e. sockets, timers) - Fix potential unexpected auto-refresh of snap on managed schedule - Fix potential segfault by guarding against kernel command-line changes on classic system - Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable - Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store - Fix devmode seccomp deny regression that caused spamming the log instead of actual denies - Fix snap lock leak during refresh - Fix not re-pinning validation sets that were already pinned when enforcing new validation sets - Fix handling of unexpected snapd runtime failure - Fix /v2/notices REST API skipping notices with duplicate timestamps - Fix comparing systemd versions that may contain pre-release suffixes - Fix udev potentially starting before snap-device-helper is made available - Fix race in snap seed metadata loading - Fix treating cloud-init exit status 2 as error - Fix to prevent sending refresh complete notification if snap snap- refresh-observe interface is connected - Fix to queue snapctl service commands if run from the default- configure hook to ensure they get up-to-date config values - Fix stop service failure when the service is not actually running anymore - Fix parsing /proc/PID/mounts with spaces - Add registry interface that provides snaps access to a particular registry view - Add snap-interfaces-requests-control interface to enable prompting client snaps - steam-support interface: remove all AppArmor and seccomp restrictions to improve user experience - opengl interface: improve compatibility with nvidia drivers - home interface: autoconnect home on Ubuntu Core Desktop - serial-port interface: support RPMsg tty - display-control interface: allow changing LVDS backlight power and brightness - power-control interface: support for battery charging thesholds, type/status and AC type/status - cpu-control interface: allow CPU C-state control - raw-usb interface: support RPi5 and Thinkpad x13s - custom-device interface: allow device file locking - lxd-support interface: allow LXD to self-manage its own cgroup - network-manager interface: support MPTCP sockets - network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus - network-control interface: allow wpa_supplicant dbus api - gpio-control interface: support gpiochip* devices - polkit interface: fix "rw" mount option check - u2f-devices interface: enable additional security keys - desktop interface: enable kde theming support- convert license to SPDX- convert license to SPDX- New upstream release 2.64 - Support building snapd using base Core22 (Snapcraft 8.x) - FIPS: support building FIPS complaint snapd variant that switches to FIPS mode when the system boots with FIPS enabled - AppArmor: update to AppArmor 4.0.1 - AppArmor: support AppArmor snippet priorities - AppArmor prompting: add checks for prompting support, include prompting status in system key, and restart snapd if prompting flag changes - AppArmor prompting: include prompt prefix in AppArmor rules if prompting is supported and enabled - AppArmor prompting: add common types, constraints, and mappings from AppArmor permissions to abstract permissions - AppArmor prompting: add path pattern parsing and matching - Registry views (experimental): rename from aspects to registries - Registry views (experimental): support reading registry views using snapctl - Registry views (experimental): restrict view paths from using a number as first character and view names to storage path style patterns - Snap components: support installing snaps and components from files at the same time (no REST API/CLI) - Snap components: support downloading components related assertions from the store - Snap components: support installing components from the store (no REST API/CLI) - Snap components: support removing components (REST API, no CLI) - Snap components: started support for component hooks - Snap components: support kernel modules as components - Refresh app awareness (experimental): add data field for /v2/changes REST API to allow associating each task with affected snaps - Refresh app awareness (experimental): use the app name from .desktop file in notifications - Refresh app awareness (experimental): give snap-refresh-observe interface access to /v2/snaps/{name} endpoint - Allow re-exec when SNAP_REEXEC is set for unlisted distros to simplify testing - Generate GNU build ID for Go binaries - Add missing etelpmoc.sh for shell completion - Do not attempt to run snapd on classic when re-exec is disabled - Packaging/build maintenance for Debian sid, Fedora, Arch, openSuse - Add snap debug api command to enable running raw queries - Enable snap-confine snap mount directory detection - Replace global seccomp filter with deny rules in standard seccomp template - Remove support for Ubuntu Core Launcher (superseded by snap- confine) - Support creating pending serial bound users after serial assertion becomes available - Support disabling cloud-init using kernel command-line - In hybrid systems, apps can refresh without waiting for restarts required by essential snaps - Ship snap-debug-info.sh script used for system diagnostics - Improve error messages when attempting to run non-existent snap - Switch to -u UID:GID for strace-static - Support enabling snapd logging with snap set system debug.snapd.{log,log-level} - Fix restarting activated services instead of their activator units (i.e. sockets, timers) - Fix potential unexpected auto-refresh of snap on managed schedule - Fix potential segfault by guarding against kernel command-line changes on classic system - Fix proxy entries in /etc/environment with missing newline that caused later manual entries to not be usable - Fix offline remodelling by ignoring prerequisites that will otherwise be downloaded from store - Fix devmode seccomp deny regression that caused spamming the log instead of actual denies - Fix snap lock leak during refresh - Fix not re-pinning validation sets that were already pinned when enforcing new validation sets - Fix handling of unexpected snapd runtime failure - Fix /v2/notices REST API skipping notices with duplicate timestamps - Fix comparing systemd versions that may contain pre-release suffixes - Fix udev potentially starting before snap-device-helper is made available - Fix race in snap seed metadata loading - Fix treating cloud-init exit status 2 as error - Fix to prevent sending refresh complete notification if snap snap- refresh-observe interface is connected - Fix to queue snapctl service commands if run from the default- configure hook to ensure they get up-to-date config values - Fix stop service failure when the service is not actually running anymore - Add registry interface that provides snaps access to a particular registry view - steam-support interface: relaxed AppArmor and seccomp restrictions to improve user experience - home interface: autoconnect home on Ubuntu Core Desktop - serial-port interface: support RPMsg tty - display-control interface: allow changing LVDS backlight power and brightness - power-control interface: support for battery charging thesholds, type/status and AC type/status - cpu-control interface: allow CPU C-state control - raw-usb interface: support RPi5 and Thinkpad x13s - custom-device interface: allow device file locking - lxd-support interface: allow LXD to self-manage its own cgroup - network-manager interface: support MPTCP sockets - network-control interface: allow plug/slot access to gnutls config and systemd resolved cache flushing via D-Bus- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild- New upstream release 2.63 - Support for snap services to show the current status of user services (experimental) - Refresh app awareness: record snap-run-inhibit notice when starting app from snap that is busy with refresh (experimental) - Refresh app awareness: use warnings as fallback for desktop notifications (experimental) - Aspect based configuration: make request fields in the aspect- bundle's rules optional (experimental) - Aspect based configuration: make map keys conform to the same format as path sub-keys (experimental) - Aspect based configuration: make unset and set behaviour similar to configuration options (experimental) - Aspect based configuration: limit nesting level for setting value (experimental) - Components: use symlinks to point active snap component revisions - Components: add model assertion support for components - Components: fix to ensure local component installation always gets a new revision number - Add basic support for a CIFS remote filesystem-based home directory - Add support for AppArmor profile kill mode to avoid snap-confine error - Allow more than one interface to grant access to the same API endpoint or notice type - Allow all snapd service's control group processes to send systemd notifications to prevent warnings flooding the log - Enable not preseeded single boot install - Update secboot to handle new sbatlevel - Fix to not use cgroup for non-strict confined snaps (devmode, classic) - Fix two race conditions relating to freedesktop notifications - Fix missing tunables in snap-update-ns AppArmor template - Fix rejection of snapd snap udev command line by older host snap- device-helper - Rework seccomp allow/deny list - Clean up files removed by gadgets - Remove non-viable boot chains to avoid secboot failure - posix_mq interface: add support for missing time64 mqueue syscalls mq_timedreceive_time64 and mq_timedsend_time64 - password-manager-service interface: allow kwalletd version 6 - kubernetes-support interface: allow SOCK_SEQPACKET sockets - system-observe interface: allow listing systemd units and their properties - opengl interface: enable use of nvidia container toolkit CDI config generation- New upstream release 2.62 - Aspects based configuration schema support (experimental) - Refresh app awareness support for UI (experimental) - Support for user daemons by introducing new control switches --user/--system/--users for service start/stop/restart (experimental) - Add AppArmor prompting experimental flag (feature currently unsupported) - Installation of local snap components of type test - Packaging of components with snap pack - Expose experimental features supported/enabled in snapd REST API endpoint /v2/system-info - Support creating and removing recovery systems for use by factory reset - Enable API route for creating and removing recovery systems using /v2/systems with action create and /v2/systems/{label} with action remove - Lift requirements for fde-setup hook for single boot install - Enable single reboot gadget update for UC20+ - Allow core to be removed on classic systems - Support for remodeling on hybrid systems - Install desktop files on Ubuntu Core and update after snapd upgrade - Upgrade sandbox features to account for cgroup v2 device filtering - Support snaps to manage their own cgroups - Add support for AppArmor 4.0 unconfined profile mode - Add AppArmor based read access to /etc/default/keyboard - Upgrade to squashfuse 0.5.0 - Support useradd utility to enable removing Perl dependency for UC24+ - Support for recovery-chooser to use console-conf snap - Add support for --uid/--gid using strace-static - Add support for notices (from pebble) and expose via the snapd REST API endpoints /v2/notices and /v2/notice - Add polkit authentication for snapd REST API endpoints /v2/snaps/{snap}/conf and /v2/apps - Add refresh-inhibit field to snapd REST API endpoint /v2/snaps - Add refresh-inhibited select query to REST API endpoint /v2/snaps - Take into account validation sets during remodeling - Improve offline remodeling to use installed revisions of snaps to fulfill the remodel revision requirement - Add rpi configuration option sdtv_mode - When snapd snap is not installed, pin policy ABI to 4.0 or 3.0 if present on host - Fix gadget zero-sized disk mapping caused by not ignoring zero sized storage traits - Fix gadget install case where size of existing partition was not correctly taken into account - Fix trying to unmount early kernel mount if it does not exist - Fix restarting mount units on snapd start - Fix call to udev in preseed mode - Fix to ensure always setting up the device cgroup for base bare and core24+ - Fix not copying data from newly set homedirs on revision change - Fix leaving behind empty snap home directories after snap is removed (resulting in broken symlink) - Fix to avoid using libzstd from host by adding to snapd snap - Fix autorefresh to correctly handle forever refresh hold - Fix username regex allowed for system-user assertion to not allow '+' - Fix incorrect application icon for notification after autorefresh completion - Fix to restart mount units when changed - Fix to support AppArmor running under incus - Fix case of snap-update-ns dropping synthetic mounts due to failure to match desired mount dependencies - Fix parsing of base snap version to enable pre-seeding of Ubuntu Core Desktop - Fix packaging and tests for various distributions - Add remoteproc interface to allow developers to interact with Remote Processor Framework which enables snaps to load firmware to ARM Cortex microcontrollers - Add kernel-control interface to enable controlling the kernel firmware search path - Add nfs-mount interface to allow mounting of NFS shares - Add ros-opt-data interface to allow snaps to access the host /opt/ros/ paths - Add snap-refresh-observe interface that provides refresh-app- awareness clients access to relevant snapd API endpoints - steam-support interface: generalize Pressure Vessel root paths and allow access to driver information, features and container versions - steam-support interface: make implicit on Ubuntu Core Desktop - desktop interface: improved support for Ubuntu Core Desktop and limit autoconnection to implicit slots - cups-control interface: make autoconnect depend on presence of cupsd on host to ensure it works on classic systems - opengl interface: allow read access to /usr/share/nvidia - personal-files interface: extend to support automatic creation of missing parent directories in write paths - network-control interface: allow creating /run/resolveconf - network-setup-control and network-setup-observe interfaces: allow busctl bind as required for systemd 254+ - libvirt interface: allow r/w access to /run/libvirt/libvirt-sock- ro and read access to /var/lib/libvirt/dnsmasq/** - fwupd interface: allow access to IMPI devices (including locking of device nodes), sysfs attributes needed by amdgpu and the COD capsule update directory - uio interface: allow configuring UIO drivers from userspace libraries - serial-port interface: add support for NXP Layerscape SoC - lxd-support interface: add attribute enable-unconfined-mode to require LXD to opt-in to run unconfined - block-devices interface: add support for ZFS volumes - system-packages-doc interface: add support for reading jquery and sphinx documentation - system-packages-doc interface: workaround to prevent autoconnect failure for snaps using base bare - microceph-support interface: allow more types of block devices to be added as an OSD - mount-observe interface: allow read access to /proc/{pid}/task/{tid}/mounts and proc/{pid}/task/{tid}/mountinfo - polkit interface: changed to not be implicit on core because installing policy files is not possible - upower-observe interface: allow stats refresh - gpg-public-keys interface: allow creating lock file for certain gpg operations - shutdown interface: allow access to SetRebootParameter method - media-control interface: allow device file locking - u2f-devices interface: support for Trustkey G310H, JaCarta U2F, Kensington VeriMark Guard, RSA DS100, Google Titan v2- New upstream release 2.61.3 - Install systemd files in correct location for 24.04- New upstream release 2.61.2 - Fix to enable plug/slot sanitization for prepare-image - Fix panic when device-service.access=offline - Support offline remodeling - Allow offline update only remodels without serial - Fail early when remodeling to old model revision - Fix to enable plug/slot sanitization for validate-seed - Allow removal of core snap on classic systems - Fix network-control interface denial for file lock on /run/netns - Add well-known core24 snap-id - Fix remodel snap installation order - Prevent remodeling from UC18+ to UC16 - Fix cups auto-connect on classic with cups snap installed - u2f-devices interface support for GoTrust Idem Key with USB-C - Fix to restore services after unlink failure - Add libcudnn.so to Nvidia libraries - Fix skipping base snap download due to false snapd downgrade conflict- Rebuild for golang 1.22.0- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- Changelog resynchronization- Require xdelta on Fedora or EPEL >= 9 (for delta updates)- New upstream release 2.61.1 - Stop requiring default provider snaps on image building and first boot if alternative providers are included and available - Fix auth.json access for login as non-root group ID - Fix incorrect remodelling conflict when changing track to older snapd version - Improved check-rerefresh message - Fix UC16/18 kernel/gadget update failure due volume mismatch with installed disk - Stop auto-import of assertions during install modes - Desktop interface exposes GetIdletime - Polkit interface support for new polkit versions - Fix not applying snapd snap changes in tracked channel when remodelling- New upstream release 2.61 - Fix control of activated services in 'snap start' and 'snap stop' - Correctly reflect activated services in 'snap services' - Disabled services are no longer enabled again when snap is refreshed - interfaces/builtin: added support for Token2 U2F keys - interfaces/u2f-devices: add Swissbit iShield Key - interfaces/builtin: update gpio apparmor to match pattern that contains multiple subdirectories under /sys/devices/platform - interfaces: add a polkit-agent interface - interfaces: add pcscd interface - Kernel command-line can now be edited in the gadget.yaml - Only track validation-sets in run-mode, fixes validation-set issues on first boot. - Added support for using store.access to disable access to snap store - Support for fat16 partition in gadget - Pre-seed authority delegation is now possible - Support new system-user name daemon - Several bug fixes and improvements around remodelling - Offline remodelling support- New upstream release 2.60.4 - i/b/qualcomm_ipc_router.go: switch to plug/slot and add socket permission - interfaces/builtin: fix custom-device udev KERNEL values - overlord: allow the firmware-updater snap to install user daemons - interfaces: allow loopback as a block-device- New upstream release 2.60.3 - i/b/shared-memory: handle "private" plug attribute in shared- memory interface correctly - i/apparmor: support for home.d tunables from /etc/- New upstream release 2.60.2 - i/builtin: allow directories in private /dev/shm - i/builtin: add read access to /proc/task/schedstat in system- observe - snap-bootstrap: print version information at startup - go.mod: update gopkg.in/yaml.v3 to v3.0.1 to fix CVE-2022-28948 - snap, store: filter out invalid snap edited links from store info and persisted state - o/configcore: write netplan defaults to 00-snapd-config on seeding - snapcraft.yaml: pull in apparmor_parser optimization patches from https://gitlab.com/apparmor/apparmor/-/merge_requests/711 - snap-confine: fix missing \0 after readlink - cmd/snap: hide append-integrity-data - interfaces/opengl: add support for ARM Mali- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild- New upstream release 2.60.1 - install: fallback to lazy unmount() in writeFilesystemContent - data: include "modprobe.d" and "modules-load.d" in preseeded blob - gadget: fix install test on armhf - interfaces: fix typo in network_manager_observe - sandbox/apparmor: don't let vendored apparmor conflict with system - gadget/update: set parts in laid out data from the ones matched - many: move SnapConfineAppArmorDir from dirs to sandbox/apparmor - many: stop using `-O no-expr-simplify` in apparmor_parser - go.mod: update secboot to latest uc22 branch- New upstream release 2.60 - Support for dynamic snapshot data exclusions - Apparmor userspace is vendored inside the snapd snap - Added a default-configure hook that exposes gadget default configuration options to snaps during first install before services are started - Allow install from initrd to speed up the initial installation for systems that do not have a install-device hook - New `snap sign --chain` flag that appends the account and account-key assertions - Support validation-sets in the model assertion - Support new "min-size" field in gadget.yaml - New interface: "userns"- New upstream release 2.59.5 - Explicitly disallow the use of ioctl + TIOCLINUX This fixes CVE-2023-1523.- New upstream release 2.59.4 - Retry when looking for disk label on non-UEFI systems (LP: #2018977) - Fix remodel from UC20 to UC22- New upstream release 2.59.3 - Fix quiet boot - i/b/physical_memory_observe: allow reading virt-phys page mappings - gadget: warn instead of returning error if overlapping with GPT header - overlord,wrappers: restart always enabled units - go.mod: update github.com/snapcore/secboot to latest uc22 - boot: make sure we update assets for the system-seed-null role - many: ignore case for vfat partitions when validating- New upstream release 2.59.2 - Notify users when a user triggered auto refresh finished- New upstream release 2.59.1 - Add udev rules from steam-devices to steam-support interface - Bugfixes for layout path checking, dm_crypt permissions, mount-control interface parameter checking, kernel commandline parsing, docker-support, refresh-app-awareness- New upstream release 2.59 - Support setting extra kernel command line parameters via snap configuration and under a gadget allow-list - Support for Full-Disk-Encryption using ICE - Support for arbitrary home dir locations via snap configuration - New nvidia-drivers-support interface - Support for udisks2 snap - Pre-download of snaps ready for refresh and automatic refresh of the snap when all apps are closed - New microovn interface - Support uboot with `CONFIG_SYS_REDUNDAND_ENV=n` - Make "snap-preseed --reset" re-exec when needed - Update the fwupd interface to support fully confined fwupd - The memory,cpu,thread quota options are no longer experimental - Support debugging snap client requests via the `SNAPD_CLIENT_DEBUG_HTTP` environment variable - Support ssh listen-address via snap configuration - Support for quotas on single services - prepare-image now takes into account snapd versions going into the image, including in the kernel initrd, to fetch supported assertion formats- Releate 2.58.3 to Fedora RHBZ#2173056- New upstream release 2.58.3 - interfaces/screen-inhibit-control: Add support for xfce-power- manager - interfaces/network-manager: do not show ptrace read denials - interfaces: relax rules for mount-control `what` for functionfs - cmd/snap-bootstrap: add support for snapd_system_disk - interfaces/modem-manager: add net_admin capability - interfaces/network-manager: add permission for OpenVPN - httputil: fix checking x509 certification error on go 1.20 - i/b/fwupd: allow reading host os-release - boot: on classic+modes `MarkBootSuccessfull` does not need a base - boot: do not include `base=` in modeenv for classic+modes installs - tests: add spread test that validates revert on boot for core does not happen on classic+modes - snapstate: only take boot participants into account in UpdateBootRevisions - snapstate: refactor UpdateBootRevisions() to make it easier to check for boot.SnapTypeParticipatesInBoot()- New upstream release 2.58.2 - bootloader: fix dirty build by hardcoding copyright year- New upstream release 2.58.1 - secboot: detect lockout mode in CheckTPMKeySealingSupported - cmd/snap-update-ns: prevent keeping unneeded mountpoints - o/snapstate: do not infinitely retry when an update fails during seeding - interfaces/modem-manager: add permissions for NETLINK_ROUTE - systemd/emulation.go: use `systemctl --root` to enable/disable - snap: provide more error context in `NotSnapError` - interfaces: add read access to /run for cryptsetup - boot: avoid reboot loop if there is a bad try kernel - devicestate: retry serial acquire on time based certificate errors - o/devicestate: run systemctl daemon-reload after install-device hook - cmd/snap,daemon: add 'held' to notes in 'snap list' - o/snapshotstate: check snapshots are self-contained on import - cmd/snap: show user+gating hold info in 'snap info' - daemon: expose user and gating holds at /v2/snaps/{name}- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild- Fix for RHBZ#2152903- New upstream release 2.58 - many: Use /tmp/snap-private-tmp for per-snap private tmps - data: Add systemd-tmpfiles configuration to create private tmp dir - cmd/snap: test allowed and forbidden refresh hold values - cmd/snap: be more consistent in --hold help and err messages - cmd/snap: error on refresh holds that are negative or too short - o/homedirs: make sure we do not write to /var on build time - image: make sure file customizations happen also when we have defaultscause - tests/fde-on-classic: set ubuntu-seed label in seed partitions - gadget: system-seed-null should also have fs label ubuntu-seed - many: gadget.HasRole, ubuntu-seed can come also from system-seed- null - o/devicestate: fix paths for retrieving recovery key on classic - cmd/snap-confine: do not discard const qualifier - interfaces: allow python3.10+ in the default template - o/restart: fix PendingForSystemRestart - interfaces: allow wayland slot snaps to access shm files created by Firefox - o/assertstate: add Sequence() to val set tracking - o/assertstate: set val set 'Current' to pinned sequence - tests: tweak the libvirt interface test to work on 22.10 - tests: use system-seed-null role on classic with modes tests - boot: add directory for data on install - o/devicestate: change some names from esp to seed/seed-null - gadget: add system-seed-null role - o/devicestate: really add error to new error message - restart,snapstate: implement reboot-required notifications on classic - many: avoid automatic system restarts on classic through new overlord/restart logic - release: Fix WSL detection in LXD - o/state: introduce WaitStatus - interfaces: Fix desktop interface rules for document portal - client: remove classic check for `snap recovery --show- keys` - many: create snapd.mounts targets to schedule mount units - image: enable sysfs overlay for UC preseeding - i/b/network-control: add permissions for using AF_XDP - i/apparmor: move mocking of home and overlay conditions to osutil - tests/main/degraded: ignore man-db update failures in CentOS - cmd/snap: fix panic when running snap w/ flag but w/o subcommand - tests: save snaps generated during image preaparation - tests: skip building snapd based on new env var - client: remove misleading comments in ValidateApplyOptions - boot/seal: add debug traces for bootchains - bootloader/assets: fix grub.cfg when there are no labels - cmd/snap: improve refresh hold's output - packaging: enable BPF in RHEL9 - packaging: do not traverse filesystems in postrm script - tests: get microk8s from another branch - bootloader: do not specify Core version in grub entry - many: refresh --hold follow-up - many: support refresh hold/unhold to API and CLI - many: expand fully handling links mapping in all components, in the API and in snap info - snap/system_usernames,tests: Azure IoT Edge system usernames - interface: Allow access to org.freedesktop.DBus.ListActivatableNames via system-observe interface - o/devicestate,daemon: use the expiration date from the assertion in user-state and REST api (user-removal 4/n) - gadget: add unit tests for new install functions for FDE on classic - cmd/snap-seccomp: fix typo in AF_XDP value - tests/connected-after-reboot-revert: run also on UC16 - kvm: allow read of AMD-SEV parameters - data: tweak apt integration config var - o/c/configcore: add faillock configuration - tests: use dbus-daemon instead of dbus-launch - packaging: remove unclean debian-sid patch - asserts: add keyword 'user-presence' keyword in system-user assertion (auto-removal 3/n) - interfaces: steam-support allow pivot /run/media and /etc/nvidia mount - aspects: initial code - overlord: process auto-import assertion at first boot - release, snapd-apparmor, syscheck: distinguish WSL1 and WSL2 - tests: fix lxd-mount-units in ubuntu kinetic - tests: new variable used to configure the kernel command line in nested tests - go.mod: update to newer secboot/uc22 branch - autopkgtests: fix running autopkgtest on kinetic - tests: remove squashfs leftovers in fakeinstaller - tests: create partition table in fakeinstaller - o/ifacestate: introduce DebugAutoConnectCheck hook - tests: use test-snapd-swtpm instead of swtpm-mvo snap in nested helper - interfaces/polkit: do not require polkit directory if no file is needed - o/snapstate: be consistent not creating per-snap save dirs for classic models - inhibit: use hintFile() - tests: use `snap prepare-image` in fde-on-classic mk-image.sh - interfaces: add microceph interface - seccomp: allow opening XDP sockets - interfaces: allow access to icon subdirectories - tests: add minimal-smoke test for UC22 and increase minimal RAM - overlord: introduce hold levels in the snapstate.Hold* API - o/devicestate: support mounting ubuntu-save also on classic with modes - interfaces: steam-support allow additional mounts - fakeinstaller: format SystemDetails result with %+v - cmd/libsnap-confine-private: do not panic on chmod failure - tests: ensure that fakeinstaller put the seed into the right place - many: add stub services for prompting - tests: add libfwupd and libfwupdplugin5 to openSUSE dependencies - o/snapstate: fix snaps-hold pruning/reset in the presence of system holding - many: add support for setting up encryption from installer - many: support classic snaps in the context of classic and extended models - cmd/snap,daemon: allow zero values from client to daemon for journal rate limit - boot,o/devicestate: extend HasFDESetupHook to consider unrelated kernels - cmd/snap: validation set refresh-enforce CLI support + spread test - many: fix filenames written in modeenv for base/gadget plus drive- by TODO - seed: fix seed test to use a pseudo-random byte sequence - cmd/snap-confine: remove setuid calls from cgroup init code - boot,o/devicestate: introduce and use MakeRunnableStandaloneSystem - devicestate,boot,tests: make `fakeinstaller` test work - store: send Snap-Device-Location header with cloud information - overlord: fix unit tests after merging master in - o/auth: move HasUserExpired into UserState and name it HasExpired, and add unit tests for this - o/auth: rename NewUserData to NewUserParams - many: implementation of finish install step handlers - overlord: auto-resolve validation set enforcement constraints - i/backends,o/ifacestate: cleanup backends.All - cmd/snap-confine: move bind-mount setup into separate function - tests/main/mount-ns: update namespace for 18.04 - o/state: Hold pseudo-error for explicit holding, concept of pending changes in prune logic - many: support extended classic models that omit kernel/gadget - data/selinux: allow snapd to detect WSL - overlord: add code to remove users that has an expiration date set - wrappers,snap/quota: clear LogsDirectory= in the service unit for journal namespaces - daemon: move user add, remove operations to overlord device state - gadget: implement write content from gadget information - {device,snap}state: fix ineffectual assignments - daemon: support validation set refresh+enforce in API - many: rename AddAffected* to RegisterAffected*, add Change|State.Has, fix a comment - many: reset store session when setting proxy.store - overlord/ifacestate: fix conflict detection of auto-connection - interfaces: added read/write access to /proc/self/coredump_filter for process-control - interfaces: add read access to /proc/cgroups and /proc/sys/vm/swappiness to system-observe - fde: run fde-reveal-key with `DefaultDependencies=no` - many: don't concatenate non-constant format strings - o/devicestate: fix non-compiling test - release, snapd-apparmor: fixed outdated WSL detection - many: add todos discussed in the review in tests/nested/manual/fde-on-classic, snapstate cleanups - overlord: run install-device hook during factory reset - i/b/mount-control: add optional `/` to umount rules - gadget/install: split Run in several functions - o/devicestate: refactor some methods as preparation for install steps implementation - tests: fix how snaps are cached in uc22 - tests/main/cgroup-tracking-failure: fix rare failure in Xenial and Bionic - many: make {Install,Initramfs}{{,Host},Writable}Dir a function - tests/nested/manual/core20: fix manual test after changes to 'tests.nested exec' - tests: move the unit tests system to 22.04 in github actions workflow - tests: fix nested errors uc20 - boot: rewrite switch in SnapTypeParticipatesInBoot() - gadget: refactor to allow usage from the installer - overlord/devicestate: support for mounting ubuntu-save before the install-device hook - many: allow to install/update kernels/gadgets on classic with modes - tests: fix issues related to dbus session and localtime in uc18 - many: support home dirs located deeper under /home - many: refactor tests to use explicit strings instead of boot.Install{Initramfs,Host}{Writable,FDEData}Dir - boot: add factory-reset cases for boot-flags - tests: disable quota tests on arm devices using ubuntu core - tests: fix unbound SPREAD_PATH variable on nested debug session - overlord: start turning restart into a full state manager - boot: apply boot logic also for classic with modes boot snaps - tests: fix snap-env test on debug section when no var files were created - overlord,daemon: allow returning errors when requesting a restart - interfaces: login-session-control: add further D-Bus interfaces - snapdenv: added wsl to userAgent - o/snapstate: support running multiple ops transactionally - store: use typed valset keys in store package - daemon: add `ensureStateSoon()` when calling systems POST api - gadget: add rules for validating classic with modes gadget.yaml files - wrappers: journal namespaces did not honor journal.persistent - many: stub devicestate.Install{Finish,SetupStorageEncryption}() - sandbox/cgroup: don't check V1 cgroup if V2 is active - seed: add support to load auto import assertion - tests: fix preseed tests for arm systems - include/lk: update LK recovery environment definition to include device lock state used by bootloader - daemon: return `storage-encryption` in /systems/