vim-data-9.2.0110-150500.20.43.1<>, |iGp9|ɱciOV1,1PSzJ᱒M[J,C R1%'u|W LXך.%WڅrYaµ %)SZ fl pxRP族lުNgVm Pvz aNDeчO)ޏcƀyAvm4_]GaH4Nz}uƉ _frbtz\lK+JU{Diw*a^>A Kx? Khd  # T +18 'X  :h  Mx  s       B,BP hphhiV(i8i9ld:xBTFxGˌ H I X!TY!`Z![!\! ]G ^bLcdsexf{l}uӐ v%w x $ y J z K K K K" KdCvim-data9.2.0110150500.20.43.1Data files needed for extended vim functionalityThis package contains optional runtime & syntax files for vim.iGh01-ch3cX SUSE Linux Enterprise 15SUSE LLC Vimhttps://www.suse.com/Productivity/Text/Editorshttps://www.vim.org/linuxnoarchlX(V _P" ^ (I=V'&jc mh&TVZQdBO !)ksqa~N;cT 0+GjBѻ ]G:Y"MTAADf?>A?Ov>>s="=-=@AU@A|F=R#@?%y[\LXIw}k K~bkv  `^KXB PcuSz n&f|Z&JzFI-j/DPEAkaz2U'eFgD{OlwUxU%P LKH.,r!EYdEhA! %/$=S"Y 'E ,T<bX"d?b .A#z*"?1)0 8yk %/MYiJ_QnSil/EQ__]~Jy^)>{L ,s24y5J 71QK CEv>Oe(\6qE c9cr(/>'<P =0c#wP7a:(?ST0 ~ A!%X E](id44 9 [ = NyYM{PRlT ]?  t r#  z{  |1 v501 z#E22 u ^I ]VWeW}+7 +# 3 */,`l { &{$tDy $Evd$0 ?XH G1vM> YA OQ S 2y52 do @M!\mw  |r L o 7 G %)~I $ .ADD".'S(Q  l ~@* V6e -(C yPE . J8F.E"5 j$= @X-gzyb & p'+ <f D # ]c` 4!)XAX*$f 2v6+/b% V d.X/Pe%Ms y Z(|8"M4K LK / x=i$#hWV x0  v/R3"?q$P   3 c"#d/m|$(%9'e!CQ 9Zb/C=> J3 o# o)XoXIr3z? N 1 >9 ~.Wi';;IV1g'$0?%  VT<3K2c')|!8A4h  I.16o %XQwOb N6G  j [oq>p ] (jA U/<3(=3"J*E]# f > O }? $U ! 0Ii= ѣ!jc;'b2Fn'(U-DOW 2 :;/*1{ "dd1 uY1' p- L # me";szD?U(H+!] +RV9d p.2  C/ ){ Xd3=6fg`N+ T2\ 324( i3b a<:S"|6 h9,j<Cz5 =t60  4z% XT.  *jP W> i0  O6 <7u\ . RyL`%-]!@?1 nZ ~e/xcE8:7 *${8YĨM ^^6< N +rI*\Z \C  1{3 7~(r<v' I S} )'v@K)3E Qq<mB qo D37љ~z)3k68PT5+uA큤A큤A큤A큤A큤A큤큤AA큤AA큤AAA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AAA큤AA큤A큤AAA큤A큤AA큤AA큤AA큤AAA큤AA큤A큤AA큤AAA큤A큤AAA큤A큤AA큤AA큤AA큤AA큤AAA큤A큤AA큤AAA큤AA큤A큤AAA큤A큤A큤큤A큤A큤A큤AAAA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤A큤A큤AA큤AA큤AA큤A큤A큤A큤큤큤큤큤큤큤큤큤A큤A큤A큤A큤A큤i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i4i2i2i2i2i2i2i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i3i3i3i3i3i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i4i3i3i3i3i3i3i3i3i3i3i3i3i2i2i3i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i2i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i4i3i3i3i4i3i3i3i4i3i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i4i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i3i337ab54c6c5c4c530a855647cf2ac05c3b4c03bf16b21eec913b5ea1b95ce59f54094381de7517b81b25e6210a1a47da1400c03bbc8d74b75c4cc266016578a63e255b88f78d2572ad30cbd8e75bf06c27f5673f30f80a5d0b51339d366e214fff198b5eae17f2fdffde166cdce8898d4ce3808b2009be5819b62eaff1b7dbc204714df0bcef91f62fb75922f7333b18f06ead901df33d79e2408566ceb0107bbb2e6790a96f953feb6807fbb1de0c3194a3e2dac5f652bdd9d543760e10fe6a20ca4cfa52a82a6935c60651db6c5dff1e55ce605b73884372bc5fabd10d865d8b93e53735257429d779a821b74a27d85e2622dd58adde68fa1c2a3d60826139dd3c2c22fa2be918b8d0684550facdd2aa01e5e229d3ee821e122973a3f0c10958a851c97ea83aba10f984f5a5bbb8dea8cc408ee807d801aa42f51d453e50961c7f66e4f4a0030e93f98c4069f5a51089050476d4241117a07f02f41609163a6c1df69b3109930d2f8babc266b0f8324ff8cb03b03938e40c58e498496ba08ac4266c82309bc7fef1e18308bfe6de4d27c115202863f83bccf8c08c0edd5a7727d254e4e8c3cc73b0ce5b3c12c40a7a4f638dc529c8e50f0ebfff970641359e5e4106338a38b559da2470b5771aed10eb8fc58e6a2ef8a9a6976adc23e87a655926ded0bb37553517194feaafddeb68ae1267df92160c26087793f086b75ef8a81898a9e3e7121c05be0a09f1bcc4a1f98bec012c3ef581a2e525ffefabd7c0149c1a5eadc2f1f083f051f2ecdb4c864e8bae1eb365d45dbb5c992a96b04bc4785abeaf2238edd6671cf3f2c12fd95567eab468cbf060ca848672c0318e98c382e7f282f62d7b7f5c048e30edd2c31df9ecfddf4bc0fb8c12c247e903621d86484f392da9ca65c3a42d7a68d1716af500a0ee77c337f5a9ed16493ba9d67bbe83396022b623e50c7dd8b8814e156a7f6623e58c809eda0bf349f8e7dec68462f9c699310015f333f077cce23ba7d4928bc836ad68d1701774acf3e0c5d4d19f4bb7334b5c0cb1a0d3f736688da4a54b3786a9b2b0c3a5edc3e2cc3596ef00ebcde0fe19510e679605593560e4f00971641a4090224fc245fa42da4d0851fd71299e0639966cb649ebe15c95e376c43ee400b32f50c3d21b71fb381cca6b6d8013b21175ecea7dd95171c9f4936a339f30bc4219221ed766222a75d3869a7c6e7f6f511098cbf10455d2b47882f8fe5ff2c094bdfb7f0f17fe8f7ab04c92c753d17600c386d846a5372eb034b65d198836f7afe45efd6a036813ae4770f15191fbc292290aa876d4d0d2c276ff9c5f4fff2f28c3dce21506247dac0c385077b1b1450369cf377de2b032b6fbd38faaa3423b420f3b1fda3e801cef406032e34e86471d926e4f509429f91061b0c8daaa90e4adbe15f48c44d74759a0482e4f16b96b145d58221044b4d0a9f89a0f3485d18dc21e342d01eb328943d0144c4416c9b63d6fd73890198424e22ee59037b3ac2e6ea50c475d54c3dd414406a13cab6f3b3ce9c29a4fdb0ce653128149879bd981af26be14230e99d9fb686eee9bd3e06e7e3dd1f2f2c03783685965a0605b1a52712929df31176e2fb75cb0c5b5172dbe5b1e2d96c822f7612f6c678d54f2ef6a18e6af8a9d1d8a439482fa6141280c82622eba00ef347d1c6e2a6e160b6424df7555fe8b2e7740657c87cff076b0e235abff6a8b382e86b606c2e5a55c1f0d2d5930c46c5c9000beb83d2a8a5014fc7257e12622a5209eec35dc535e15b9a12b753a34fac987d851d7581beda8a6e481df0eb9d70cf9c6bff7ccfebcfca6031a415c98cbe499f7bfa40fe5210886005df612edf5d9ad8fc6c52dfebb4049724787ea3feb5d6698f4d1efcc6d1ee6b9f22dc39e8b27b5e644fdcfad1331b03de57922bc34633ffe6da52a622c25e0f1c4534d0ff6282a3f4cc662be844d222b290dab7d62c2fcca4595e09ac447dcfe3fc894c8835fe21cc0757eaea774bf5868f0682b414944949ddec09cf24948e3683645e7ed92bf3fdbaa006adbed41e5f460504dfd1731c92a0dc98e768ddccd0c9c1327dd9bdd1dc0eeaf000bbd28bb12fea269223dac51215647325bfe892e4d27af052f07b96dfc8b145b84ae8bec9585c779babfded088f96e0dacabe04cad1f9a9304f27add8e0b4cc256931376459eb9102e38f56b0f83e811864651f00109fbed45d29bbad8705bbadee3ea38a3467bebc30d200b0d183ca1a8cba582328c6534e2408879c32fec4dee2ddfc804229603f15dcdb675b2da6d93b1bbd4ba7cb28a55a7093dcc8311201c678350fa849c0bd38243b52212c6439dcd4140d16673795de5342ce20985e11bda337e234c97209a2fe1bc91f2059cd2a10f5cb88c0fcc2914e2aea4161b7b0673a08593a353a9041e2ea04a233323d3be480c15dc1cfc5a8cd070b82fde15bea8c009f9a8003ea3847958981cfa1db980bb2b5f15e2bf598ea89ae9b9bac567108430f6575862f8991b83e07fee3c6faa6638d3f585f28621555fdf9f4df93170994d98560a0b15bb42a0acfb64ac058c25512b392c29ee671d599a2e74bd1e0cdc84be9eb0ae274ccebcdcbebe7b2b5e7d4456f5a5280ee337491074a746dba640c69a553b2b474ca99109c91d8cbd0f68deda33a28ebd447432034bf202b9be288909002e0f440ae83cc75e82b0d2a04c9660dfbfe3f4a4fdd8f4cc3f06810edc10746ede9832b119e838e48baef605cfc91bbe40e509f003d2035eef928d620eec33bea1dfe0cffaa6cc19c9ae5ac90252e8ef869bd760214ca0d922d5e373617306cd929ec578e731be8587cc5a00035ee9a9ee334342c5cca53dae9c2faed4c2d1dd55dd821919207e5e94786c6566dc080cfbfb2e5e44d046541641c8ea4ffec118cc61937729274f18f023e020d8e706411b7400c1d71c269103e62bdf239a0f37d8f859107fe52a88aa95fdc9e4f46d4ec495e72a5cd1809b8cffcecce27d0e6a8d68d5b5e96eb7d3fcea580221559fe77c44ee87d305ba154cced8fc22e239a4db13ed6c0a4bac626feb61f61464dd314264fbc1c37a84699c7dbcf86ddeccd6ea3d76bc3cb5a2b0bfb8082297900ef7ae19c889888aa6e016bdf3c4211392611e42410ed04f6d7c63f6a4c9a072cb209fb13cc01d9242e2b7ebc1cf34f601e6f54f7e6a86154b36c957bdd745bcb93b601c3ffe36b1aa789be9b6e3d43d760e5ecf7a9b68325c3b69bac6424a42f03715dc3b1033f67b1de512c659a2c6023c564f0b545bc322c104090a65f4890236d6363411b46cd8a669f077776a2e32ede74541a7b3d361dfb9bb16661fa527b50552c440525a06aaf96f64cb6d02b7110297fc937f20e3b8213a4a06cf577c0acbfa897ad7d34e256115704ae392d41452d60fac94edaa3ad8c31d119d92f717bc3d6a9b2e85aae0248b367fe7feb487f408239fa3d0ccacbeb9fecb5bdb1d71805a58fa741c9f4d31990b35deeef356a0cc1b62db15e7c42bd435eb7b3bd538d26cf2c126e74b8677505d9c9ffb596dd732724ef92223c5e04f5dc0b069ae0f0579099c85bd04a7011754858fee37c7d14282e14cdcf6fbb3c4670f83f94f8e1968dc760e1d0e95875d4edd17579ae9defc1bbca4be4d8d4b5d56c3e2d564a077821ef9db6cf0a9f7ac752bd1735d1d431bc93949916ffc2ce0af331f0f4bfcb73f502d566b64f90a8f78f67a87594b4f6ad3d6784096111acc1780d64c3576e8dd1d5192aa9cd83d9dab85a534fe924a1f56a0d26a6a0b0f38b09765dac5585f7c11013270f2d788db14e5983ec874200d4a71f2f4104962752afd10cc86f8e52a808798b6c67ba7334190750391cd209d1d48361d12b522ec6fa7dfb4393978985037ad606b5c20d6dc06f1bb23dcc6cd0ebcc5f9ea06dc03ce1500f280db45b977e0f4888a041a839a87bea14b356258c0af31e47e7bfacb46f60c57aeffd6d192e51d52571359db2d8678d59effdf5558ad28cc874bed9f40b3d083e4330c89c729372c2f548db2be041523894cd664e7e80b06dd7bce29d65e35bd9a2dac15f1b24579ea67a211f307931d3e185e2bbf3349ad2636a7f5c09993efbb546c82d4de5e411b7af778ee062ea1432c9d3d50a780f21d96323ec2e1b2f82277dcd6ac6534766f77e156d972143fac48990e688f1a2d85e781a140872fb05dc395ce79d04e3a3a93cd9aed87a97da09f7a7678fd5bfe14cf14328156099913e645e07534a1daa45dade8d3aef271f1f3e562ae810be5ccdf10a447bc9f0b16386cbf2cdd03c06cc2b991309823ad0a9cae4a481a3beeeda83f47a5d4a781b95c4ba3d70bc45c1cc4091025eaafa92d959926bd540424e4819c2dab21c8c2bb3bc6ac4ba967fae7055acbd7db364b59e45e18b1963be56c8dc00c1a81233f3cd67ff5f1476e7da2151a953a61b53c22cd1eed5c9f807c84e968d0016f9a18c2ec41cd8392c46ce1fb8730c0794673e1d14aaa0c0aaad05e0f88cebbfbdb51f229f4e8d0480833be0c849db56cb8d4e8701b49f5ef57c9513eb77f228b458402b3b93072792e927a07d98c4f993208edf599cef064d7dbce5f18ba2c167381b56cd28d7537ca7a3c36fab7db863f822f09fec2771ba6774321a0903c7674a10e42523a17139d2d705499ed00add333fc430f1bf5a373b1d638d0ab533517fb35e8b42dbe88881502e5e08dbb00d9db58badc34c2bc4e562d4be08da893cd024e615610cbb7a4ec068fc94e00e7f910ab07f76c755f899eac70adcd771c506e641373ed255b73e2476b1e1b89b86ee8d798cfe2bfb587d9759c999fe7fca6936e75fd9b57dd79f77adc18cbb7a2f374ea3a07c19b624c3f723a7bfe8572a5f96ba740f6336bf8cb0bd6eb72028a5109d11e54d6a8764c6cbb929a58832b05c8c56a639892b0dd0ea6dfdf15d24a74e7f4c60b9072c0d99c08f4a1789f0bae81d1a958f13d71486393415a035fbbc684e1f2aa26c613bbc8e2eee71744869093c8c729d88717e98b4a1e7ed524f3ba219962548caac43dc8ccb34eceeb544f4f63a045b4ad0294f9681957e91b7552e476b0b7a203a60c9da1a4179dcab1ec51ced5387cddace7b24621a6f5ba01b6871571d5cadf1a095d23ac5d807b55a5fd16c966ea121d8781985c8cc6ae3825d3cfbdfe09ec197e8d3b92d3b38a19c413bc49fa63f0e3caa4fa3be71031dab1ea67df2c1b56bae9c7232260fedca84c3de182f95b300924666471a026869a51a29cab7a466b98c070d81291a93931baa6430271785c2d1ea2776bdb5e07a6a99b438bcded4dfe3e44221889078d2f5094c683738de61c7b33e6012dbe25ddf57142f8d08cf37a2b2d1d0f23b17ec07f54156bd6ca883ba320799d086c8ee22d2168a3b568085003698332fb20a0c19596598b71cf726ed5b38758655733574b5f1cb556f9d77777c6a5d05de53b480beb9e6d554c69bbd789be5601afd56d2f9e3fd8c61982c7f1881f8181248b07884e1139aba7ad2b09cc790e7aaad21b370097dbf1e4d657e1107c131db0d4339cc66e6bbedbb7e3baf322899c8dbeff902dcff77ea3904d7b00772e888749f0b1708953e01a11dba77465ae3efe14841e013c57223def239166d9051f68ee9374c35e5f8a3fcca67157aac6c7c69e0d3a26fcb48687d8935459cc706bf9a315240da75e9fc20e25e15a4a5674392bdaae63e1fcac136f51f24d5750f8f25fcffaa6d4a5169889da1bb07f685a970aabe404c68b585ca7988a9f6e907e11792f04176f9bd8d0fc0caf1e96afd4d2dfa04601d30c7b4f6f3519142d0f2bead0736b3d6be60accca44857390321b5b8bd343af5b48ba3ca397cbf3e36712eb3e1e8a9e473d9dea2fe12d0de35d5c66d6ea4bd52bddee1479cbf01f85d52d8e0286574c74f7af4d75b3714a93dadfdf5d6b32acabba515205bd6389cf1a4023db248f399c5727da55844a1f2593dbc4d14f5bb514826c55303057eaabc189b8c0782f11078a81aac38b483008c292ca296694def1c1b71af205ca86f1166c97373e9e58cc7bb231fe60472df0608c06b7cc6a9f4193844def2e50d56586723bc9a4968893c73d645eefc0c7f53c6d04e44fa51aed32b11a1703f10c453349c7e846b49b6ea63e8c36b6578a5701c413b34a3978e6ff69c87e29bdf0b4fe75c4c2c2583285d482486c1387a130ee4cefcc3f0f21ead198b8d47952f371e8389a0e634e83d5a5953ba1a203386fe5831048c11bc72f67a55f70d3caba1dfbfc013e4764f0cfd33c0cd05136f71671d963c97d3a6aa078855d1f8ccaab4bab0a1f8bdac26600c64428d197d48926d18c9e563982a0b4410f98048890211dc816a5a04003a026c535bd9cd22093ccd7e4fdbf2a1d654b32e82149a6e715a53960a5b2d47b6a3623693e6e2f400f606524aaeb8fdd1ae59fcb82c36b5e5319fff08423fe37256b73a82ab36502aaa5590de3b75933d49b89ba3ab1d9b8808e5bfad826a69aca22027b4e5c8ea7b1e5cd700ce5aa447803abc23a01d0b19f76792208ad9b6b1fa6feb79c36de3764987afd31c8c18b8e632d5bc4b67fb3422523619ea8a1f59d416f0cc1c7d45b1faed7a8036a88ce60e5c6739ee904de6098434b52677109e40b9f787d8b5cb79b48c7c3dd5f0b194779b761b6917379d501f73351d3ea10d41f625ae5a9d6b8d6766e0f575d725fa83d222e1a54c1d0ffa5a4980868532547cdc89821e158976ec375abef370fb80d4f8f4f467cbb64c9cbabf5654745ef059b14ce03b1375e51d70f64ab144db78b1cb21cf88dc8f3b52ae6664222336c853cd1b95d3090f4904daffbc772591c45c65bc359f3173f24bdab5b1607580361280e5bc252730af01db409166d8c53b7a6bf20a2f3c50798089bdaf2dd99f82d7fdebd7df6dc5875860b36233ced2b5331071553a8323489a7ce126f937db25e37ffd41a1eb386f65384434dcbf5f4c607131d9c1834d291af3ddc6dc185c5f0239910084445b4ad5d9262c1a38ec556d7962a62574ac754a270c3666a4aa71f75fc4d5aa4bec69a763865f42f35ae6cbbfcee55024e2df3882e70e1e18d3dc91e4e775808281f83f954eef44d6f073f0c23e1065509790f3cdb2999d426c17cf308a6186c40805d5fd3507e6278d6f3d4ffa8be27f0902f231bf25b0e6f76e164c1ba73b0f29b8fd778daa58d11edabf6f403add539aba83a5d69c4e76ceeb0a51f482c9db1264ed20d7d7ceea2a4d51e16a5942e000c820370f27aee65becec6778a491d88b69c7dca91c9418d009273448a7b2314a7ed99536c36162f016602361d517466f40c0537c5d72c3e4a9f8f871674752a8fc494d299f37a3282716e0f095fb42e09af30b26c3d1b79ae8a509bf19264df6cd4b86669a17a7472d30ad9f16ef5b2fbebcdd48167419859af07bbdbbb0c9bfb1a52b04c0882b97c7fb9fb58deb0123ab015c912b6711184d2cb3924588110b1176690262e4b1b5d34067b87a62dafe0c0142588a1e2155f074a52d4b6cc08747af794711243c58fd015a2caa0a89e94e2823785907455df8d4ffc5b425c40d7bfe6920dabb11c578f46a75f0e4979a337979965802cc0f054eb976259a93881a5575b54f4da96a9eff84979f368774ebe19bd471ad06c9c16bdb491b48a4fcd2821d0c056c12b319f99f84cd03108356523bcda48447d975e7b726597365b9e2aea950dfc28e0cd30bc54c63aa4f11bee373dc617bdcd6a82d5e996059eb05371b5586984e07acb787fc1f71957719913973268f0817698917f8fa146ac43fa732042b8a1f719c3c22c09d208a395c6ef40b2efea7b94c224c1e10339d9c25e1fffb4b5d344d3242a3ef60a3adce0fa9ec92c4f744cfc0ec350db74229a79bbda523b9eb02fbaaca546b53544a6e684017dba63673f7df932d9d9dfd2208d07bd7c5cafcb20a799a5cb1756ae6b79ea47e0001b2782ec7d226a17ce6e3b2e6dbd7b3b895d10eb2f748b9ced43aa6c831ed109ea97e5008d6fc5563a9d2bf37c352c6eb606d4989427d5735e27f2fcba5d2ebdad25562898805120f5e3c70732f591be45e35e8855136728040cac539bb62e4129009b6dae9bfd68be7b2ed13d596e360ed07afab12a8311e80200b3aac067b0abe88927fde83e563559adc6e9e3141f55d16c92ea35263d5caa43198d5986479495f7687334d3c06726b69de3055c52f6e30d5cb9e38c193577d18b980402b97f5024c2a6d138a8fd0d528b852d59e4b4250fad7c1b924f990c9ae2368aa10c12296d9bec4681eaca89ee54ea0479f39056a6fcb25d214ef5bb8574e7c0774e245cedcdcbf1918923427e4a181a810928279eba35f982905d51a31d5288998b7065ee2ca4b63d95b93bff3a7fa8376be9b5d3e65d0e60acd86b869afa2353daaf8bdbd60c2c6aed17b5ca1d260d945e2f5360c0259b74d77dcf3863ab93d937afa33b664f59c00a918a309d03b73cc2ce88aa9d84747961345224484c384cf572398a8844094ec4fb74a10397fdc6e3fdb15f53a20c78579931c211a2dca309d757c255f997cc39ecdb19e448c910c708a840879de02b9b138051fe45a1ceb498e8ae3e3a391d54a8514a0e03c82b2fa7efcf251a8639dd60adb8e22e1cd31e308fdf2698ec4b00c84654118d07197c69556e259166be64d62cd5dda771f67549c0e560e5b6014ab5901cee8fed6b631623cdcbb9432b669fed782432c26fcac8050e4a41ab2c3b91faeb55446fbd978f2bc2c0a657d840f5c0d538b7e9fd6620533c5ab4120220c84b3b9f798f6f9e17a3a972072de11c4d340a421be123f0cc24b296e8abca0f9c36d98360c451db63e68dffaadca2d7b6bbaa7411f755684bc719d5ee70936dd83857e239959ab3030d59d453cdc5160ec44a1a3464b38060794d11791cf9a978bc7644e0ce10e216a199952ccd97f5f43179e90a0027650eaf2b6ab305417e7942ea03d2b637256a46a0dabd20a40c79522c5f380058ad03ae82b26adbbab17df245ad69c0a5d46809168a980ced418f157443db4766166299c8de9b296b75689b901d8309330ebeda59db216078399af3721a57064ac4f045a8ed390e3ef4beaf111515f6f7915d3b1b953af1eca91c6f5f0161bb8ca5d98f593f3ff77df01579fc2105f3a987c8fce1a4ba2a3f77c392fab2235f2370af34ae1594093edf2c223982e025504ae558bca6950b5b68cc8ac9d8db2abd403137e9bcb9b0f446ab2bf23eb3822e0e36fd62b36fabb12ca6baece959e5a8dd7f67df183045e77b6745d003cc6286cce2058a3abbd947f91db50ab78e5798299ef9aadb6540e733dfd1a4587466c566fa87c849123ca4ac69a04173617de3a71e83b0972dd3ef914ebc01e3f3366cb8abc592d3e313ef21ab5df74bccaedc4ade4edf823e7a8ea307ce7036dd494bd1a749a55f76600a296f58bbfc095f695140b4d745431deb1a92a19b088e7e5539cf08fe025e64145863e592bae86fcc2c32c6615b6e863e1118823a373b057c7fbf79e33db87200be98c3a341176dd03e12d1d1e901e58b1ac47b3b5d591cd9094c7f5e3a6591f7b0bdfbd755134dfc64a8421766f7a615140b4492794e7b73baead04eff662bc39e8f707f7f93c28bd51d2c46440b83329563957d011c1f736a139144ed9421ab8434cc453582e818ad7c8c1df80b2f41887b510bfcd1fa90d494fcca02140ca8798237cf3044479114a3d3dc5f1361afa70430ae1c8adfeb9e871d3a05314f538ec3731325e389752130fe951c1e017854d961f47a7e7ccd836f601b04629c932d70284de6893fa6b9fdefbb9ac987dcd083712a79e072d97972d1a95c1c06c9ae48653cbb369c2bbb9e20c0eb35fb1477c3b05b1051cb9af0a0d2eb27f534e18e94601467b5d950844316ae6e61ad0b88c00fdc051589b01acd128316d40db03ae26907bfe0fff039c81d56a6fd8634708bb4832297ab258b4b3d12ab431411c43c2f5afb402f2c0063d94e78394470cb2d28ad50c68a046a39ed37f41d1b638cbb2ee839ecc9ec2f64b26eb2687b14127e833bce887bcec233427d15fea420f55af7d95e16f3ad883fdc791ec62ae1025cdc3196170f1392c48706ec841751b5043920c022bd2cca64b1665b643629d6fbe2b05ac9a4d7ae13b23adf673b85c96d78d9171de35ff8a99450571ad7f0fcecd9f9f9bfd476319fed2ae49359f7cb1c480c87f94af1a78085a6ca66376d9451c3b8c7b94d0a0cdeca1625e76d2f247d03718d955ebb2e42abc3990ef309ec7870ded0bae1c45d86f3e9c3b6f75071bf28330a91aa4272b842100695fc0279b2ff9ed183329efc41b1a39f98803a99825dee28af551cd86bd9012445b83733b9fb91c64234311885cee23977d19c538b8f86fdfba27d35a97514b8000d6875a9552939880e8fc7e818542402ec73de6fd1142725a323065378808820036151aaf96cb9bf5d535f3f21f0e98db0fc25fb4ad42b542d4d762581a38f45994dfe2501f68b30fa6def01153d1a074d39209066425ae19530e35382f03eb34c35c2f69db456be3590af34cdb03fb15a90227dc2edd43de0e7a8edec5304c851777f28984f54137e4fdc7ac5180433fca770ce5a2436c3900bf909fe684b7ef7bde3494f43b3e5b5b87afc09f21a925194591e301f0a29ca4e89e5b160e8c80b4dd1fc490db9fe3da2f659d06953087ce3a9400989ceb3b1b1739162fcfef15a110f960397d800d63c66ff544175df5e8fa4afbfc60f0666bb0d713f7089d9d1ab97536f44766027baef5e4d930e732a140ac5c94a472d907c4b3c47848416e0e0ad19b44d583dc61f7b16e0418756be73e2a28751ed0688bac7d656d92790399fceb67da0ac26d70db5c3ffcd7b49d6a61685ad9d560595421a35261f8b181b337e3245b6dd1437f5392346dcd30b3ff5b6be61f9427f377482f23a0d25f376cce081d9760ecb2ea0eff84b42d549c6f0ac99685462e08cc3cdee47698577d43bf4557833757eb9e3aadc7ad4a61b638faae07ab01b8fd75943f511fd18fc73ed4acbb7aa2b79969589ad1ccfb6b09f1b7ea5d666295c4ddf2af65475d125b2c3e4fc26474a15d2bd85c2a865cd951739bf5a9ee379b9501fb0726544998731b2b1c7c8aa6650807c5ec7fc6a630f114a5d40e6f97196cb5a0cfe42521e70f0274d283cef52f00d16e36216b0099e39ef6dac102b911a1871f69a2ef1793a30f62b41e1a213cc3d26d2a317d9b1359805da8e55ecf588d2bd48b600a65b153fe84df6b6b4aee11311c92dfa3134dc1a548a748b9101bad47c2371ddbe9cc8378a91a4de88d19a1fa1fb55eeea4a36951b1d7d2f53a136807e9744b2775b5fde8c21e92ef783e4db52b9a0d7a8076752fecddda4d0221cbad6289bd2479d8042bbe0070ad16c1e3477401b9c5f977cd5887719e1b599dca4bfc29d4e54b66636456c68ff56a2fa6c9f40ff5075f7ecd5fec4f42e9c74d682cf405a2dda54d3424eef54c58212bf519521e1f9c6346cb4707b20d5e8d829aeeeb18d920954a0441bcd6b29f51d03afbc87d5e8a5b8cdfd421beb7cfe3a91cc8b8c467c182e151cc6e17207b86e9bf85ac5190860b15ae499b73ead710d8c8c0b3868134fb24d43cccff00734cd7adb840934bee8ee83c9efde7dc82989fd1bc60cef7f43b82720a67015d737aa42ec5633af7604774697f6230252184e4581cc83d2a1dc8f55f20a1b9e6691c2390f82bb5c3250365a22100f1c26e37d2611cfb6b24610374d1c77db15aa0aadb9f472dd5b105350097c64907b1f59669818dd66bb6bf9f8731120eff84c07bce33f9d6e9d50199bb34122233ab3b63e33c40de6586940c453b4b0505e94afd9492cde772177df76f9691cfe44f44e59257681fcb39e493ee160f8600dce5860daeb90833d901795c6b95e3b4dfc7f1f7119f7333c8dfad12f4cd54432d5ca72a7d4daa780ac3fc5a2f64be1e421c9d142ff2923e3b3e35b38e66df162e77471503e5e334ac13219e3a161bd1cf8e984a2ac63084839f6d6c69b97d77382623f5cec677822ec68a0eb48312c114c4bba5aa4627d180690ef87e1bdefd3887b8fcd4a11d408e45c71189de3bb544223965bbe5af0f9a089784fc2d388dd8cacdd071e566cdb5cc2c50876d6f626fb446c60e821c19724251a42287891cf41084e3fc005d9230bcae155be4aaea7a71a70f4c00bbce61abb0ad22d13bee094f5f8e90a4a7610765047b884d6ab47a0ab08c0032386234035404d7b26af0db638134ffc18089e2e39ced607ff194b9dd07c2c98d5841603a763ba87ca91bdf9ce5d51d7836847c3f348697c8368c005912a492af3d6496f895e2963d37ccb6d9a928e8658d978e4b5367c0b1b3f89f5da0fd18e013d1a06d60b801ee65f43b437ef17a72219691a28f9a53aacc3e7916d99e03ecaf0c050e4acf56d35e660d620c0c3b45d390f4ee8159c5700300afc9ce7fbb0320d9058202e30e899209a4046806caaa8c2925a4030121049384903e5f9a0b1f240c1e733cbbca7ebf3d4908187b2204040e9b1792e8c4b75016e676b3ea09a9456041870a36a719f432ab5995f3dcd9323791e5bc75543b0cc18d59bfe33f3bc48ac63e0e514c80ee332fbf5dccccf5f48100f74c9bfabcdb5779ca583317740705309abf3fc52d24943720675e628bc26efba91a5ea4f9495cee14ba05a3ce54a234fa8e0f974f00361c606c8ee4aa25a655e826f24262ea572ea8d158df124f8dda18225ab18c2de017a7745f24a802afe048a20d46c015b1d4912fa424008e1a51f54f6d43ad8c85e1dca7a5fa1a0d9b4ac198ddea1e666f77fca42c19bbc99c144167d979da48cc17699570c80b8a2687ab44f90e1b9783eeed314ccdb4394b04d117d7d7e853111febea557d62c3158ba0daa228651c07e4799308311616451caf9c286be069799acebf046d16def68ad4a18aeb9c45961b4f25ec96be889180bee38cb8565120005dfaed146988ca289db7d6b9b935eadd2dc850ca951248726c4ef4e5f35e08009ac7af60db541a98e050baad8d7b80571770226a24d9760cc1d66e545de5165002e245fa86ecda1c712d3b266dc37f32a66aadf83c80864d782141a50e13edffe6beb3b28a7e06e2d35987c0386092ed9e2c81ae0f08dfd5579b7a629f2582e2d301663983be5c634ed0023dcf9b25e04702cad17e89381e898a0c7801b3d606b2f7c280aa9c0c95b407aea1214845a96b6dc24dd9efc38394de9585f81e00c4f8b7e2a440aa24ad48c9d1984333aa3771a7bdd9973ebf1e0154df5fc1fb7005d4d35b206c359ee76d126c9f6794c5475143e2187b6a27f1674e94a957d437630401f5ad1b191e0ebba4fa3b842f8a580846b079b3edca4bfec70cc278bdbd221b46d8d170f6bb05ea074b2c38c65e7f117e0683a6f8f79e9d086edb55c37763c1a4b94c190db08ee9af529811244b3cf1a62165c57311262d940e64b34b3091d8d383a4f3c0a5c694f94a5306332aec591f82f6a49e048878cff6f8a08add20904e353d07c84f3a1be3347a5b5bcba58b41afd07ef2f2f3e7e41c9b1e45763aea64db0f65c9541d3bbb07031d7162803b56f55988196c26e73222d94ec9c68f37bea751158eae770949e6ee336171cc637f37658aa6d3f44424a896a061878c89e0a62ac8e383c4e7f068a9f4b44abe0e9f2cd9d8ba3a5302ff44b127a5f6d57da65e92ba0c3786fc997bf118aa3512b2a7348720fc019ffa2e0e7590290bebdcbefb74525f58fe5b997f582cc3133b3d60a3e9b3f25cdaa30c85d4c0579d91ec3d2dd8dbd8b622132d8ba2f69f0f12ac1c7f833f62be15f260f831474afe367b453bdaa5ba050fa4f23b03dbd4b09bfb30c109cf2dbd76ac8d2e78fda55e02b1a48af91fa54c6fde07ea847473ae1f76716313f246edc81d1abe72d86da128e204f6ad7785064e83b7c58bcef29be2cebc88d461feeeeb808cf5dd26298ffbdac511553749789e5f4dc3518e638e8f45130f59d29bb3daa8e03067512ca4cb21687dd58d76f12e1f0a49aa7d19a0ae3472bcbbb8f94260f648b8cdaed50eff7fc655d95c897e33c3ab5066a7cc42fca06079f346728de46b03e25912b7acb26de724f7c95318c96f8d604f5b9c1cf8da80feb197d768c8dab9c267375a9adff5bbd4bbc6bf1194d26d004bc6a2d7a1d603de485d3d094b583bae157c56f9a9b9e4a47ffb1558cfe63ac38e894172c642d533c22c52c27b7276f3ebd383d38de45548cec6a60b030638ef8877d9cca42d7769bdb234003c8f537475d7ac2340417164ae3eb747f612a74c26fe4dfda9713b456a3aa8165a01025acbd77b5f1c1747e71aab69adacc59b162cc8066c1092db4c88323a7664aea117f3e64ecc5f2d1519b8109b1f85a79ffa3dd17abcd49207d952f537a2b977ef968a4b2626ed37e6240c9bed0410a578ceb23602c1fe159a887ddc4700733961c2abea8bb95194eb3bdaef1c6827c613291df6d1db5308724e0f6ad179392fde8e6e7451fa82f217c12fd3e3801fec474c89cc02f01cf1eef81cceb7ff32c54a100324b10190096be1a74bff6039a6dc5235f78730c61aab6787a9dfd19177045e8cdbfa32c08de23fcc5421501a506b55a463804f958d3f0382d8cb35d8068ab817511089c24c4d06331ec9ef74b052314712ed24d82220b24424e66b5dbd78af180af98b93b27523e4baac4b832d75835d7e0b492c19466a639176a8197e6b89849a54b926313282274a3057726d71e8b96b7c7f72b437fd67ec884179308ac8f2ab11cb6bc2cb9bc93c9a8238f42a5ce962065192121da7971b06371c79151af90fb92420fcf9e194c1748c13484a7fc0836f8b4f3a79789865fa2c78443f1713d2b92d9320fa5e487ee13a59a90d1e1550c8097b745306dd9f4812d24b7bb4836d450702544a372ed555d2114036ece65f969b0ecdc6bcbc0fba77693aeff07ef7e864a07da6464a5e8980add7e076daaf55bfe7e68e9a4f4164818099976b723425e9e247cd908b0db6e7f9426fabe34e99a92310c0e49e76658f9b4705ae30b921e51ab70476f09511407073871eec4e9d5c8cd4c872bde908b6b70e6c00ec4ae297b673087908dc1f97a73d64c6e891847b0f9971a036ff8eb1cf83cf8f1c645b9040a74b40ad59b5a97d26471806df13ed71a536a4fe9797821698e66ceccea669a9a9f3cc6bac3dde87a3f2d28d2fccea6a8ee57f1d5d422a5a18d45d02962535dcb5717d914a170df9a708e7e67997283b4b6f06d8170bca5aedbeccf746d06e9b6a26d70da504c27c85a805889394975e6f876a5c2a6dd095a3c29a52eece98588b788cbe8ebc66313936dbc835af0d08766ff64e5e538b88e7389bcdb86c86ba392c10cc6986e26907b833e75df12a2cf6150f6f1e08d941aece4e38418995cdb06764662f18b0bef0895a9ac05f32e0a20a3d7adbd70de860f6f596e8a1aff35b441ba93e9a69d330582d5a02302249ce7fd344b83cb7e45ba9254c17f1bd0f140d798c8594a5e396bdebc0e9749b75970fa0e59e9a78b070c1f4ba0cbf32cab467928b8c4b2e040b0f86dc790d07158f07a924297661f5f55177fd9578b9a1407c4db31f0d57f561ddf80c30ec236eb1cb33a6caff86841bff0c23227bbd42c5ce0817a5ba4686706a56fdebc7c4c93e3b5fe2891be514d3f89c1af5d9856d1adcee1d55b2419a90e030fa18ce34ab09b2f03628bfb43bd7a18ca86e4b5ced3b8914ed919978573753a9e24104c4f41448a0738e2b371c56b59196e6e16c359c73c155dc25ad5a739701e5e21702c4d05002e800004ac3f630f4c7a6cb0f86ec4d9cd9345eac4017d3d147beea911408779644950c62d776b2e42e2b470cf1c88aa03a9100d6d8f5f87c8ffdda2ccc72c7645dbcb51c68d5592072e063632fc0549929ef8ae8b3b84f6625c8d0a299ae57fe749bf2dee852c7446f498b2861d06bb438ecc48a3cd85312ada7ccda44a8274bdc16a2027de6d2282dfc658411b8182f75672fe6b8b012e830670b8717d3c9ba6ee3ddb4af23f88233d61baf24ebe887e86fc7009299b67f8fae2d702c514a5fb81a2665da4e2a5366f3e84219a399ee4adf3abcf490c3629166d061404cdaa37470b5502a8a9f38fb3542d2e45cd1c24608c271d0973aa3ae21f02f24602d6323023e3d1ffd7c79ec894979fbd936281ee15a7087f266b83b8a87e513e58e369bfb0328566613cfe5b48809c802f438a4beb01855729ec122dd625a6647df06b61cc8be04335f4d99d3a98f3395d4ecf377ad993ff2a6fa80ac2ed3999693176df812fa38c10e218057d427c87939807a1659bfd45119aac8121fd032fa495ea6f937d089017946768fb5b63942327d7e07a6b9895517b6dcebde4487c3c7213e7f56080278df0a11339d3db2b85961b3fe6ad7e90e0a21afcf81d79b68eb7d7f3ce80d54d6b6ad88826650f8bc3ad3a3237e8889c422d56b9cf132777feef5cc3abe63e29771bdfaaab9f47eac62e691ffa37179270364773d5febb5133fa5bf5e6f1a7ca0cdf67de362a8afbd669705d323c4fb2a86b13a0477948ed1f8b72f225352341a19041cd588e5d3674fd85c4b20f8473e7f13a98fdc5eb13449efc474b7e2939e762bba7ad802ca2031c64e5cf43d40fc98652226f5f8a46a0f19a80f66665e3c629aa1e0a38bf50c488a2d4bb38b039758c6229c0220dfee19a6783cb96c5c5d4ccec9f7d97cab7e29b1d733603d28aa5ea77a622615e0241e8aff31e8e24ec9cbce2c9e8df986e0ee29560b592193a4380c8a0737af61f66d3ca34c9a915cce5e12f91fd9ecab8cc055c3892785cf682f2a24dae4e958252a04173c8d4efe857f2aa4df4df1382e9feceeb881989a027a859b3b527a31fc21519d419e1389e06b07f04e83828c4e65860047e4dd48e44cbbfcdbcbce0a41246059967d472ecb7f89a171a6b4d7acea7ba7aef6b07e31d80e80f2f9769e60b62c22237ef4f8baf8d6f0a361a95362fe8d7f0b6b67c1ab09638ae0bed54e804b382b63f515563ce6eff58bfef56f1b2c539066cf2c8f4c4e4f2661af1dda3d045b22335b5bd2a903b67a7c5c41e043f225306ad607134552affc6b4c100055b68be3c4b98b34aef238697aecb9759589f590ab79aefed550d3f40624d3c52fdde458188584a509f2568da15f4cafcf93fc5912635ac0d436b220e87547759d6fec4045144934cbe634737d3fab18a78c6c3149966a5a21fe9fb33dd2f4ca35b894d6c32ed4fd104094e60f6aabbfb48b83e37e03cb56f7bd5651249887ef77a411d2881afa24f1aa237cea2e37393134f3f0b0cce19b8c6b06166921c7a71e26c71c292119d8dbe9dfacd9f88bcce86f7c5e544f964f9fc418e91ba0014ab65d228c3d919871309c4307c618c531540a67df54f2a62dddd2ca802f5b14f5a8320067b5fda9a38f7117c644b5f1bacefe8b78ac28166788369677be0cdc75235247a2e8fe2fbb629e6def4372b4a1f9ac683d6d997aabd95ede661790975806f9e91c3c7e515234daa8e82d6af483135967e70aa3e7c41b73e92366d567f8c459442283c24c9bec7141b05a0117e2b7d7efd27791042e74d7965bdc6c6b8a23bca4e6f3a7a33a919314fcc4cdb207753dc1e844ce4c42f29a678574d834b5bb52784a9119fe7dacda9e366c06646a4fe8f6f9212e09e2d4e2f2d9f441796326ba2ed43441946323d395d347d045650ae07824d40f2e7d5b8afe20350d22e28d43b990dd672d0f8c281c9bfd55e14ddb04d60743ec6b2960ec7fdd0afd00819f44546655f9101d3aa5525a99788f73c6886959850a3bfdd47199ec7e71385a9f05a54347f987fc51f8e1ed24d389b21a48112fb72ffa84239a43a7b4eb66fdd76e32c9938fd6c719a67778fc12be6acba53ab9551fafd16c57dd0e5cf25eb7ec6750ca74bf7322b4b23f15b521e403aaac7bfce5be3a2b88430584cda72ca084b7e24fab6c26b4054fcda151d9118f6da0eead05225f56bed7a1e4766503fef6bcf4b1bd266d80f2c53ba841de4ab72d27c28da7b00415a48754f463de58ad593bf497f6e31f0aa8577a4050f1c5e7a91982b911eaa6ff7e00ebb4b875879348102c894d06a48f46a6e373167ea787d9a2a477a87858825d06143b1d552f9813887855a6cad869d1ec5efe06d3b1d9bd315ee95e6f3b8bae4b7181c38c3ccdee1af7caab684960f03562be301ce82d04d1345e617a4d793f8a3004ce017d01015f25ec224d09bf1397c1b46a67f211fa857f20d19b4907d17b4f35bfc55e63aee8085d2425cea118374a5ef2dc6d7319caf28e460a8a3234a60712dfa082869af7afd0e13a93a4d54dae82b27dc1ac4a41c7cfaa0bc1fc26da0f33c91b05c0e743a002c12271ab7f6023576cf497ddc239bf05a2c039cb838dde0bb2447fcf62041be7cd7237736aed655eb1f5baae8a1a0f9384a77e48d3e9d9863dd5a9a59e8b7ecdeb90d56f2e0aeba3ac74c8e5bf257f0ded9f8799cea0e22b98056641ecb852db6a80fad712012168ceace07515ae7c2a7ade7128de53d3da44a9c568cfce4d7767e1584ef92ac052857d45aa8eeb82a57d1f49df07f65052367f88a0152cc0ea984176c6caa713417d1c2d2a98a30d120642e5716485d68d4dd7e87706d79a0fae85483e7bf56130ca54c8063a18858028a762925dab44772c753ae14f1f25c6d02396dd6c71537a163d48176911d11fd3ddc6fa5b7b12db39ac5f00439080280c60bbcb109cfa33841b56e4c1234daaac766cc0a1ba8c01105f340c48686f3b108abc8aa23a18571f6e65e32ec72677206cd5c340f9eab0473f11eaa5d61069a2b60b4e3b324461444eb78c6c968eece57495857754b7687f136f8ce766d2654bc0534a4f6634ab7c5f5110737db5148301eaf3c11a12396f224b18a1a474cceff1042762933cdf6d2af49cd41dcfbcc19ee57ede4c5877a1428528609c9c7e198f578e3cabbd2ec54d0cef4745c98fe1483223ddef52e6526707563ef6523de2993ee35e085e58886040ae217becebce8c8297ff8112a020924002c11a9e8286d46b299418f16d8e6ab941f4e29d87323e1d9d824d0ddacc7160d6e69378d3561ae1801c943ec83f9df4e62d76faf50cfed3cf3f60c12ec9f3cdeb909b6988fa0589e9f1f03b2d0cce9ea123eb9800a8c1037a12a843c1167eb5258358c370fac3fd52c966be8f41fb8d4a7da9e25b79818f0ee0b148bc0c75465768cd6072f072ed0371f91922858ca6344ff0cfa5d1700b924c7c8fc0609dc87cf8bd60d2216d75fbd9be868ef12f481ab016a00bce3e9c6cabd86352296e08743f53c46c3664cfc2e215086e7cc934d2a4cea06a6276e6dda9679b558f560bf7cf73ac7cc38b8c08371580dfae61937569665fdddaadef9bf529185daf0567eb3c2722884b423b5d6c6b65f7aeb46b2a252509b8c2e9222bf43e0814b4052c8272a75deec07f5a0cb607d7392a3357f6866dbaf79dce278bad90bd9b6a3c6e9fb58274e03cda31493f93365d82d195ea4781d4f08fa925a69fe522327a5d03d151ebe5e58255298fac994e30539e390ec01eb96862bf33e5b40b4d286559998cdad468d911634cb7bb24a62d8852a3c19d032839902a489a23a1d448aa9625f208887b932c14ad44f6adc7b051c6636baf0ffa6db62d5b7d1610fe335e3f887f0cdf54dc97ee3b0c3480ffeea94e6177f4a11fe8cbc655f33d08220809d1bb66360901a3152dc0802da6354462c3cf99c87a63a3487eceb4781ef800a61cd296321c931b7b0cd6f2d56dbc0c3712b1fc8f6bcb0a9c15138ff827a8aacd410f3fafd17a0a943009c5ac1ddf89eb879a0734dfd9f4de77f897cba037e051c858ba4beec6d79ba07afa0d06541e3554464645a3cd76d2baf1d409435d4f6d1a71b303438bc037ae8387e40156e2a6fb43d764c16b97f91da82e649a813f4abbfce4663e97d43ace0a6b8765e5807ffbf946bc931fe4e82806e0689ee20ae88575807527d3b67c51ccce12e9375457c450e9d4f8b7b1a4940a64f7f22f6785278aea3dae73d38f05b3a2dc84a123409e47ac73e51b744d50024963005d524dd3fc9e7559d6982e5a229e5cf6910185c9b0d2a8f9f2b8ee46d4c30a42924d1d59371f222cbb645ec30356d6eadba1eee26e6e21ad9bc75cd6cdd146399282cb79547a839e983d83da3ce3c36d827a01352d798298154ff669e4991fe0df27fa7f25355039d96570c4de2b96a00560631be41ca065e6d8ca5901c14e6385729fa73adfbff89d72190ead2427156f7911e361375774564cb80a2ad3dc4b5bddf145fa26417a996b569368f35a8c2a6e9a323a4b902149434ca4cad1d4a2e80ee12c4f38101f569b2e15515d84cb265c50c2c211313963597744667d4888a7da1c9c53e57a94e109818e661be02b4bcafcdabf4b471b7bf47081bdd84d8587d854df71a012207273cc46c8bb016725c87774c15a4002bac23fbb7377eb177585fbc2c830e73d4ca51340a9157383bfa17af36debe1b435538fbd8003dcd2ff9a6c747fa2843703c9d19a9dc2e4cc0d90f79983b52acc1dbd1a5335fad00f2847b7db1fe681c2889931c7e1ac25b60f7e84b4caec36948d6eade8cdfc12f07a2163dc85ecb8f77b2a2dee3ccbbaf075ee2e9c934c261343130356ac74a773a207816423bca7765c1144a62e91aaf7ffba7d24ec89cf020ce7f8ac8fca4532d1c7bc10e1841b726c1c979c9ef80b808e58122ac9bd20f3b1990ceb0ad21776273ec41e7775efc48a7ef8b1fc10529bf2eedc5c31d4150cb6d2d1b6bfe2f77d7c5b4cb91f42640812544c171b1fe90e9421779bd1ed0a87754cf0e4a5ba373cca96e5177507631d1e357465bcf2e4f71a11de5b4ce5d941f90931470194fba8abb7a1888ce4a5b3169717cb3cdabb845db4f5ff16379ddb0b799eb7027e171ff911f54b7cdf88e63f67c1eac164e478342359037b02a3c6cce3e4b2f3fadaa10311191ab7c88d0dc22f11cd60f67dd5826e085459f1eba51b90f6bb9b21da2c57b8a15304f727eac40231e687d448bef77c1b6a71c42cc7ec4803e945b2cc37cd869aabd98ab6c83722cbf6e94fe248a7ecdaa75aeebe3b090ef5628c2e259e0c7cbc61664a3e1f0da60fe7845c042f42e5d92149c39ec9585e8fc161aef628f9b7bd6bd29d38fac136f7ac62fed06513f5a94605a872c823e11afbd3852cdb5da9b6127b68b8e715741f443c31ee75ecce4e1f198c5a7e3ede11a8a427dac2a696737d6b9b7f416036eead6a1d71f37d5719353c607b6aef708864fcdbb5d7ba2c3d2be5880c69244ef0d3135e19be34ff0ff8f65514ce2d31e204dffc2501d21d5721a1006fd2faef364472edee8c11fb9d67d400c7c932afe9167ceea9b873a7998765b49ce7f26314550929e639f04105a3d94310578c0d4cad70f1c5ed40c1b82a87a2e152ccb5f243dc9f1beeb8077ba3e8958ec8ebc9dcce881efeec3983601203ba23d5be6db6bbad9e1a66236cad1e9cfdfbd4483153034fda673c44bde6073d441fd54a6f1cb9fe9110bee304318f527679fdaad24070c999a3c15fb01108f8252c0ac3d076902058e99f7daf2bb32add6869a2ee3e0e29f623603e737cf5f959867865205c87634c94955b0491d8d25e80567643bc8e560c123a12cb1661490fa945e02492579d9014f2ff3ea0020c88c7f3e267d300409cc801d92d49e3aa5172ca63e5953cd60e80c2b6b4e84d2ebe8b9a90e9c8979820995e67a97f0b443a32e984b0df01887b73787a4790dcc86faf134495ca0a745cbe70f2d7442bddea7da771193d4676171d4f50d470ce549469cd89aec9e85a090516da5c018d97639d73b8746b9cf5006ff4c8b17149ba3a7c4b4050c421669835a368bae2e5304123e95665b6fee2d850cbec8f9b6a4f810790dbcff964809713dc3a323ca518d98e925359ae4698839c7530d2b237af18e1c43587f18c2a5dfb9cf8f3a31fece22f2a7e9d7b04689269394cdb41b741e2560e3f0de934c42b142abe22b0f615a7623c5bff8e0fd82572e7c757433af1d1c456938381602fd0e9268fdea333c994ce66ee960e215bf7b10a4d8c4d64464d7fd42d06325d8c9a9a7fd66fd7b91e2cb73f4840f07b490146596bffbbbade9da1a88299c9296fed2820aced527bf65ed039be6b6edf7adb3898145d8f852bc96ec0f4b2012cd4b60c867a7eb1447886f696e25cc6417909cbbfed641c11e1933f68d2031212d34d331c784cc110532f180182445d02bfeded52d29e6709cfe2fa60f4c349d84a57b8177f18074b9198dedaf6ae336d6ab8d42fb61ee85baa53dacaa299b436fa82a192e3eadb3b54c1f6eb87f900a9ef707fa4eb32617206280bc1d781bb9ecc5e85007a68ef6b102ef7e83ac509eb796898ba122832f80d4f327824b7c515bd7bcb595636930dd7d57f59119748bdf566cad19b9e9a15f97a82b78194d7ca5d1806e8e08490d0384d0a63b5e92b6701a036880fb09ec343dedb3bd96923e4854c3a806d3295f6f1157f30afaeebb7ed393f75a611e532d38a3723e3b47c44d9a0d939fc86fe6e523b06402a99cad1173c4ef1cd836c1cdeaaf73a9c58b8a677c8f3ae7d6b62a35546b53268d242bcfb2d55861fbebc4a800972a4bd80fa51ae814c64e1c5423bdd91b887e201eeb58a83cd852339961e80baebf0c6e8248761cc4d80ec6b9ecc16ea6a5226633288e233bf76c913f3dcc6a04b626e86db1b6659392238c2f6421a5ba24ce1c149f3d88e4d052ce1fc47d79b1719a5ce8504054b85a3cab85ade5fb491d193a0b4ba9070271db8b91da54be4d4d62f5771f8eaff9695d000b3f0b820818119e68a800f18b3c1835f8034162edc296480aa0a7a085b25f36db14ab771569308c786480a0c07844559603eb01e7bbfd6d78221e1122dca7baecf8c1fddb21ff82bf7c63b97d8b0d0a056f728fc89fd07897f38f475694b71a619ba3653a12de332fa4a9b5d9955ff28c4157e1dcc104bc20384331b575e9a5d705cbde355b1e75434a30395a3b37f1691661e6a4cd9af4bf178c9972961f0ad600396e5acad3552b971bedb27c1345a0822d455dc53dee36ac22481231977693d13a3ce5fab47fb2aea50538f7da9471cfb21246cf9d2206801945e2d10d59e58766c70f8e218ba8c83e713f700faf574e5bb5793ca3741e87033da92cb7079cee9fa9c1e107930535bf451bd246dba99a05313c50e2844edb10207aa3f691d41ad9a930d46e45c9d60f7679ba5be99d284bd1fce9bc028fe40303f2eb401af69c7888f0bd7ee4644261afea8113785a8a02690383cfcc5ff03538fd46e27376a58b3bea6cb5aca366f152f852c9f77adf48d0e2f94e1b4de2e4c4a92d532f2689e2fe7de2d650830ba8c23939f0e3672268963d2d13132c3fde86b0dcd95f9808a498694e92136f5060ce7a237139ab35944de808f952bcae56bb59de8e62d4d8926b2923f64b7c7b8bb9d301e3163f6ab96294898c2a527b2aa1fb45a6c9f66833bb795c9d2667a69167f8ff8ae71ffacf793a2cceb9996a4cf7ee0b61f026b431b9617b7e70d9feec6c6e4ca42de0e7d6c6dc0f1ea3d9f7ae187523bd8a9f60b7d3d6627f893cef9a93d02cabdd00fa1ba3afbe379371de4b05190b1a322ec0e528aad53b41d7c4608e924c1ea425693208beb7a161a7752ea3670f9cfb8e09a4531246153ef34845e95e6e327652034e8929bfa6167a8ef6f216233353564c26bac754102ae8b6b1ea3454a64746f9f1337645d7e9aae5ebf0f28e60f07fa59032254f67b604fb415b29d72b4d5014297e7adfade4a78e721c9b5237aeeba1b23ae98657e3747778af427024ca7274cde9d7bc1b509d5371aad9cc7927c9ec71fb090fe5f920dd218f68c1a645fb8c8e274f6b0b10f977a427f4517ba680cba75b1e74662302575a3de123133b6c1cd3d9df0f64ab04c4051f89a14a16fc890231d66154296bd01e73edbe2903eff47a19f259447c266163e6072a6e1ce2fdb6fc1c4f7477d9f8ba9f0a445a71de13665633ffd1d817b5799d65c4dda177724ee5ede46567baf944b51acc111880056ca7750468166bc76c98674e948896f4152fa19c9251e89a4cad39940700a0af6df23a133d4b8cb40591556e298ad74aee89aa2871289fa23aae46ef335c7ea5085d1d35e5f28282c274a075785dffe7878aabb16b85f62b2dfa14c021cd98aeb80aa90b9a9167f4d8d2c4e87c558170e746d2bc37a9b0499e6a069fea8a8d66564ac22b9469742b826289af311bc7e324306b8898c97f934dc4e7a74ad8c4f8a2d8638ac9307aaf378868a3de469d67169785cdfa2b70e39c46d9b4a45b62e30d594ce83c5ec76d65493a32a3cca0962d01780d911e1f6b882c6f440ba2916651d10316eae9ac6bcc58853cac18bb7db8d3ff72ebe943833c0220bdc2f378fc80b04bc3cc146fd7747f74e802e67c74f0c1586b646f429b9c1bf824480cbfe90c07f8dd8e4cdf76e3880c65fedb67c9b4ba99f0e353832b4c01d1d616c64bc78c597c5420c8e64dacac704906d530e19dda01045dec7d7bed3345764e0c7baddcc111eef5b30d981800d99a8a721f74c11d8fdfec4d35b1ed9753c1e0c2d6f8274bf53446b939fb23ab5a6949bdf44b65152ac8b1decf604b83669203780a5ce3a622946d3e3ba3d03425e03a297440414423dcf27b487736dad9f87fc7f20af0b48ec4b8cb947814aaab863d01a832b6eac0cf33d7961edb407038ec5d9940238e0ea81f6b46f2e1e52a28bcec7f3611efba0e77486a6987e7c753d575b0430728159b9bf653e0841fbf75241fd9c9fc5feff66e2c72a82b80846f972f4206c2027ac279b495ba25221b679bd893780714a43d20846996abaa6df2d80d5e580faf1efcebdb24e85b8dc0d2618fea6b93fd0eca87f78c6b81148fbf0a52660eaf41c5c2d7fa7a32e1a5aa9fa3e5875e97b62dbd45a922fe61d8f506f283da9510032263b52962bf5267d16d14d70c67f9e42743c44ba23a15bc6a26a5e31b072b664d722830afe674d5779f41b4b78ef1805d4b4296007e86f3b2b832b999fbe1caeec0e4bce4a94c8eb4b28652bab3e6dcffa53e9d5358e777b81860d477a9d3d8bc03fc4d5e8d8f792383706377255c17d01cfbbd6f83be8f1a9597133e0e2184d2915f88d6cdf9c89615f1d53f93a077f8209cea1603f278d5ab32c9e1495a4af95b7077c88e127d28b114fa456b9b67bca988eafbf72ac1f10dc12b8338751c94b0de0fbc18c8cc04035fc82fa1874b22b124103af11796db6a3a32ac41fbbb49d090589cbeb5607bd28b6169668228679408e21ab19681163b3c3cf20b27fa266bd6511f3432f5c3dff0463622d7a0f69ad31d7e2c650ac1accfddbec6ccd1307fb9955be568498318db6d9ac90ceafd7bf66a524695dfc1be1968d2a0d1ef9e3577f104a154d8869556511a898e605d41516f2dede43445c137774f21dd34c068ec7f3a5ff092edd10607298f314e8f0b7f29c3f4094d9615439cf6a944695a7d4e672987637de4b22bf30ea6ffde1d02c33fefc3889cac16a71bdbbe37de282687a78f10af04549d62e01ea79a3b20a155d61405e99ee6f442364a6a779d322b865ad39ba3b020ef55e55aa833712d0ae9a2979e0e1c36d17a27b24fef3e694c99afb4db99a4cdd196487af2ab81367e44329822fac45997106e351690350607eddda72755e2c8440ba654d026acd067ac9469d51f7fb903b9a51025de016ec530b81825aad6e856669333a45da07a5ef89a898e15b08a1b23e1ede56b7b8f68ada8731895ef0a437bcde8b73dbc3cf9292a19fa1b4754a47a91502e2a82c81671957478f627693937a7ffe632f5f40f776202d2f055b9e8d7ea24305960850cc696462230cd17d8b30fe0c8901ef999f5fb7dee6b14431f5a9249a520089d218e553e312603c02ca23fd6cd5f76fd0aaf42fd61bd1d1e41980f350bfc52e5159bd65eb62fc3b0d85f5d969f2ac207812cbef5c2df031ecfb1201707502e092394c0cfa2ebe8cdb3c35ed46eed8bcb2162aba95a4bd2f61998804b085b1700ee74ddeee29b1a357df3a3799340e4e639f2ea3ee856ec7230ddcb5cdf402a8e3d759ffabd9ad6732f00552ba8171f5624330a0225ef811164b9f6ae2bea5d55c46f0da595c849dd002e9ee728fdddc7d3a92ccbc6424aa8636ece095dfc91a1bbeba30d0e4c1baf5f5a84a4b71e3020415ba0f2a98c1671ec5ffbcbff8f98350208532370badde9d30b5d9c97db80d359f31fadb3d5a3a375204e8b022bfb89481529ad9ce4f64f8cc076cc268c811d9e983b1cd0eb236ae94e49e3490345dd35ecba90cc28ed76580eb6def070c523847096d764c038bcb61b70a08b3177329029658e3c1c441222a7f56827023a3c1c0a2e972f4cc80b04e1418355351e04e6bf4686c0a5455afafc81f7e9e6a696e2ce0201d35c8124f83a4b03a219c94f4fe5308c72e8b24b1bdb80973a5432af717c354ed41f9380cbfd2886203af555afcfb4158049d5ffdab46e2bd732260129514bdf3493b740079b1429c593d8c93ccf19ddc24475ffe29650a6d1bc895837e0e6b20b23f83ab623164856bb446aa413234b7242797985cb9706319a7ef6f6a207d3da011ac1ced5e281dc85767fb8a0af05baf956c6fc78af8d85e037c7571df83bff72c9f927c5d97824bdd5a37c3ff8f015b8dbc18834d0065036f4204b9fd20974d98b98a64debb49d2d91333a64a2d9180f75c1c6d56b64b810972f913e0870386cb190de99475b9dfcdad1444ab9b03149c75a53d5331f0348fa35de3728468f4816b4d1dd549bbe5fd4c616804e2702d3ff363ed83a8a8a2308583aa792db9c93240270427bc68e39feeb06606f2e5519b284cf02a16f9444afe7498a5851a4f6c8739f170a0c2d5d3fb93b898fb385d10f66ec937348216b325a79674b90c1624817b4357cbfd6a9ef4052730c4227b9fc1befe255fb7e52df7cd0dea918ab81854e4db71227f2d27fc1e44847416078d2c96f84b89546df66d7cef4ed4646d77b971864bb3d9816c70b5b2e69ae4b731c3ca401d7b75ee49dce03a768dfd75f702fa07eaa8c2f8e656909fd406396ed5386781b6890951aa728237a9268f5cdcdfa012d4f6b6e136b5d71a0fa845ea6bf1519f8b1de9cb2ce25119159c8e7117bc8d37d3fd2e9b2f66e3631c92f849ca97091527c99f46f96fd6a43befd6ffb29beee6e25e87382b13606922e3eb787576a2b4b53962f8d1a7fb5c24ab10c469f73e915bd3a36e8d90b4c3381d82d70b2d503623f7bbfe7e32ee4b8a6fbd35dfff37cf3ab552203ade624a0ed3c0404d324d9e73f2dba763dbd2c43ac2edf4fe6f194a3d74fa089b6c599a04330b3bf8723e858b90988a9bc44273fd41fb7fb36b760d8d294ac498912e911b3984a9f386983ac5fa0f307f5ec47701a36199b24baf7fe59ec5f106508a6e6dc0d860547f7c0945155f290409a83f6de4511f6ed7cdbe3080fa74e49d416afd5f2d7bc6657d5b9ac52441d24f09e8a7d990cdb27082424ec65e323d932b8e01ce581f23d24a1a2ee10327fb24dd3cad3adb72a423b8cec07b94d82ebb2e2d785ed4fc250aeb9b636b69f65939bab9a5c45d19eb770bb7e9eabe414b6787e2d0eb7b433d98893ea41c728fdff221c23315ef12f36e126ffbf74f519a7d865550e9d19a469317ee914008c95b26776e38773bd90eb05154b05f73bf949e465ccfe017c4d3b0fa0951e607489918f84a60ce675f7589f244c4e2c2ba27532f2a7360583f6a0c5195a02b3fa93141a9f984643d5f8259919d840a4395652529dd1afc8d51d3b8203077ef5731577b129ac6ecd9a81611ec80a93853ec96c41ee5fdcb6ac758c23ff495582d300a500bdb9442f029d56a21fe2330c9efa11f47dd2f71d83d330821b8405d115a4e0443ecd13601636ec9d969f476e4e99cb3f89176c25b9f779486387b2ac6f8d64dad4c5254c81a2fe8b4384025230461687dd86eeae6cb28bcf0b86ff3f8ee4a7aa9dc09585d81da41b99ee79cfab874c0fd91c29047358ee43869b3cb7e829a08f79a4f5790f48300e9fbd9ec21102b37fb7a3dfa9ea56647b503451dac93e967ae62e106ab7c6d87160ca83bc770852ba8c6ff92f396ef3452305cb032e9bfdb1dc62817273cb7c7825de438a34cae2e6d34050d772e909a1c53a01f8d6a506c52d8058151a5c86ab442d19394207e03b3e39bbe3d4d50bf8792b3c4580b6ce02a3ba48f73358a9159934cfc5cfcd5504c0396a59b57ed25dc15af71ca9248c1298afcf1b26085afa8ecdea8a0f56307a97b27dc315dbc8b77e244d1718b4139b54aa2829863ee144849db8bfb40f72c2d7fe29b9823bc2755fb9b77eaca6edd0fa39bde17b0bcf6e59128a3cc3abe1cf50a252f50657dbdd9e551c84e59846d883fd6eaddbca72589bb1a9f8b7d32d6d86fb082c330cf408d68f6a330b11fd75d814d07c5bc23ed8d5287f2ef6923c5095654eb56c2c2814d00059c8f596dbdfd41551fcf70c07537af78b5614243c0bd3b70041038febb01bf363b9838b1bebfa3baaaaadc848ed2b2031be8e6720ae1f546cd39742735d43b5d05a2ce28d3c541c2da198fe9bf1839c56352448706166205d10d9b55f5647a0e7c3499e8b6924de266659dfb3a0e810bd9523484ec25c24372b6920028936dcd32f576f77fab4af0f20de92e7b4df89fc88ba1bcca8edccd174d6cac2d360c90947405f68a2b471c8f0dc6138d3ac5cb763104736507ba4048ec277b8e626e0bb68023f336bea77e2bc185312cb48bb18060d48ef356f2179c28ce0ae4b4a9b8faada6186e30b74fbf39909227524a8022679b649d4f0193fe330835fae8613e1b1449bfb1081074fb380545a3b96f206c99e9797bf7dcaad9130b959e123a2760808b7cff5678b61c6ebc8ffcafde06f2da470cf05ce671f4427997aa1439923a52b1d2561750ca54ff83e226906feaf3b0a4cab2b69e21e1db4e3df6801fe47755126fe403ee7d5efde2879ec97180ed1ba9ac38f759fbe386ba16dcbb2685d8b993be802578c2b8a55c59965401cfeb005a910c30cbaf7b254c5abccd64c76d111d1b7198d6888d8d6ff53f2f03bb51c702444e8d5b1aba4fc96629a26a66575c2e8909880463fbf661da0456265c383896e057e6afdfadc7805e683f0877ba4502d14a0f2089af49763490509667633ce90c60631e5e336255189743409cfc40966f8a4ee78f594bfc09156df792b45bdfc01e34c775c47d356e7de1ec0993f46f6de1d90040407e6a6aec699d93b17e81dd2b69989cc0807242d7da7d7c249cf5c7d55efb6f6dc4a68e30acbd878dbfcb763e8a85a295e42218cc2f094e28001f8cf66a03990f3f670b84f6c0dd5cdfc867cec99601d9417bbf627748d99f02cdd86e6bbdec505c4700cd200717adaa3aaf8ab8e1882b0c4119eabb6c282f2070e78418c38302cab33c151a5c7255b4cc6fc36dcd8250ab2b9b18a6ef2f32564a8db0357e035ba7bfb5eba98c044449e6817e7fdcac566b782c3a19227c42cf50df6b12a885112346df1ff9a2e6cf22b0cd3b483a36c2cc01c41f4b81387a77cfd5a75eb6637595bb5b0c42c4745daceb4c7d7ac21f676b49aadd573561c7df83dc42f282b00f92dd5679b132a70af1115a85a07475cbfd3cdc5a204b33a2e789ebbec20a2df911f49b7852b14068a9a42112293a887e1b8864f808f03a7240f94f26bed003e47a84d6c4fbecec906c261edc570f57a4e74bd1c363f698137f84dc7e02859a4594a6e71c0eba00b215108eb9966707205b7f19d8e9475a807ad1ba431841a26295528de5997a7408e74056784a24e86ccf7de263f97253bd13a822da6f8b19f983f3f232554dc726f2a93c2610741e469269983f047f320f6b094dca2c87df14c8fe9b2634e0deeec67c35cd5c07e91ea8a6224f2342204784a799f135c9bb7dba852549e5c2583b3150bc96d7f8d1b42303620304044abc741b1b5229e6861ae2facf3624ac26471d25239c75faf813a5d83944cfdc405831a4bf58044a8e191418d6ea4d985292f2463e19d40b9848c4c0fb8f5ea358e45848f43267d4b67bf99013409e4d7065b8f25d9aeab24bd0d93351762157a6b112e0b7656f0dddc465c1b13292f280cf2b1cdf72f3a6f89d5fff342a0ee2972e5f6fb578ee70d9324e402696e2f1be7281cf6006b671a43e60210993b669264534225584f4182ee51db2a9b76fa4a66ec1363a2512a9b0b27ce03c16028ade660ca39d7353e881d433ddf2738f4bc6de13ed6756b23846d80b3402575000cdab58000b8a9d1711a8995923bbcf7966248d2a105a2f225091e527052d07816ecb97f11b8de62ae8512a60937954633c0fa4913fa2764048a4dc311147a714eab9a1834a5e2c33260fa00d6ac3b79d62acd8a5cbde1f8f80672eb7d627957d8ec123997dcee329f4a2fd142036c55813cf9d28baa50f6574e6e50aa8e8e4e58ace2d1e3fa2898905e5a4ab374b8299a1bb163516fbf077326247b290d532bc8abc96a8a99a2c8a6362b808439e35818fe97a804ed4a5620a433c3701107ba40e70def69367462aa06ae825112b90db5bb7108e4da55b1f240f1988b174fbb8e1e75bd569d8b87b17d6055cf2fea628eb97e05411f7b8f2bf9825a88b870e3c0e61c070d4264569e9cfff1b2293d77a7dea0c11a8ed3b196751d735343d8ad6b7d35b230bf7ce0eaac7e0035be7671910cfff2796c133b60459622e93dee86aabaabdf0ad496a5947f3be9febf0c0260470a05325732700d899da26c92f4cb59163f45f0750b569375e8289bb53b6fe3c479d6ef08161a18711def15c2a2bc5815c7db640b3b1ff3aa07db9a0ad025a181c8883ecdfa4bc16feff4703cc6df9cf1331d9ccd7ed10b3fa11d7500d992f73e26f1e4c6a6398aff81ccd6c9e05942bcc58dacf1e2f557792892f7b01e84ec7dc5635f70928bcc5f396b5dab587f33cf9890ae9000de159081a0c956a9c1656824b10e0eac3805e0752bbba41defdf0232da292817ea290eff3969f3cf3f33b3ecf9a80dbcbd49695967fc766707888d6c91d5221b192c60f7a854f546e380cc0c47a97c24152df14b31d5ce7f1e6c1c5e569e053f8174d54704fc54d5cf7392a2ebc38b40c6111ae62ab3482c7226b58c01369e7a83eb8ba0c7ec8e156fc0d71e03ffdcfbcda10c583214974969a9a760d76e7e37f2fa99707eb1a18338854ef05a1b8c14293599efc184613fcc1ec6f1db2c335e4860921e8c064a915f77c9633ccc8d7d6a4c2fce910d35c993d1b7dd72183e4f782caeec45cf0eeb29a505179bfccf0679bf6f0ff3006eb139d60a673fda1b3510c88e20052fab94465d8aa045bbf970ebc01d7a050b183d25cab180449aaf57ac23a35eb47f526ca6c0f024a7bb514cec74ba17327516962ff0adf689770a178321d7397eb0603b0f622b234883c5d141cc5e3899d3f8d75518beae2e29ed70910c9f68cf4f186ed36cbcb9b59991163e6f4deb403571313f2abc4ec92ad8a1c7981b5b5b7ebd877fceb86e34ead7b16125dc41be65c77fb1da8242b501ae92490409fc71f97e31e11430408c8fdfdc3fb38c2a7df8100230caa36d2cc546b3441860428a8e284fd400626448ebb837427d131b2558dfb4c04c1e4ebb6704edd4d105138bb2fe1e0d7515eecaf3f89bb4c37abdf2222becd1135c9a432a7b73fa7e33a0fe3b629d8f423492b830ed1d2a72cbd08cd771b3022d148c4c2323d0f37ce78c1d0db55f67af4cf6799a4b202c8d0cbb23cbd0be20fcc58d2dffe95df49596284ace078669004c480885e11f910e51058ff2306ae095c9a587942b998fe96c9ff38c01ca5c25ba6a4b627ec8bd959fbf96ce09a0ac25ddeac40e2821ec8836d2c3203a2437f6557b419c53d708bdbd7f3374a18271f271736095615f33fc1078b0f970104204d0643b1950d5732b6a65f852afd396bd926ec6a34d3823a13540fe3dff4400025b946ba7e41c7ef887de588f0e5521eec4456dcec39867e7850060d0ccf6bb1aa3072b9ea10695b9fcc05fc1e7cf25e8260685d7f171fc75cbc661249c1fcf6ee998bf9fa9a2584711c1d705850d78ea8c2129f29cff5fa0b50b4c5cbd6634d4fbc400505d619d5a61defde02dbacbdcf23c58dd7d56dae5562fb60cd53cc4c2b1b0aea055c0aafa09211936a02adb7c1aa006a0a9396d36e287b16031c31a4b75e7d9eca86a432499e265856f3a631d5b7b374b225a5d6d50dca8a3dbd1d8a83f4836a0b7ac5e5e088a030d69cf1f92a94c6ef9e3cfc64b0465cac33cd0851023de2644b9d650899df4f3705f0f1416b2a85d4ca0bb9c4296c19305b7260ea05ec0156c9d0816d7eb6e4fb341b58d562f81fcba8eb7319e53d53d90e9c6e31456ec10aa6a0979844627e928edab1a61880732159c201472db0cd805bf46976f203e391ffad11aa4058c3075ff6ed538c32762d5584948d212628ffc482bca86a5fd9baa4af3407f0ed315d07c496322d77cf692642e503217206d6660b72638ef4849081ad054aea38089e65a78703b07d2ea100aef854bee693a6e3a0b29df4787bf0175ad65b4c46d395971e8348ebbb407202d859e255be0478220fb8a142376e9e05b02f6c1465ad6f4e9495c23213f598e3a5e0d3e8d9b13d87494503ffcf228ffc798dc0ec0b96948fc4abc4a1522442b3325224904ec6d08720e718c03e1e3f91e5c0fd27cd984346729d8215026f58aa776bcdf76e7616661799f52598bc0cd8e45423bae5c2d7a73359d570123727e169a9a19c616da979228daab6a47a03f20d40c3d3cfeff25ae39d18a473cd50be27bea41ab7a5df65428ad04a7354b2a053e74426689e9c8c91b1002eef34dc8bc01ac86fc337879584ae4ccf3ba249635db9c30ab1d255efc75cee17f8db9238b6eba860053306daa3bd653154e8c86d336c0124d6b6bdf0d7dd2e9618ed7f38528b0c6caf1f07f11979642a6519e48aef3ea95109eb4e5431a4385f351f9eb2a59e214d88b630b14419ebdb89c008c003c0f4e0da05868ff9f7f41a9c27c8948e3740cc93de16c4de7fb22c6a078469e4bfdc7a4db687b396ecb3d59f1b42c8a7167ff30f4d7fa627f4580961da0c387974b7fb6e22a63d5c05fbe892e30a20f0c0b47107740fbeb369f8c7cdc0855b40b20edc7c9d4cc3957ed9e51cd4a7b2033f78af301cfbfa504caed9f74805e0d5c3733c58e8bb8a9bafcc1328e67904482eb6ab1b678d0fee01aec63ba26c795f655a4368cbd27864a60653c1382fcd7391a92f2830be5d70f26be8140909a5149c6f48debedeb2d02a0162d42d3081b98cff40a78b10163bfe331dc95de79beaf810f62d025982ad35f59f2cea0746df48217f213d85a720d388d75a97bd0e2ce0175b8c34fcde8c97722835f166e8a43d6332ba72a33fdafb093c128ee4f9cca6eae76d1debe403e4964f07fc97ebb792859733ae0b8eb850db1706867dd4e7b45bde00fec0c8e28c2a4480b963e194531b52a738cf34518ed4b916b1c2da86501e77d4c887ef36887e59c85e24058c825ccba40a2865775cc861f7bd17148220ef868023832c44b477c8f5679613135bb2e2a7ccfc7192670735620fd54024e5a12368549643da7d43b95e806a4233724dff56c58042f1418990a68a48f705601a019cb5684bfd5a802063be2aaf06c2168225039a37b39462f57acbc8d66759ddeef78826f783f7c4f6551fb39cb315fb6aef91bb0b14ebbf0a28e118e0e70f762dd0fea8714e4446f75339e6ff1595cd56202e7d7cf9cf1207d94d357336e45037b37080b1ab781e43c15d8442878d8268f82be30645c50427bc3d24ce6f10981dca00565c3cb7bb363d7b8265bcb85dc2a73f010c798f2ddd4d19c0f02295a53909760135df6eb1b6a6874da1cd34bd17eb1e17fbc95509bcb9b6e5251e2ffbe4c2e3dd01e91ddb08866ecb8f22346e81ba6a6fbf09141a61053fafe5f7c83827fa0e0bf9a276de9839e5dd8b457ec0cf84ecb21f53df5ba4b772aa40c7c12d5011e5bdf3e508c2c4d5e334bb509d2e6c817049666335e2473e4aa51f185d50bad2bf294cd3d0eda23f87560872114557ec7ca558b152a0353b8a8cf9608f2bf3e7c4b09406ce756bae466f00562565ade22425e03b441930cb1fb0aee9c4ff60c036499e4499b1852a9f7edcd39f89edb84a22c53f11240f5e3a046de329923b7385d458bc24c623be1e86b44bc2a02476d2d2fe4735681a660c45ce065a461ea0d4c04c79635c3d7d524689c2cb999dca1698a60142a563d43e3461e7ae77bda6ec01652cc99fa94571079cbd01a792f7690554e3b2bb56c004083d0fc8990f82396e709fea1f7b6921ee629c54bac2b7788867e604f548ccfcc6c6394cf1abb2f44b1fbb1a72301627e5af59cdefa5fc38c425069a0c0c8ad216a74f2a8ac47f96973d9e366f2c8be85374cdb957b1551241a5e24a839613f3cc60e45eaf0e26b22d46710e43cb1e0f1a061faddabfaf0d9dabdc9cf0af70f4e31a32b0326b903a671fe7ca216a5cc15ac4fdaac9c4c7385ce51ae3cdb0f735ac5b3fafd7d12e262a28dea85365e7e1d81e15fb7877916504657a427b3834dc5abd3463f3e356cbd454be5b528aadf5c34d4b914d4ad26c335f1ede768153fa2bc5e9664071a484c292e15b1bcc3fc639477ef06c3253c95fc053ed0b5c531daaeeace9c20fb1ed6f9c59256f0e00d519b78af3018938fa886bd76f9c27029378675c92baf5e07b7db390f0d5dd7a7994eb16b05310c61242487e60ce218e659229097cd42b4f7342d1b08758613765799bcf8d6f03ace53ebb7825aeba848f33107dec61bbcabd82b129f8c452ce9238b8bdfb8213fbe711ba2c1cf733fbff3cf7e7d98ffa369e647b7800b4e3e6b9b66193b937045529916f75b0786bd0d38169b98073885c4c373483aadc2924d8cf82c8bc9ff90cb9a97a22c723263053b2b6da605a2132ef0ec640f081442e07c358ab313fec2000d5e95acb19808b6036f1211eeac158fa709ad55639a7cfdd575f21e7019f5d6228cdbf1dd78702d0323820b7dd48c1fa86c244840ab7f8f92dbb4bc5b718fc9fd13dacc83b4756fb79877550623505f35ad3275c77b86eaee1cc68aff5a8ee5ac2bcaed9d4c41d89d41e320835c7a84b5203d0c9b684dfb65184dcf22884d439977cf23e962bc4d50df91ea5101a886d4a191fbe267edddf891e3cdd2805cccd6ce539bbc6f82a6a14daac01d6ab27cb7984c4042ddbf43f179052ad50c962e7918dab3cced61e57c6cb5c97845eea640c6696706a0a7a2e20f8f9d6abd0cad590e99787285715db8c8107329a875606ea8c54f51064e6eb369bf9ee5b103881b57ae45d0ebde31aafdf9320f28ebe429b7198bcac6e99dc679e36172744c586b637cc6bf95ee5e05db2acd335e293146c8b2dd5a793f4cb6ea844beaaea6b517cc6ace06f583f22198683c6e97ca3080f494a96407db789126e2be30ebf7ae3520d9b601a693285091c9a386be687a022a24653b2baf9dfa6c31846787c2b8a88a1854cac07d898936010dd4fe0d3000f4d97942c8ddf5be03f825f3c31f26c1cd57c2dc294676ca2003b19e053effb42336e5003a427e41e35939d97ceeb8697e68cd5a26af67f1bb23c68c93e28969b438ecb6a5a9553f2b1da091ef2be06b87ea7a228720e188157fba081feeae3e0b7a2503d699b0203f19583667ad5316b30c4bfdf693daa6952a91e947b353bb40c59ce2b0c1748ae058536ac2f9a65db686efd44e264c7efaba930547735770a77aecbdb0e70280a3b7ebd746c100abe1f3793d2d0c1a7b0f92c95da003d2dc3f0606b696c2b5897688cf98ea5668949761ddb1b432e58c64aa8a890f90d957b899d51af9bef6e38f626149ed83fe8e3cb6951152b84a339ccf01c97c8496e4e4171f2fa31487bd9ee0e793ec27ae22b155f1da59bf26c104af35e00b3163dc534f6e942d7c12a27e57396df5ee118b0dd8f134e1afd102a7b552ba4dc3f7e44568e72d4b3ca15457dbb344e71ea7c9aeae29935a5e0f8101a7b2c2341ac55bd424b7d55215099c623e673758bf475cacf18fbfa6942af77827c44b7425ebcfb7686851e9bce717c639e135b65ca43dd69b766075361c67fa3714d46edab3778c49a841468ad225b233ed936b3696a5fa3dc58c48fc6d68b71bc807af8e43bd85f78cfa956d00d2145f9f369d53da7114ba96dacc40e5ff8097f45f10a7ba3e4a20d6472465d380df3ae79d7d20336d31b6d20cd0a5250855f9b528a24bc8633da1a7cf636ac2e9cad7c9fd6e7b2e55d0ea28ba7cebc91702ce05a20657319e510ce0defe0edc44a2f2519b9dada35cc531a66d33d8915032dcff0f96f0d755817eaed49b216b9bee32958880badcc39ec3c9b74b1a89de7a411600f4edb80d9891f48766e9d67856b0c8d4b197108266194751534de7edce0de3e387f6f44960852c11fc8fd462ce30492e96edd896219b4229d2cbf8dfedac719e6bdb52e56d57b0d2506f79fe73b11530ae675baf2b7dac909093f66f11967c2c1881393ea5d6f3d6ff73298aa80c29503e4cde5b73d61b9024f2859041743b9f571b4e0b02ea79c120d739abd9b69e3b4cea507df41e12f6bc43824b65112e36007d4d288009fd82e175c091fa2f87594b5d2bd07694a29fded4b998076857a5cb7e50ad978bb992cb7631449dd365f76ef2992126873b37fd3baac230d5cdf0f8388b7d948bdf362ff2176e14c6222be12625f8fe421fa1a351b808cacc0046780e6a76fa7d2fc6bff724143511783f67c336dba9bb5f7d0fcf880b6778237c186c7e6a2f2d513c245d068a3ae497ffc1236becaf509c953bc01805f6163b9fad409b712146d6942035cd6fc040082ec655d69f57744d163a6a188a9731873c3cbfc2d9dc37916d75350c48ff84c0b05e1c13e44fd6e29754caa484b4c133b9391fac4c034ee4db0a1384986bb834e53d39b0b0416de78e7d83d0574d895e5d169e38b06cc49a9c527828d1789ba46a75c56f52eaa9741bd58c6e9cf089b263721eafb160123d54be1156581dcdd803242b37f658c4805c682a521366b11583708fd1df3dbd1f0595e4e63b0acc7991918779fd8736d75cbfacd3e26973814adb0f043c5aecf043e19c7c2e0cba25f5924b38ac099c66acc758ae8bf51cbbccb9c22a76dea1a4358d9aa3c0f749a340332efac9a66b0a9f682fe8a27442a4bfbb4cbb5d9cf16d3f6fe9cdf81b57b5fc121199889a71ca5e3e3b996fb28fbbc5c192a7310a83e023a5f74fc306eabd726d07152f3282438a185487126eafb73368668967d799ed6643bd37e89475cdae789c27cd20cb79aa8975813a4f1c8239f541c7f4f2494145d5bac4bdc75576260f683e1cfd5c6b4e6eb5c00647416cf970053d5fa6aa1be31d89a84e6762b1625726f5725c027d1ea9283d9ee3b9ecb17dcab456e422ac38687cc9ba876b1570915152b50dd9149c262be52a943cf8a91ed693b8d8d0d87275eb6f87a285d467258f19a0588b0e7f1af6b5df007c8f7938fed5c8742124e704846d6270145fe94c3e6fef54c01bd5dcf72dfc773053f1c0dd85df62aa536ef1614d4cf2a19e2967a799d71c53c91f55131e3806f88297bbe9c217f0fb75f08d02e4e9267bfcc62576f3239e4569ec8b58606629b13631031927474cc03ea84884ba0bc4cf3f4fecb77e215a033377f9f019474a22cf022b39e0e326bfbf1ce6296310600dfbe3730f47ef123fd9bd37a00e605664e14124f3b2851558220ee8b37f0b4635e2033836bb7ca024bb25a16109aea5e442d8caab5ed0e5ca712076b942262fcaa8705f082373d9144ec85f9b6ee3b038c363a287699df0b94af8b204ac07f977fb316a6b527229a10f22f6fd679660ef233c7b0801a5960b63ab55c453123b2649fcce2303b9b6de672b6285c2f9475877b36587f3f3f74783ac71ed4b609cbda629acb3bb72424cf326b6c0ba631a8c8c44f7514e40a03e6bb4b050dd83d2712c84aaca75467397e5e0dc03ace09bbb954ffaac82fe17b4484542a4e500ff796613f02f82cfa1779fe170ae4517ef0a970236abe7b5d4aa1b72a5a19d7235bd3667ada919c8d69800a4df89935eb91d447fb71b743561c0e0ad56663fbb4f53f7c68e2070db5c2f3b060363b8935f2ff67c2d2b4c33509f63342ac97e90f0047b619f0e119f60485e7be0cd502a0542c4b749af79f53123d00f1a884f78c5d60127f5a3b5a8217b914fddd12a890582f26f63ae7721319815d193812b6e8e15933985a27be16fadd9624e6044c8a8fe5f9ff2ffe5d1ce798ccb5116ea7c17aa7858fdff2a1daa0d2940431ad478975f4f241f429356dd3ec988789420bae951c87aad2719aedc764275e2aa80cf3b4fb61d0e553d5bc2a841134905b6285485bb4aca52cb1a546e0bda141cba52ffb25affa0eb2958bd551d3c9a1534210717ad787844ef45791694c3ff31b5aa0ade25bb5535facdf9aa5b2b1b1a9badd981ead6f72659f9d39f90a9fbd04c1e641cf6af7fd1bcdb0cf46b78d327e0ada6f46fa44872b65c797e346dfbe7d3bc68365a00a6459a1e94ecb26c71de25c61283cf51dc23f257c3770e218f34b5356b82f18c5ffe95bcdb3eeeaa8e9e4cad20f5e2dce2f38f8dca6e5a32069a00cbd47feef9f77e16f2467f97ba5764e408d32d2764a3d375bd0e804b377811fdecdadac8950f2834f5dcea162ca802bd82bda6ce490f86f4ea2228ed607a3445aa937c371ba3b83cc08dec74a6c22e5b2b285b2b7a8a7bb09452e0199f5ca694d49239ce780048e1c97f1b53c6de089329e6c1789226d9c0b5d51d2b9ca80db10e1be583e6ada8742b06b0abdd8e739223771c60a791e65c689181a69b9ab43635a04d03c74dfb5d97736c3d5595b1c1cd2efc915df06484c522fcce10b9e3b500d42d02b6e733a5d46589be43ac7172c5027f8e388360f8dfd2bf18e1755b1fecb4f77cb31408d09cf50c10b54734223aef5184e33cd89030239c8b5df5146d40c77721ba10c74b7a14e9e6d53f0dfbb21899d0754a023d731f69d3885b8737362c778fd93914707cee1a6725e14a78ed6b054ea57cee3060d6ba2506dcca9246078a73e51b234ba4d7096d7db0727530e654cceeda48393530fce7b5ba870c280dce9a8fce05ca6876722eed07cd61f7065cdc47e07f433a260b9ba5e262dc5d40eb2ae7d587dd1f3c4248f8e9ba464e7c97d0a025156a91630bf1ced70b15a877387611b0392617931122c541e00203567e40ba9c9b0e6c133a928ec2f0d0b5c2eabf28681f5deeff26557dfb0fe67a749d38d56d0f0331c9dfb692a4d69a5436f3aadbf2ffa16a00bd117f7e75789eaa16ae0d2de13e6bf14a1e6d8c540d10c6537413a1db9cf8ee8af95f6412c54011bffc251f1d7149b7d4630323e5c89387bb106fed1d0ec1a149fa9bf9dd27fdfa4f4764ea3c30b314609381037fc00f115f78cc6eaf027c0e35ceb93f580ab7f9fd277c34b0cd129a5b267970d17d67a7e1e6dec9257770c4bbe326b882daa5b35e7ebe6ab76217118af84a78dbd94d71f4336811621143dd175d4ff501f6e7ed4727a53ed98e3679875be2141fe43cefa951ea9aafbb94e1e868e0cbc25add377084904403a1e7a314d0458a68d16699b9f8853a493bbf6d274416874acf106706a0c2449a60e4082506ebbcf9b9130818fa49292b4b6deb508ca799e8ad623183129e6f0ad67b16ef610c0b5aeff095a7eebe9f97289f9bd8bd5f8508c88c8338eb9cdfeef570bd3baad2d5e028c84348fc917ca79fdb1dc824bca0b80ec399f59166b17841213d6d7245de6b622106d0358179a7369e82126e8ba5befac3d21120bb3828fa64086963f6bb8495c855063ea3ef0867dfe44afc7510714afd03999207e76ab5df36336e8fd3b69dc40b6283e08e4d03ba7244021dafa66ed4a2a4b85430ccaec2ef3176347353fdb44ae62f15be575d5decbdc8410628eec888e9b0a35b2747e28826a3e08b2b6e5cb63e6fd2db71efd166d44907941df27daae969490596fa669ad6253159bfb9de75e2b410953b7cf3b3aa3998eaf239af04ca1e84b67b0ab3229ca768a9461177a531591d4908186ff0c1d14d24832d30c5266b5beaf79543be21044addbbc7851af0a45fef82ccae5d6636d9dfd905b8371ba9a91d43a8062c5426802a1085db23647fd5f78c5acf7fb4d07aa9368d882b0b2e08cce0b2d2ba99c616d0fcda46a354e9419f1b91a72eade4b0cf4ac1e2f2e0b9d801c0a27be18a52559e09c154d02f5f1eec880eb42ccf926d89c4b0491334cb7a9b02c429ac5685b4b163ae407b9a41cadfd2ccc48829b0abc7163991b0c915f3e476e3cd1a456992fd129f86de30098dc7237bc023d655f4a7d12abfbd82bc8bd3a77510ce1cda4a6fa0c6f0efa40b349de80eea209d7c4c636fdecf9eba9486c61461426c7836cd01cd0e282324238856593acd84ccd09c993850fcc031b5c8b8d4c3c740aa2d9bef02e328da03c9b52af2d4617bbc913f28942efa96f0f018cc4a8996b5d37cba3565fe9037a015720534f9392c9c0380449d29ce09b98010b19b8f2767ebdb00b912262bd5608e1eb021036ae964de8f7212368e95e0eb0dd0e821caf5c7c36358d9670393b395d208be06f49986930b9cd96c384646b61673d7238ff96d87dfb520c59004382e3ae605c06d82095a6a244326faa6eab77aa6c092c43b645354f4001033b25e5d9a1adfa08c0b578aac2d8f6fe71381c59b400efe101220670f1d618241b30796723d7388bf8e4c92ce82a841ddb42c37fff9a60a81572b174175dbbdcd778e436b9f5aa505244adabdc23ae37a362b78b091a7d501ba6d3a16308a785836ed3e095f1bf53b295efda636ce3f571e9d335a3c2273c937207cd8746b739cae9b4cf2f44960da9f65457fccaae516d2e8e7c6c701a3ea4108544aee0327eeb0c9fb421236ff3cd094ee4aaf1c5325777139179ea90228af8141d514c289097fb4165eb33449c7bd9729f5751fa7e5e6132c6a1a9c8b4d111d61788b6ed6df91e6f1895aa4fd6f68303e63df3018ae94c33bbd69f081bd2d4056385ef1791338333acb26d4f4558da8382f05d2e20ce9131471cd4acc228e8c1d225a7449698c20fbfcaabba345276c6fd02f61d080e44563ec37575687380fa687a8975511503839a3d6fc6413324d27c933f044d1b2999967f13c06935ad05fc11fa8d4080e1d82687f74620510b449d51474e2423c4d0d1a5a8866d1b54b66339eb1c302538e27a88ecf6b7f7c6a003fab5f74ed13d09a6921ecbb161bbd0e41dfba13e592a429d865ac831e5c9c1273bb1d10530c3284b229b78d3662b5a7a54d1deb11ed732ccfed9bb79d82a04e447066881855a808d1a04cea79b2d926dd007fde38ca21527c4f9b27bcce93a3f9d73956752f22841f03c1ce28266fe5de3e656c9807ad6476e1f7f21d79a4a2f2b30bbffbda151254099339788035f2ff6bb9cba01969deff44b9c9bed4aa533d02dfb5bcbea86f432844f3f0bbe780a0894524d25a2b35ca0b546fe84d812fbd8711e0300ec8cf20b36af273b843a2880748edad0d3bf60df1cb085554b5ae998c70bce53d29c7d5fdd59b19c0f32d9253edba87e0f364f9fc9c50e3a6a7092b9489c9bd1c69bc6d7a7ecdb48d0f5a6fe0f81f83d67e918a47dd97438cfa940db4e0b8df6ddfc7994164d6ce6fa84783ede5e67283c30ebefee97d675885f197d1b0facfed88f7793a3f6674c7861e844984885659acfcf86014db6f04749362f695bef4aa0857736c0d61dfb00c6c58428952aa3b3ddeb1349bf09956cd890eb856e29b38d70eeb8d1e6fb1c62312dda8baf9c20fb9c266d77198fc584d6d15a08b70703847c85fd11d1167bd909d8575cc096fb25d2abf6c0d6d59c7ae6a1cf8eb2d6c082e511f7ba8abd8dc50dd1c7168fa0a6e08710034caeccba8e920627dbb12fed01902b5ba48c8993b7b4187baad0bd0207cac55dbd0f0d3b5cc44356e79790c0f0da9bed8910ae49ebc04c13a2616bf236c27b474cbf364f9c80b4c12a3e908693c7be83f23004f36f1e55e880e0aff727d0c1da4e4f1c6b4f10643b4fa5ec4c2e2b6a25023ed23b0f3753c5a7afa12387d802829c0c95684917f0b35691531c15ea34d9e7c972e62e6bcf93d12f9c0de4a3763750a452be48dfbba104e004a879f68c1791073063933cd70576c6fd17c1f281f6afb77fb6ebbba9f7c92be68b9b48f3a7c7275457c3ffe6edeed1a4f03e7ff3fb74bca671e7c995b7f35ef0ee84f8d2789ff32dca88889d1f8dd7c3848c95b6b3bf67ebf6a862964f3044e2b9cdcc0bedc4ee9cc66e6572740e6adcd1b1c6d6616fa44f2ccde0697bd71fc62590bba93b00d26cb26437b3eaf7cb27d01f83f668d675d7242b8a35e4438a22d0f11a204d07476e12ad90cb9c808ec3ecda4fe8645155d2b051efd9f8d450e017b718ff3b2db42c49003cfa662233abfde70c5e9f2e6ed2775615c7410d89c35dc80c4b8f59b2fb40fa83b1ab2ba8282e50cdf8641072fae9c2f8a744014ef708a6c9e48b8418971f457294fa5c4a6fa129a6289173961148f76ea0f6f402ba498572e0197c4183c0853853e368f0246eb1ce1444fc5c1a4fe62121f773b3ea5b4aee2f10006581c811372ed0d409e86ebec1feee1679855c262f15af9e64c66fcf2748d5952e61191c01dafd6f3b3a7b9d2b6f4d5ce5a475949ccd88a83d245862e414b1cc717964c9b7a0f2a7a8cfdc2c4e05c52aa4b863657a171c3551de686367880e041818eec9b64bb20907af6b95c7b9f47ab9ee251bbbe4543b0cbb36b687707619ad78fd73c1af74b77ab188c44a754214b62f163b3f3592dfa2c9512008f5d615a8d925cfc2880c2c44d9723bbdfa7f6b5a49cd675de17d3c487d3dead0291080812bc5fd23b6e04219fd95ecfe2340d539461d39edfd78211f1c4468b422327c98cbeb273f8faea54f806ebf23e08247df065b9b3da451713ac98a2c9442a1e4855666032133eb7d48f0f885e5049c53d96291b0238d61c07cbf5ac90625bbd1b3561cde93b0066b45fbf4bbb48301128332f4765164da9aecde351e64f4fea6bd9b8d549ae14d65e9d4cb7dc2f8bc68c4380371d111dfd4e989113a34e4331012482a4b6f5042790b546a8db6e9d8d24fed372c936f28b9f359a8e306f1d9c4c4474e56c14446e1415254c282c9cea7b903a2f8a4bcda700057b33bb7e01ac254b6cc2fc25418f207159d5df23e595735167ca50dc83ef5460d6199a35938c51c4840a13279181f0213c2cae5e254cb9a060f0bcc0e25162bbd8677c5ebb5b14deb826cf13a50e18f111da4b8ba96372b837fab6763b259ee809e76907ce1667eab3f2416e4003b571b8cc53bd549072dceccfc5872df1f06887e41182dac0a1b9d0264ab1859e5f584e4964bc25938b8545cf970f05ea64e75ac578f7f28e7d9d561fc53686511cb0af6a92fd9ada366206c25c3834cff2eb8e6153038a6bdbb12945ef6d303db3c9d052607af5ba08431cdd1197fd0b7ee1312df7fa77a6b58ff6b293371477bc058f770f4c4c94e951c2b8b341c68c68dd2a9457c57764e5f0d40f502eb967976b526f4ff35c7342cfabf5652af1e675febd2e7b250f896544f9c5e8c0e274027b627506dfc6b4e4f2de3ea0d8dea7c0aaf5bf842b28c0aca642c13c7fd9662d094e1b5199dc3043a625b55c58e64d958de4ab998bb4370989339a910a043d9b2841cd4b7fb9f24bd04da4cffabd27d2d873bd45d4ce6a1d68d96c40206e21254975aa66e2e38c1ea4a743017974ab14129865356227d53f2cc0619c17e57e6d65cd4ce7e414fc1063e8c0a9d29c2a6a92b7d9731333124fa7445a3b45852abb547a4de58183bd4919e056e2a8e9d50453f120fffe6e50012a21fcdda8b578e15a37f3930653118b7bc72d43f5f52b9bd04ab1d31bd64afedeb9e0889a830d3f80f2b90499f2d885fb79bedb3ffbfc02d6c7b0860092b104d6882e6ec706a8c9283fc1ed8553a235fd2bb94249cf60dab80fcfb35cd84148ab62f21a9ac9daeee03ec2f21c97485b626937b6ea929dd9c2023ad13774b81fdcca46efd20b9dc3352db180aac449105d97861be6203cbf4354d546bf12a9f4f88410ab2b9679d756767dc6fb4a020b2caa0521138a9ff89f429414067c76717c9a2d2d157cbcb6f45c1dd6ae920cf38d2f19a10930f246f8e3f27dbc31ef202a760ce1df302d4951550713a9f92794308502ee37864a5ac389cf9e003e88f0e5251ae308e182b5e3663315ecc4f9ddef8bb1f2ecd1783733ab3a5cc3e512766ed0c5fe5db1b82f09dd84365aa23967a8913a8d766b39f416399aff774ce0f263cfc2554ba44f6f3165a569faa07a5dc99b8c6d7c527d245dd281655665d4453f52e0b937eeedffbfd7834ab57e5208c3d33b001353f9c0171fb1ab65e630643c826a8262d50444567f95c895eb2369edea667c083ba0c1782e6b7bcec73f4e36cf082396f03fa6d985a76de3b9b2e437f6a4c102955afd92b837cc99a5071fcd7be5c2ec4b2ee25c4739cb682be3e501e997c002129483525e4d87f1704e8bbeae5a812b0436a958293c8d147c5be8041abb92325276cc29b5ff8d0abf631f13bee116243388e974c224f3478458f55a9ba367e94b91fcd21f318b459fd27b0bf059f364bdeb8678fef71bedfc86c0ba1e8aec3aecd646d5cec5a03e8714eba394b61e6482366862cbaac0000ce940a58c6f4ce13eb63c4976c915f64961812dfcf31ec995fa7eaaa55f54a7f886aa8ebd396585f4f6a3bb7436ec1a1c092370f841de070985a7fee9bbd54dd36ac40f810dbc2cf0b5dcdad077ae4d19ea17066a68e8210bbe9a5a6198e077a61dda515efde715645bf0687b64a367a067867c2d0e5abe463d044f6741923f155552e45b2b28b1582edcd4470b1219e221f818437fc61c3fc067d48c781fc2a9b34ab467a182da1c1b79ea4e73652720381b68c39ae0015feb20276996e246028db2b962bd842eed4de8e279786214bba7fcbd0c1314884a7a160638bffbe5912da9e832ed7d6f760d80528d65d84e9679eb4808fbee00840110232ac6fe36496a6b74d928eb04f3ad4e40aa444c8d19ea27c790937ea0f6b8e308096f739f0170e9858d0464366232ca570f480f67102adb830e1ac9314448dc73c6a239accc1d932dd32340ffae21011f69001e9e3878b10e46f724b6ae6e8ef40744ceb4554610a27b4b428aece3b4bbe233156450b8d98c2484a6b915085eb562b84d781db7895b86107677bb291e04ee3da4b8e853ec6904a2f9b48e379ebe7560171592be8eace728a1d58ffb2e7da0773014e45aac69f3956bd81457fd0766658a5ba8ed1a21a83677f7a2433439f6aa6972a1c3695d02c6da90d538237ea1ddf80c64ec5deb2b6562dbb4780aabb0bac3d76600f98e9d305f07df9db9b85703f3543964f2166a3edb9cbc942b4f6d441deecca46484fe3b75a92f1efa5073304146285d538282d4bac4aad2ab24981fd92ed5535cbf4933a984661f7cdcea4b75ae83122fa58ebdad29b7106c784253d974fe9397ae1c1004df82af6483d5bb8080a9f00a50cf2b52fb9ee0b714ead3703d67ab449e616256d933cac37af12f5f8cb1c8499925c2c8514bc661614bde85bad83879926d3399de685f9aaf6ad7ba1fccc6be512e20de6c1e46b693827e773a9ea9a4b9cc53af474a9cd8d0b6d325c1460677e274a57b92669a3226bc6f553e789cbd201d0192b87be1be59ceb0acddb040a13ea342014d2376b8204c46ffa1edc563e575997a9be56cca7b09c663559a8a6d0c192b0fa49ecfd0b5be5a1846f45d25433092bd2710dac2eb76fd06e96f0cfbb2ebc6e9628ab66d9c0c8d0f61ea590119ec7bafa930952c5afd0d2a0daffef88defee50a2e93d9b24ee7dbfd09fbac655a342bff4708ee1b36ba8d677c6e6c62097d2fcda00b192cd2edba21322b94583de2c1a5657f3bf91fd7eb37f199e9c9a29a10b9f7ef3e153adf58f7224612aeb5d1dda2d182b9927e5ebffc72dfb237e8805586d7307ac67892021596d644f8fff068d0ded7ebb489e746cd02f045bfd739e361d75d372ce1a4d00d39002e4d9deba709d289235906a6319c185fcb33d0be65612a56c960768e34deeb3d0072265103d4e5af4b343397f153e1a64f3855b319515199060e259a2b75cd37119788263301a971b1ac9b4822bed0953d9908fedf5a02398fa0a28c78225e0417a304233d554774bf6975b460cbfd1b4f21aa7ad316d36e19879bd3caff1f94bac2d0d2f802758269041d077527fb57c2a4e70afaa191969ac6985210c566d0b08b08f81462679e4b3d9c67117245eb07e40ec37f2f9bf425703f527d5d9d58053d31415db3ad491c298d7ef24d05a654d92ddc83f8550e851c0b49ba1739f838a9a8c86186d30e4c00d7f8c6195ff1b1c255a1c7d1b0c3ed6379918683ef0882559cac03509e970a52e65c2eb182e70ebe0345f3b4e156bfa86fa6a7372db9f023924a71e30672d8e7d9e08a945f12c8db6856bc3848e70be31d07f4fa88794a8cbd79a02eccbf0824187d668be9e9dcb74e005c2b15b3e94efc532e475fc03c83037c7dd486cb931c4aa038004a65d2e4a8114dfbe02320dd21ef795a225e75238662e98050b82f10271fbfbbe62243f562dd3bb8203ddc1c9c170ce234cf897b2a38466c67152431599e0cd571c80e901f8be4b2618d319530aeba9cd2b8671e782d42ab29fab9cdcaa70e1f4ecac462bc7902ed22a589be3627b56dc958a2606f118d573d19a6c6d80eda191f047d2330ec1f5db7388acd650f6c23e7fd7d3937699b45afcf85f44e68182766e5029ba799cc0e3735de8cc046bc40ec9a51f3d336ac4effb27852a0b67085362a1221fe29a5d8d143f6f3571a947f90ffdc5bef3c493ae0af6e764abcb82959f8630092b8ed5a823be8fea8db65cbb4773d7ce6dcafc62f1e3e390ebbe0af8ed85bb0ad89d2386a2602806c65c2e282f32bf425ad988e36b2f842220da588e17b645c90c87c9387867f4d0ab3f83434b9fe46749b2d264db3846f35b41ab5ed19208ab4fe40ee0396f3752dd1984093ae1a85903cf2b3f9528778d225aeff7a0b1c28025f2f2da8cfb4b317b024ab69a6017280fb8aa54b2423da8ccc4dc7e82251167809ce89d2a3e022e4deddce4e352d240a3b67bea42cc92616d8aec8e60b4f11db1e820967b7da08f4bc88f98f67842474f8ab36fd990de743086944250210ff38a15577279e53f939d1610e0c33082a3bc6d88ae0770c995dd64626c73a51bac9477f2361d34c8367d867d1bef2bce9513353de980d23ad0e02c2b5039eefd47cce7e2dfe9f94432f9065ae540b7567a5d8979973e03b1f74f9f19a5812ee8db61343d7a52f874bf0518042a849cebd4199bc46ab5004ae1e3a688fac32b1dfdb04f1378f912fd588bb432fc0dc203a71847903df3b8f23afba9031540f6a7a71938842be867cf01b0b19ed736ab45c32fb4823dea37c4f22830a21449471eacd0f3073c5d22d96d051bdae747d0c732b2a82a31855205a08fedb964830007f0d30022333872f39b26d75badd9ff32fa8f69edb10adc3d8497a8be8157662059c8d64a13c59370d75cf1068364bc804f84b7dcdc29f6f79dea901a783e8cdbb91e2ddd1f68668933d315ba9f4e9cf62d35166f1cc5f92bf948645dee1890d0fe45f79f8957498297a162eb7bd55fa4b42d4126e2061487e163bec74ee8fc19e0d24d69396b65bc4cb74611a44d9149292c5af50b200e1bb03330506fe2ddfea9b00866573d1d2f79547b879551ed91183a88317a4015132d5da411cb6e4a40fcafc52ad08ad74198c467dba6cb0ebbae846c7f7257eb4720bfcec21fe4b6c5f574bf731bb17457c2e90fbd100b33b60fe33f8fddc6395b9c9710494bde818e0bf302e472c214d3d2f3749d8f4132cf0b2a41a42ffb1b8e0b75e19e925e8f864628e74fe0e6db013bda7852f3043175d799530abbaf6e93abb003b868b610c061a16add3739a0c6777e2b763d39bfda263724df1612d229f455b159c62a58cb36567a1c8d589d255c89cc5c537f7309de2ed96e5a2c53d56ca130caf55f12a59bb0d5d04e7e5e8bb4f15a58df19178886d0dcf0e8ccd294555917d4e0b2d51c254104eb46976175ae96c6ebbb1dc2e72a1102d6d942c6a8afb4e640e6a99b6cd8caba29d5eaa544aca580dd37dd4689fd8b9faf0572e48f55332f4b407867047678819369f5fcefde1af32d43e009eabe2b9995c6e659a7a0d0f86d9dae5e54efd65ded75b97f704fb6d67b5ab8d025d16c6b284999cbc0928aca1460a31c1d11efeaae303c9c7537fcb762bafbf880c31fc61ff23095fb89cba9d16566fec174afa175afb7225c81d15c7c71deb6d5e9d576169231dad9c6d6f7a6fc137e039a2ec4333f36fe3243622da6ed8d9edfc279d792e6e10750c01647d29768d3e927f595e3e1df9bc5be1f73315a50883ce963e516ee79826dc73b47c980704a16305fa89f952da839bef0134f42c64013afc232459c46e806daeb9576112d60af233347d8add2081120fe4f4cf269c8290075ed97dfc7081aaeb5ba67a967c076c614f4e90b457209b22a5c48ad5be1a73e5608e6fc255a1d7ff63c5141cf2b07dbafcdaf71c48f95f5fbe338c5291ae2d593482c68cbbbcc61164527f264e352b4e3942d0874fca56a5010bde7c7d79e70f6c65d4b35d91049cfc3104d8809f1e789d304271d42732ea2ade81a2c1045defed877b1798497b45dd78daeda25684b8fa32c7b35766d613e9604b277041c3747ae5289e5b1d90ea2618507921d0c8c577d254499ca5c3a17ab7e2601944d50649ffef74116299e53ab00e9b36ae26dd5f856c32dd50cdd3e5ef994b8df1939886945cc647fef9167501cdc10c1b53a7b3a30569f8c2426645aaae0c2f37cd9c081579de4012ae2563233b3a7a8d3950fe3bcd74f5badc6cd6f977d2cd751751c9d9554b26dc3757d05aa84ea361a584a768c81f2a6faeafad658eb08ffd8473301aaff867d6fa6268d7469eaed227e8b16cbb5078b98a303f62931676be4f74176fccf959ae0cd297303813f96549653e2e561c0f00389a637bebe60fa7ad615565dea7ea4a46d2c346c10277163c5f2a978a983cacb95ddc842151818715e6484d8dcee8cf97343c815a1db91e3de83315d7684475b2b31bf0dbc2db5290200e5d864ac775a0c96c79ad8003cdf6b01fec8bfad24eb4820d857851da7abe6c6581288fa010311181aecfaaeb1e68ee299e6409fd81377dd467b74e8b861480e477d3aed64d05b7a41c3913d8c51494422e0f318f9dad3ddaf780a0ab622aedc0c148f87808e7d57486c2870a44f08748386143d4ea38402536c934ca01d4aa708792658d541c06b5922b4cd11105a12cc38a5c6e1d7cc795ece691f056ab3595041c46f52ad75c01bafcb1238ea00ccaf8d6f90847b43e0fb124bf7edca1e4c37fcfe5670b3ef5d6f7f14611a5163f6696d13e996d5581bad4a52d26538f68add49ce3627cf4a0e9dca7128574b9e9661a723661ba310f7fdb46d57479f420e16cbaff33e1349582c3bc2096a52d64ce2763b48145cacbec2dcc08fc2e5a183f6aed4a0d9b7738baf5773701013cecb4cbf1394bf4d75a8384000bfd548ff082dc26f0323a437faec4c2901af46182f465c4caf866a059e8631a755f9c27a76777720fb6ae0e511f95e890d37a70e1671a879bb43fe560d93c4f85e20ef6cb520b77f1c57a32c4f495e4ffd25e8a6c4f7d428b8d6342d2ff9cfc2a2b4a8553a7e1b9e46148ef655a9e84e76cdf5aea5587b18ffee85262e1ec0b18a4a26fa7667ae89d4c2f552a0ee22e650228e9b08f5785bb47f3822c32d36337db277cb00beffec274ca809ad19c42f475c474939d4a59a34ff6410e7abcdef7f88fe0dc97cbc4936fb19f2825b3f235736eac7d963e839ab5cebbf521af37705a69500015f0c155d94dcb06ad0d572c68848edd591fc418d25beb530bdcf69d6899569483b0c60e8cadb202e9f194958187d51c973d4b1cf69a703ac40fd03c7b8468c2346b6c095d54b29b6da4e93b934c3ee60fe322b88aabb08e22c5f762ee94555a019fc4544183cc7725bafdca500e19056811b050354407812a221b2fdc7ddb5c38a055093073dc5113116f737e3b1dc24c87ec87e0dce5adc366a111b4025361b1b87a11ecdc193b4756f8ec8226a1e650c66e67a5f0a7518108c8a841ccddf22f298d7b106602cc7aa3c32a1fa144d413ec4d1ebcad99f86e2376ac5f2db784e09d7adc57eb0bc347db43c93326687eaf2286281c1e0f593e632cbbefdfb99287418fd72fc0a9f34449527738d0827b1a770ed41b9e5c11dc61f0ae9e7afdc8a3908bd7cd912c0d376ee294cc2e39d8d0473a9db990967f836e677f75c5174279f5ebfab1ba76f046e2127567d54e56346e6ab144c62d57666364a1b37b290b57267119e553fb5d9160ba7489b0e28896075c5a558f68a977607065ade6b160bcfd4c18780f484f9213408ff5bd55c85cd0062d97f6dcdc33c9fba6b3d54e9dc83b64b7849693297087a1e9d2c62a2ca0a088dc1d6730ad5b1cad1620e96cac408b038ccceb72c4dc957289a1fb7bbfb87c36bac0a1829d3a3d8336897d216bcf97bc48feff13045a31a32b7fdf2d06565cf7d7baa97eb340f3385911bcf56c7091cefdaaa289495453a8f810ff1093eeb97c86e18af177f00d85511f20d58a692228bd1afa688ddaa81fddfc959803057af8e6c0dafca1876a97438e0af7585ba63633181b929826175b0bb027a66a525bb9e1ddad52c07177168176cfbbb4895642e84e38ca07795c9987bf84d2cb13955c7b769d077773ec6d8daa6edaa6070763b123d8e3223772407644c1dda902ddcb38a87914998bb46179e4ad697e2586975bc930d2836b5a08f053a2404363f6ecae375c220a1ad0746356ed62b2afd0cd2d512563fa73f9ed6cb74b32568b66e140d7dbbdc7bcbca42cb37b575e5cfe86c7304383f3481f2f15bc14bb75b316219b51d7413737e9333cea5ae10dab652794240b4b7a484213984a489a00ecd2429f0116cd0bc6f20bfd8728c1b62a248b71f7e3f6b2b20bc122741560eaaed5c33239aedec2017bf8076768f44b01b540e950601e5f0a3c261fd7bb833c4c7f0242b5ad2f80f0151df5375f7b12637ef20945c9276477fdee00ec266d2971854e243d206ce6f48ddfcb5b74e83a3f67be4a26f73c213a846dffd36a4ee3800c9130e476bac8612e8f648563d8b1b2295e8a3a1db893ca2d90e6de6e32e52b6ff61d2846c9b2d676e48781d8eb18807ca907cf26ea22d0b690a5df24a00da7da02217de46bdcb56b89c2a26adcdb84b213dde5f85be422979e54594ab5e94ecbbdc56045cb806125c1d92524d4343be9cb571457981d0206da26a6c7711fe179bad2dc8e3fffad41d374fa6ff6fad7e319f4d9a32ee8b3cc32b002f83febf73fa80b320f7f85a74eac62e1b1c58e28b50fdc941747935123addd2e55a6740509383a488874d05d919e05117d914f673d2f008f8dd17be6845a1473991d2f0ce4eaa497ae74237180cc96107c2d201bba1d6e870ec7560fdaef058775ec932a6cfd737e1fd1863f20c01485c8b95c7bba5663f0e2d18fb162dde3be0779a9706230c3ecbefe66177974dd5dd1ba5588471f42fc89be6daf60026a976bde8659e10bbb9e1a4ec975abc282f448d22717ce39bb85ba11a87e169f97d7c47fa0904d016d20f62f297cb9343fb606213c4127302dc664eabfbd8fd298139d25427795371f1fee7c4951b750e22ee30fa402d8c1fac22b1a6e1eb6be7cbb25e1f357836e9b0bee4da569fb7316e32d2066fd0db2f74277e1c6a09550b123a4aa70d9f8b27fada9f3372734c35f4dede9d5c923fa3b1d36feb105ae10f745cb3af4cc481a4fbc0d3aea113ef49e1ccaf1edafe88561a4b08f11a96c7b55277210475c7df62fd1117d58794c73de45e8add85243cb7596f30f74c78ecc76beba0960f2126f4cc93789ca9b2de5635e259d2527239bfc7f55ec005e3ca1c413f45a7047daa3f27ae08a772c95ac4bdc4c1c5e080343b913a5105b1e5b09745c2f3a8a4beb9218d2031db1f8e30c9abce3212f1d22ab30455ae393df102b84937e4df6184297baf110c5e14bcd86113c9aa9cae2464e10f9ec1249fed377da6ed885c3aac93cdd844c9c3adad3f35240e86a473d18b4f947ca43f38934e03cd8b63f11b6e69939ea9a9702bfce1533c0cd5e5a604690afbd3af95094296fc1c14207c87e49793154e6da59834108152e51759f74aadbc01fa373ba3d8152369aae280366f7b87c1c78ae10735ef505b6a31c58bc7b568b3660099b6eba4156ed54fb9adf2e05691561027121b31f8f673e301bf7bc1463b4dfce517a951ea43050f42258590a4174271ae70851315a8ad807d4bc05c7b97b01943eb4069a1d81c6657f4306bf5c214aea5cb808cdc355911c1c04c09dc4cd62db8d442c6de8ef43a67f75dbc1597082a16ea7e50afb6cdc177b5e314993b094915985c89da1167c3a304b9a6a55f5fff87122d93c95af097df87c5111987d6cf2e17afa69e46dc5fefb4c17f664a90c8167dcde2127f27dc4c6814ec57c0d8009eef7b268edf951ec97004a64a332fa91974c18345a0433c3c079a947bf02e913b88d990cdbe872ddb0334fcddd0c32d5c6dd6ec6f86241e4f2d081d35696b5183274333d703ea08080711ff80c2c95d124eabee5ee5316fd2c5cdf1df47395e3b38b9877c438f83f5b1e875b42b0214f635ea6371de4b2af71cad913c1b4ed86e9ef990e5dffd7fd806ef9e45f91d160285815c15c6bf70aa7344ec9210a30210319fa72e2624c42052b79b131aebe8520528144836097d88ce44496aec89927aec4f87c4b09570d213ae4621ee94712b9cef3642b66b4334fa4de1f407198529b59f908d4af43a6ef97e328d1d1777aefdf74bf3e64b2eb7a8291ab5509680114f12231276820881fdb2150f627a420e6f8ef0e280bd4eee7b4ebef65afad7fec313bd400c1180e8fc6bd116999feb5a2c80814ff7944dd45d8e52fee7a146c61fc3c15062d1db9be20f056544acfbf90161eee9fe001dfced586bee6432134f193d991f9670d8bf837b8e2d93b7caefbc18e92198bce30fab71d8d1c69643a5bf67faad7f133c8f555f86e41ea10bd98aa5e309396c58ac38526e34b62c8f37fac59beff24e2aff6f4412021252422e91ddc678bab6f055f2870fd5048d9a29b3ed987d648fa909a49106b2d47f6f05b10fe9c76ee78dea1f51cf9cce0b916135941b1a8fe11e1db4396fb806c2641039c7314c4288cdd661b3d0d2e040933ec135a0c4d9e8b71f2d516c813cdd52c9c66440041a3402ba7473c34665414eb932df0bc4f926279c653257450293d27f600c8d0bf2cc5167cbc5d3897e6c99d653b3f804df2da51c14cb9d4ce1d3a34abebc1e3a48c21685776f2a1eaa4729c23cc5c437a082160798deaeca086bf29b2bfc5ee6edabe8d536bc1a6ff2adaccaa656ef93e5faa9c375e68e6d731a5d3b8b46aa6946acf73f5ecbf6b7476e751ef71eed681f0adab2dcbe680bd3694a5edaa35e079a01c2596e121e5f825bdead89efa3fbf1cb7b09e8c549f7cd34830d63072bf5504a09c0b3ba693922f6f5ae195e48334e4e3c3fc3e5a07bc5714b629608b6d1318fc4ab419022b1801e7b59ebcdc4da03c74e04312841b6a73c29ab2e953e0277d90fbee2601fcc040be12b33b731d04c5aa33d39cbf16ed3b4b6226f7d669b35c31f8569049ab8ea4dcb8907322cafb236b2b8e2ce0d74754db6e44f94cd36e9b4125d7f9ceb077b8838f12fa4db9575e4ce00ade9e00412926a19cd1d01c1c9e4fa6524fb4d8c5ee70a2d083fade148d3110933114620fdea67e3f57bc3a75060486a5f56065198203327dea254f1ecac5d070e7aa7fabf0d85858d922f6267f6e2249fe4cfb425f64b4a9297af36031b04d2006a673260c55b6ac5309f92604b4efcb11fd97ed1927e2dbb361391df3e740ce7de39d6620dcd2e77be7a2f79f1c2149c652813b9400ce44ac430b2bfc7f447e0033925cea452acc4b1d89e28132007b32d8eb5ab24cf601971d3c4b39d13e8c3651ae0dd3281710faf183f9e25f115bdd2c4d8ea518c2725642d9006eb5638594428390f0ad3494494458154435f076a05c827c9ba22920aeb599912011ba5287f4591574a5799076e17d299492d58857ef0913a441b060f2b4cb2cc1b3cf1864af3e9ce3e538b1aee6dd9c8e64f931da4efc4e2f786a5b9c99b36fe1bfa913de1bed3f1ae0b5c7ff2784b0b0670e09c1846ace189988be7ebd51b527c2b9eda55c1fcc4884ec95fabe6b79c86e9967cde7fa3381526c0dbce2f846615712b79b3148c5e85a68f88890145a86b38f6f7078fa1d5955f7ca7e09dac9404a5d6172bddbdab1de56ab1f3513e7bace6ca77f3e79f0185f384e82eb12801b51302f74f46d848613cfe52815b20c6c52d72e0c96bc9c0afc55ab9dd8c4147d30d60aafff33842a4d64e98c41298e503d869bf4f69cf5f59c9ed6a9b0cb2733b5371fb70908c9e9545eec24d5b05508e3d15712d6ca3dc4cdac54a6bd2d566d36751a9b0287d8428d43babae801169a892e109219611bfd0a730c09f2737f4318cac268870618e80772b3a5c14dbe0d1004f95dddd1ce09a5f63945ebc46a1eeabea2dc3c80adf8ca4ef3ae6281695743f624d1854002d48532e55265f6a8c09d26870df4323fcf71cfef215c669027f8faa967715e91f9e5c3e494c8833fd6ed9003e618946190d56c399b05e4919aff54bc20ed658f675065a2bab7c9be3ddce584dd9c1af4cb6411a1a79df6ee10a49d549fb6808d4cf97f40bd1aabf23793544178666e144872b4aaceb4cc96e44bf9ee4dd233497a9ad6c69019a0a2434c3b2aae41e994197fc13afe946c83de02c857a5bf6075993e91d0f0a8bdd8b8522ef2a85f5b60c252f6b4b92208414523f6087972571b9b4a9ce68d2c0ddbdd950b56658fbb90a19b10fde154d9432198d257c1ce90e58b4b837254e4815a726d477505fc26f272644c4e3484c145bcb3fbdc2b0ab6887fca9ee854fbd75020f77e256b0910c2d5994ac4560767c913bf73624c9fe43a0b18745709005b7f09ab38dfb9def41db59d2774e08435cc0c7b804e0601d1cb69f713b827a688086c372c5cae1e5ec1fa85800d6917d1a02e0e9647314e9735751bb8673804e58cf0360f935ca6af41ae2ec6a4b95cef63bb9aba6cb108dbc36ada1c347ab8bad4bf93065230a59ed9844f7465ff01b06b9e616ad9a1d3457ad8454386e8d68a0ce70b10bc271e5ba31f4c856eb840987caf09ac499ffbca519aa5b52d47b846828133713402907a91879ff5c5a1eb6f27d5dc689ffed2553348f8be1b381e55174d6aeb6292398fab50b70255b9663abe09f7b1a4c8caea9cad94e06a01bc2ff001507cd6c9d01d5ba732173140145b4bea5fff3bebf504c5d4fead47efed27de39cd92f0413f9e615b5eded0e02926e0de40f38d7e65c92bcfc26028614c4529a794dbfed8e5f75f0010955208ab6dcf1fd32bf5f636bbfcbc2609e8eac5a1ac83e4c58ff58954f4b84479c0ae1cef826010c3dcda77073e474c2f70b5b132babcb8d8fcefc2a4b677113c718a72bcdbedb169e2c5def2f8daefd5f0913571ec1ebd2c5b9a75e36ca04f5e458066ba864a013bf0d28b52805d7329497063826a996f119264b8c90405d063e9d19857a78424ae36668754eba310adacdae511ce063330fd2e2eaa016c87afd92fb2ef840a4debed00493243331b93b3a0aca72b1ebfe3214ec93d05a25ebd7e17b2953b74b2493b6baad493c77a102f6192b73210481848ec11b32b99d18b760886791cafa10f3da2d700b3c4c6815093eb08fcda3b907d141eede59074cda22864d363d188737156aa13ffb051823154a00bc76a78bea3f426a438148f9c63c623d7f783c36793e4ba62bcc30e9b468cab20bffa051c2978fa9913d475d45a1ee269372dc7b08c7e22878274130b77a4d01c39427f5c2e27fc91ef7a93cf588cbb4908179ba6f81140410955ee7960bd2d1a6a802f2475a7432a4dff5dbb6739da42f47d0af37a983f0d1314ec592bb29affefa318db86766432ddf6cab4040440c628639abe89c3948333630cd7211c1891d57b0dac3b965b2471a608c269274a14cc08662034e7151bae20f5c882ac3554594eeb336c694a3a1612967b92c0d29850d4be1e650e3de16e6ca1c3831915c4ca58617b7d221b3931fed774391f0a26cb6d21efba6e2d9e021898dde1fc25b04c1f4419e3f622c9c29abc51a32e52955a2af32e8ca63aaebc98da3e2541dcfb41cd1dcdf70c0fd02d0b25481037f30b4481c67eaf3ad6e835a2905a4857d4baaeb56183f10bec78c14b0be1dc07e1f2831e02795941274b1af298517cf133ea9a15b541ab72fe889f1273de116e900c7ff57fd970939439f897f0b3711ae5d4e3084b4119373fc7666e85d81edbaeb288d7d55d73f40aff7a967383790498cbabb6a6adfc46ff5d07d5318a0f4b6693fc0c32adc17ab62aac7c6a05512c0a82050a41cb59edecdeec10283567f5185c8a319314d1cfbb768b778be0a91a188ac0b85ff78779ace8279941e014c777e9c8e42d35f7aaefc033b921488adaf55918ab36da794c79bef6fb0d29f2254a4d4cb8b7d8db0903734bacbbbf3db6798a986e00dcfb0f3558e0921a9e4cf5c77b7ab5ec81432a5371baa8a1a726031506139f63cd4934b62d91fe95b68905b412c60b3378dd3755e29eafda657a33071b9b50daf6faf0c3cdefbc16f6a1a97f689406208acfb2fa4ce7e5644dd1c034eb4810b2fbe7d5ee0229ccfd22273fdc21f0fee4eb443fcf6606cc7729d37cbd5b02e77668c6dc6d60ba9274e448ae70bd98965dcff0d2a9a0913ad9d782f5947612c128c83068e139b515852f832765f205544ba6b7bdb0932c41f38ee58fb0a96595c4ac3c327bfe50427558f242144f831e360a62cff9e53425854777da783c341239e90279b78642e86d7a4eb2a3151835345c539b6d8c0529ddfb9d7851d000d7113e9935c92100f3ce656bdc751030aed237b0596862a08d1b0e266ed234fb4546a4e5f611656914ddd074f1fc0a97205894ff186e0e4f3957e4e7b9a8d064bbd293e37e8cf34ee5c9136a1cd431baf3121c0ede2be71de7b1991af874aa2b4e46910631eabf58c8df4256266d82da7aee5daa088c3c04780f72c4065f83d201ec88bf4a5602ecee067c7d1ba4c3563f2728ee1e2c4bd1747f0df22ab75d08f31943675692c7193ba899d72acdeb9719e8ad718efc14b0cd04a8a1be836abf08c4f57cd239c6c5016b525c386a56712ff6e1d777c5c1d9ce4f74e8d506f02a25f9c64dc44645518e1cdbbe7c9c27e8c2ed2624f5e2fc4e322739640fde291e97bdb010880a25801968717701f1798a882be3288511faa5920797882914ff297e1ac1135a80e566a7ad4a26c3cca10ebfef2a8d95525e443afde3a7947c6d9a0300a8c68e5711de9eb4eeefc902b4c1a64977d9c3291d256d333b69c131eb78116f6a81fe65de8591abbb25cd68f3c79f7a30c732dbddfcec3b7ab817d74b065125bde691eb5b91f1bb8070406146b5bffd42cce094aec3e4a7ed23a735a8c71ed2b82c5bf8af3d3ea5f268f509d24db081352a97377922dd0c1a799f7af65e4d6bc353095732f4c1f75e1bb86848a68ece102a92a2e28a12a1d2051de269817f2acb258ce6b25fbd7e3256f7b59fb476238e71791907dfb144138d91d8a9d94c353dfea889eac4f8a654e4a5be200e5904e5bb2a6bba5e32af1b7a71728fc96744a68d5134a88e8d842c2d97e9b871964f6d729955dd493bba652e5e6054cbe5ffa0310a434edf3d502c96d0d0f54c3c5261d38f1e9b7beca8ac7bce9391e16e4985dae48e7a6843d514268702765ae50189c98deec786db2ae2a264d818ccb2e5f158f25d5dbbb8ee5c16a7b662edc7d6fca0cd6ab19cffab5259583a693ff5ce76ac498bf45464e307c3ef5a6c652031eea1d59765c32dc4f614f3401bb790ef09fa8814bf995d525b4c5f154c451c02948df93948425c60b48ec2d892b5fd761b97b4614270added00e4e2e0aaa42ff79d0548070ee51d80773786be683da865cf9d23ba383a769acdbf41d065936ca6f18c15a8eb84053e726622db7b3ed85e8b4ca1f6f86ec263ff4c809aaf7ec494cc99d75611fa7f2b8d8ccd62e572ed579d6e73930284411c99212a785cbfd28715469dea225d9157196b689753c163426f589ff339e10b8d3c9222ce3ea1c36a6961249c03385f4edf0bd68c40545dc786553c4e148eae0d4406912bd44690ddfa78111695f76120c30ef17179e861514eab5fef9ee605984208586a6360514b19bf034fa4d2cb62bfa11c9114bebc295c462487db0b379a6cd0188708797b9e91a25af9d1a6840f68e72ba35e9b28976713ab9ba0b37f4ad5e422bff3bbb30ae135912d835b9bb2ec7e31263ed69ddf73ed59dc7549fb9d59093693a915c1dca89effc03def663d8d0428690697ec38d6dab3fa9ea6c4087843dc80fde1b8aa718d6542d96bfa670e858fefb1524d8851d7c249f9dbea71890e1955fa006685e6888b79421d491eb3da707582f8e8ddd83fedfef5103e9b1d6d5c3866a6272442b4404fb09b6e23e796bc699e21fcb29bbbe558063f743cd914938f21e43d24e5a65059166551e6dc957a197925ac76a0030f66f2902f3f289280349cf48aef37c16d526a15012d6b1ab0ce1e1d7b32561170e79583bff15e726d532d890d734abf05f7c37b8e484c22ae4c48c0852d143ab4a8def952237a05646b508d95cb6db7a4cf319759fb3ee859987fe7e62961848e8d338243daa3f8fee4ddde204ae2e3a5e271f70193a102fadb57a15394519e8946632cb033f405540b08808bd0c8e3b1d821eeac50ffef71cad7ad9848ab6be997f095752e26cf99a10b958bec378159e1735eabbb83d7fd9fb98ec50cfbcc05b413d31c74de6d4abe357e46405c62d6f6cf483a795b98aa813c60580376433e1104a29b90e8647f4b0e4d5c02c915d0a85b8386d8101c20ed837887162c33b5d74d86c41eeca73c8b626f6e566934e7c539e15464490eaca2a3da7b4767068c0af1a90a8f265ee6a0caa7d032779fdf4c1f80f6dc0396efd3fcf3586f69ec20f48650f6f7ba85b45333c14353e691da48e31c7008adac9db78dc80eacb82bf6279dfbb303e82e6145a7aafd9037ea62a697ee91d0ba1ed7e9ee873239ee367e53241bf7da75c4fe3cfe888f5abccf3dfa81939aac3982562708d2e71a23b45eceb44e1eb239c65b12c2e22ab4e628508c7baf96ecbf7016eaa608756ddd8476b5b23e460372debe8fd91c94d5dc591eb47e857fd31eee9f9e011f4cd2e52a084ac6589c0eaac511722a2dcc869db9d444f7867d0962a90a9cf5e12b16f307b117d4aa14f623fee2ea44e91adb8aec5788d1fbad305742f6356e0d10e8fae052305ee71be1516672f873bbeb13582bf66cf1967460412242a16c64f604836f61e27e6a7a7bf6f5e189bd457b343272b19c78d10aa3f8638cd56ac291bdef9fa84923aaf49f9b851241fd521380e28bb7040b6dd2b6f4eb71099c838fd26f08783e8d190bc9e0353c27008379da4785e6ee5ab7366113cd30e00eccae5327728d0331a03898b0ad4aee2053545b2b5d3b05899950b378ee5aa69d9e9f9488eda753b6734f29618a8df35ac817c2f3c64074ebb65f71e285b94edd1ef63da9ac6d99b47029797f9339cff401b0be6d4b169607eba50061620d4d9b2c1b39fe6792ebd85547e6fcf2e26500d4e1baf7d6a6f351c4e16bdeff433991c8b198ba7fd0630cbebf2f7611a6a815fd1fc4d3aaa1cdf6d95451f1ce8f9a453ea8b319838b1b53fdcb9adcae429914eb84ce7bcbfcbeb9f33cdf897bab7c2357a462b9f5807825e2d7d0582d11d9a0d17c43911559047d6bc136ee25effe5feb13468b238bc096ea506eafb02e9d969194cf61348d709319e8d3a25b7bb343d455b469145069d8d3f0dd6c715b231ebadf53d5dce1669b5aeeb0cf4745d2ec1bcee0de992b5acda48ba3353ae8d86f1d49008c1895033091d6dce6a3acec9ccbd83e06a2d6992898f2200a4a2febab7239a9f4da7f43f2a7559a6dc741a9fc9baa91c8de82e68af11ea4667876bc721a4b54942ea7fcdbd3ba17420b745dc44ede428e8889a226bfa7f344ee19ebf0d2760a095843272e0d748131f8bd6f28c2d684c1c0b7862ff3b0f2f2239566698b8afb74c0541b40312687f97da64b9c4ff5416767a22f675d57e6e1ea975789bcfa969aa02b32ada47db499dab0775bb63a611daaca1443ecdbfd08b324030f43a990b4f86726c8dafca07ba1277ee4ebb2dd95d402092d5a07bfa1c14b88ce4e3999e0c134753955c60ea3879013385701c9e19dc4f602897454d846e2be94f52ba8ef4b40d791a3687af09e21cefeb11c031e0e757128ceff82f65394d38cc5c748dee0fa5827c82d1da8e0726910cb09201a4f2947da10b50faf965072bbf735ddb4f891b3aa9deabe076fb7eb26172df4b5378eb3aad2e4b826016c68c11fb1d5f3526a0ffab3efb6157de0b1bc4087f3d72bc2bdec1c0c572dea2be86981d946d3ba4ff2d98edeb1582513cb9c5e4a84dbda661f38ba94204ed4a8ce5a0e17ed98b63ab1eba2ed89c2cfa5be80637ac5cf9417563c3d236bf2ecc9aa7420506e4272eec40acb4432f97f2ce8df8d48f2e3ae27292870fe6410a7406fa1e58dc847bb498137c3842d2cfc39924b97df490eceb27eb9ccf2777dde0608b6af2ba1e4db53c31f33fba860b70e0d3c700b4732c8c497ff6537c519403c37c2b0863b3173ace9c97dff68d49dea9a97366425a7c685b1443f2b50d02afc5251c67b1b33b4d0f0b200e2ef8b9575d8fe9da76590e3d780d27b7431705c544649c062b43ce04f5381487214738ad1e0872b1849e7019de0b9393fb31abe9ca2dd8e3462109ceb5705a0fae7df5ebb96ab5af03594bcdd286d0e5fe4d1f1366780687b47259859ffa5191c80db1150c331926aca7e01d9176d9c2c2cb3224aeb13f30ff152f22caaeee9e087a58c839f4e4efda2a9d4bd644c84315e3e19b78b8197fcedfd5d44f865ce0fb385ca02a14c34eb0e60ba211ef1de55f47723fdb44afbee294c6c82728c31caa0d16e221a23f9cc922a8158840bb9ed70c788697b26866a6c82cce133d0c5e3a314a41ec6c8793f9748df024735ba2feafba37087fa7cfdf1089fdf78203ba915145f1eac1b1f3c2a86970a0f343a923e0c97403d3b033c1fb479e8fb1cd22b7e3241a7f51281b1d7196a51c9195093a6341f2a1f31347a87dd15be830ed4769586e3db69ff5f61c64fac7f9f72a5ceb7252b75c47acc9a48a482caae359541c4bf4d23b28e5ecf5eadf5ffb34bf463fee6474b6501c6e31e0e2356d4498bdd996232e088c805287e11f290ecd5da5b0cb3c2a9ff0f362cd244e49e9aef8847e8ccf11e3c18e0eab27fe31f924d944cd93d7ddfdb4e93b08a205cd1aaa483a9605d3f7ee4fba7873aaca06bf8a36c2f3f5a7d66c2258164f84de23594ee039a67188934a1171ac5cb26f52d23dab50c2e051012cdc1fc77d930f1e1a0d8d092f301d29b3b04ee2391cfeabd6bf96de53f982945b52def66fa6c6a11411c7df784deda18b5386f1052a5d4f2b7cd68ba7faa9ef43bee838029db8a12054b8438bcb0baa9f677addf4396c4c6380a7fdc5fb0fcf9f37eec6b432c062d388314b8926bdc7cc9d7d9dd08c96c88a5986a91112c926ca1081aaae57b889a8b227ab61a8d98200615e2b343a94dddcb3e7af4b475157981a61f5e22e1c6cbd79fca6c2d18ca8294de8aad0fad510d717be11e93123e21792a64420b61788d0a75616d1007320e70557672b98a6ed5f2ee290a0501ca47bdeee9f75158bb09ea09df9a9bcf196fe8ef21999009f473b3a5bbb42bd9c849833f6fce9d6081bffe790c7ffd013ca4566531093f9d16b0c437e81a28a7f592de2b60dd4b7325ca4bcd9e50a233a6bfab57840d22d75cef1c7b468d9a4bc0d8a6b284831e63cf7194ca8115625c53d25a7c8ded93cd665d9ad22be048a268bac3d5ae6da6900d76a7bdddcfd78186b146e80101c705c526e3b90f0d0b3ffc477060d9fe67d5fd459a377d2aaee6ece8a624e6bd47f7d28935243d5619eef6766a4cdc7403b448ed9894654fb34abcc5020f64e2fa03750821862532d4fa7059e1063ef5dd0fb3b3b563d2a91224e67c7d8f6c8a09fc54259a24abc21422db319f5802b28149ede205b439abd12ba5cd086a19088a13879412dd9f53e48c5e304057c11d79e634fe1158f46e8dcba682f560ca6e833c45a0a2e1bca27ae9904cc6d0e3d099a434fdee8696407141404a6a9044da5c184ba380e599cc0b55126f8fbfe43adaf76632f5a8a912978d29ab772fb9c3ebd055af0d9fb439157cebcba489d45da3355940f340582e20ce35ecdcd44f9cc168be873f08e782449b0d5d0ed19735f837248ef97bccb444ad730340b1785c8f6a8e4458f6872216c620d9efcd79cfc9d639818fb52807e3dae61a37c800d694a010cd525a2161845e6de97e4bcb3f9b4aaf7e1eb54a81b9390d5c231f427fa4be3798a25e4622b02fecabdc949b6a39d32c0899fa2545eab25e63f2ed0a33c4ad1511426384d30705b6e5e6165582d2fd7a1bfa41fbce8242c72476222c55d17c2aa2ba933c932ec784a9085610794521c16ec795f9d7fb1fa750e70409e1587b54c125f36074cfddc0442df19ce4feea45f87c4f002e7ac0de959bb5f18f4156e36f33e86d2daddbf7f23f67eb92dd25e500d839455ec465df40d6adfb001c2990958a7cf433818e561b0037147272b56499445a35e8a9f6af68db412fb7533c963b00614bfd7205f7214f8dbc802c044a9b6bac359add4163fc5657ec41b58326ef26e2d569fe3dd9ec1980a0e485ea8344f35d4028220d97bacd2a586d6c466267fe43922dca14c6ebb3c6f7f78b790842598324f614cd996e3ce19c0cdfe2b75b89f6c35a57eb00c2c65d1e63b8d313c7e762b270793f9eb54b9dde455237803aabafdac8e391c9ddf5cfdf43119e4cccd52b294b8c7507340e0003279e5b5fa4b4bd217eb2bbe4ba6401bdc4e7c93fc51f040fff03e04b4ea1dc362e187056b376d0251618b336b811b93c6b799fbabf219e1d96f9911198aa09de53ecfe89896583b7bbf1ee0b584e7b34ffb7007583510b81565adfa36ee9d5a734fd691266a8fb697bfb5386c7e8744dbbf12a0eaaaddb0c8420d67e6769641d9a486033577c6923fec0a45fe4834578d03dd2bbfc5475ba996837acce50dea8fed6ffebc61cbbc3bfbd2fed500308815c7541099cbebd942673c342ed051ca50c5c06b4e1982a178f7c911fd4ad89ad9123d52fe41bd9985a90e821667a1320ed08fa557775ebaf51569cb451d2f5ddb755b295364324af223d648e12e8d69842b7e50142291b22174640593afd2d3a0a618baf632bb141806685f3d9893c8fa03a61cf4510dccef5a19b97a11e71c89710dc033f5cde9f969c4715a349d2f03be9b36242834d8ecf3b3491415bf8ef4c05dc2ef1630b8d8d102134f2268740593b5bf4bb1092c744151036c5e6d393ec910f0eda5f4d8a35e9c687c20b8263751b25035f0d3f2237c4ff7e9c717978704c19e111f46bcccb00d5b95002c5a84eba529a7383f3e6ab64149364e5d2a114e85d087f8f4739eb32738fc8d7ee6e84196d9e474560743ee9f9a6ac1c9dbd3972eaa210421fe8f80bbfa4aa58cd59317021ff86b8c71d0f52cba61201b5dc5f6b6ee310ebef18a078e8e664b41fa4a131218c3585737a0acd6e197fd2153c5e9d5ec4bf3326777322feebd41576f3ce2d9e06b669ac031349428d106e3eea4585f7ae6c52ccfff656a076b346763de2e3ceec59647973f19a349487cd3252799077e0a60a3840166ff192593290377bd6a62704e0f0c01d283bcc96eb14db9de3edac301a26c763a2efd94e5de0a06f7122dc0be6c22c61988f736fb936e29b2356b06dd8632dc375b92e963ce1cd5903db8da22ff679c807c0926f318c6cc90669c2083624337e6f33878b61ed57a4dd1ea0a0c084184332e6ee246a29dcdfbdb52e720831acebc30904679e8cb243679778053c54ffe84f261ef7cfc4c7a41d1bbc38161560f096e66c277ae75e533566398eac08965375deb6b17142c680569feece6fd0d952d125bf4d0e903217a0c4a2963c857c8fa5b7e1a0a78601f489f1c4539580f0e45dc5b2c601c4679ad699582bc169c3cb01cb2f90d81f599ae0d3515ba0b6e7b4627569e4b49387fdb82b6ea1ca26feaf22fe8b8cccebe6c82dfc1c81a8813b7877ac92e67fa38f6396aa038ce00ae1b54061146bc608ee036391cb865d755ca78c6b57b6e2f1e945383b24b79e2edd1e20c9e8e1b47d656df7b5f8a381dbdf144c836758d107b1a6f72c6168c14508d53cabe26d8d7d98e8240bce543ed84fef5ed530dbaa142f0e0e9d01c855f05bb79f90f7091ad695f0799746baeb847ee2e7a7c313b019b1096fdbe5c23cf024ec580292045dc70d3350dcf14add1f01ed6c648ed60e1d778c42531dd33eb65d37462c42554db13706cd3ca6e4ad4269f94579486a2e64b1c7a7e0f16c9ccbe17b0cad53b75515c131193bac499b54502577b27bf0859e169c2051640b8222d890e55013f003c46de2eb1d1fa435246858eedadc28a9d14dce5d1c880e1077ee8bb447096dd49af1b960f6d3995a1bcf2462d72f5b1d8e64212dab52d3c60171da59c9b4c087bb974e458fdfdf913d8392f8256c9a575a4cf7060dbce792a2f6eed01f7bebe530840a654d2544d34e43d4ca0bc51663d03da0e168ce1aa10de704378004cdcad75db7002fe4c98127c131f1f29a9dc763c6840b0cfe14c7826a5c511f26585c2901fbeb58041ec89dae2ff61166c42072ff5b00c570e1858ee8790534ce121c0ac9a36db390305879db5293d75e761a803831d366296b37733743e1a883b3901a07c1a178d598865bfdd918e5c5a2f4ce291b053d909c2dd78947fbfa263e301ab661a297bd38ee7325fbd8021b82964b2784f0008cae2063e965844da2a087f2519f471268c42b4cb46cf584bed3db38508cd118702840f6eec789b533ddb8e3ed73f330122d6e99dc66e9004acf1928a4bba92a9b24b8cc6be66a0817d8cee0feacb193b094df1b6146626fdf72400b347a271ce1aeaba533ca61d15b08429c07df5f004a19f6beb8dde9e205d3576ff31f3110200b42421f657226663729098e646765cc83f02ab128b1484f55a70dc7917f7c4b3b41d17027cf54ffa39658002f24e97ac563379ad8ce9d5d2ace5beb654db282f733308b34f1528036f0f1a8442255d974298bd0fa6703fbe5b41c91f614c106c751dafc71e8e94f58edd010358b5e9e6de21d368e572d644c1e29a1a0ccb05c6b8e67667afabb3bd9f6fc266a0175d6bf87e893bc37678b471b714e701d79fe1910b710adcdbd71b42c1b8d9ee69abd9fa12c19a90f40c3aec3ac5c488394b4cca212022d1d9bdc3829fe65790514d4cc339bfd5a826f8e377e08984f3114dfc2fa58adb990e8c783560951abb9ccf20d2a74772aea6aac52230920a524a2f7a0bdb0edc95ec8f45754cbf485b3c38e029ea7c9d6092ffa78fce4bb4bedf424d7f4d57693bef9e5dff1eaca04dd357bb49e3334e178fd830ffe47a2b875ffe08525aefc00814e65627d43988fdcfceb47629ff6f4dfdec4e0269c32fdc89d7853ca64910e8702c37f61fa83edbbb23f073c3f8eb012e74dd429c2187f1fbc02a9a6287978c1f005145b3a5f9b55fa7ec6c5f463a27b65ea29e34f02995b1fdb42c542a082483607d9e251b28054e2cda76213c07f9a8eb7a51a1337dc005f5c18e31183b64fa98b70676327b3791abc5ad198a80b4887f53a9ad54341ab7e1c57f36ddc09d463655d0f943b63518a65030ac515977ff33db1866a7540d5624823f349f978bbfd943d9e57d7e5136d1318ec9a1d6937ee7d6163210dc8fe70273af03c417ff4b1352b0695960ac39802d3517564e0340367be224a4ac261eb8a84e726baf1e1779dad7dfad20c19a8c8c2f1711872ec2a549f731400da35495328703dbb2ec3535ddae8a05e5b2b453c9c6dd92f16d34b22f18d394b5399eb5f18402f7b387dbd8954a350a0822662421a395f9056a37fe5810339a7dc422dbedec81d5117a7442ff712f4b78da826163243a955e5dcf56c290e3eb8798852dc8217c743b3e8d6b86a635a9e4b67ed35b0e9a275396e0bbe9e407bd3099654bc56114dde9ebafcb234a4733e95863c37259e6d1ba964e38a428b5e0c30fa57eaf3378aa53b877dc0df30d9226c38f1474c44f38597e3f1186401e9ff5634ab0489eb577c8b85d26ea01048d202a5d9184a603e989d6e5174e4414204c048e273cd072a15339127aab8a1f12b004e7487a2fd1a99fdf37f349e049c7cecea2fc246f1e103bec9c3edff4c1f8d28d70a3b17d1f355a7bd9e0d57c54bc82bcfd9a515952fa24d08e0c54b190e7d5651822163d90c70ce9f5e3a6f57b1dcad6dd6a3d453bd8d891dd16d151ee56e71493096657089286609c3c744836273fdf3fbbbe0d2dac058d60ade1aa5c25fdc1f1e0504cedab75abedbd097789157c601eb25c9f8d7ac15898291c01b01b721d66821d0d06bda866086c1f2d420532f271cd227bae9fe601b293f8abf39cb77d1722f02a8e34264af123ce72f268f30e46320f019f22ef6239d025293b8673679a4375091bdebc10b5b7674b2bcffb7abed57cedd3414f9232ccf9b1ebb798b91a9c04380a92700cbc84aa464cc0083184dfda4c2479dd4ec964712593221be79af0a7e67764b34af6bde73c9050217e422c8f5e39197451b49d93dad4b37f11bac9c695cc6453a5dec429b1510b8d2a48694f0304f88572afce41f5252996c48af88b47f5e4dcc0e801986fa869328dfe635c8ca6464c8124bbeaa27f3b90a72b8102c77cfd4c96ab7b5f176d9ca08cf7b4e01dddc5ac67825297c8ec2314805e58a14b0230b6fff1ab80bb435ba9942f221ebb1d0a10f38307890dadd4de13a6e07b9838277071f4eab87273a4670553c3a33fb8b73bacd30822e9606282caf0270ef5366c5f75c347ab54e66faf6b2d8f228b9b34b724b549a424cbe04e8f423282c1d4900b15c817f939831da876b11cad768d1c414d1ea9dc2dfd9be570126824d4a125d5caca23071ac12a1818c989dc653faa44820b4a8b5c4a9bbb4f883f7652d1941992c4c9699536c553cafb0aa80317b8f4b8cac1fd6db0c5c2da493b873956b24b6264f49fb302117c452d8692a4d23a8d683622c6b56631b9180b36668f8e96e645c2c35716cc360b352829e83953a97bd363c2d587a7fcac95ac66af61f024e81be881c86de2053e80138b6d68815d2a32d7fdfbe90db27e7d56b113bcd95572facdde72127ddf7f55b7d1603e4a31bc1785e6057aa1988a2a0258fb3ebf765185410a63fe8f737e04ecafd763f6a7bf9227d4e15799659dc76e87a72c785b2a298854a70e1afc01f55a75bb46cdfb570e3efbe6be0312c5babd631b08aa765a9e3c05eff831cb2619dd00a60fa37255cfe4212b3e7e1ffe7d4d2ee5a0006899a61d7cac5045d7505543aeb42093b8680f96d3c3afeca6a566570ba543994cb15a29c169a86fb0ed97c8b3fb447af1bf916468dccac868efac2e7d27e8321c246ae77b2efaded4014e59a58be1f86a66d616c5f72a6b1b915adf3d8c2e31735da4471fe0723755ee5db912987764fd62ea5479ef16fb53b1f246294719a6462918dd8c0046a3c2034c58f6553d8fcf25b39de01048373d94f1e11f3ce968b5d7c5963d4c180ae4c64050f0c7a471836e437933427ec278f38f1d64b9f5fb4c9ade64608e3694db62d83b20a053371b8224981e4404d805930d13125d6b77d3a9aca5b5b65fcd0731d9786e32f04d0568594b275a7f0f82ba5231d74475ace61c4aa7b14cd99bddc34e32e08f77506e037ae302d2b556823cc162536994b545f9dbeb69be94cbaa6b522fca989b54d794cf6fb1b302c6e6ab30e3ae0aa746509cc4b31603c40f5185c8f661dcf347582cd18938a27bbd0970c6ca88f8ede408c00efb8c7b1cc73a14f64ad769e38a9f55d863512126436782278c83244a30150c8a9b9e74a3b097e5e2a2d0267ac8694e6cd661f2abaea9827abc7260e054fc4e2a5b9cce20f109f20f79850112af47f019b3e79cfaa4d5e6a34e5795b2094e3c9a483be1912852f9ffc1cc6bf759e34fde82fde33320d0adc412c109953b2a8235efe5b07ebe730db66404ad4e784f27be6647d6a4c3082cda1079c950c4017798b158f043a409fb91091f46545e6b07ce7331358c3010ae450715fac649ae7c30dc3f089b9154b7060b0a553091f06bb9f7ceec0b83720e55486368ab53eac241a99571178695ab186de58542e0caf8a8b5986dfe9d8f84e8709834e9b2831162ee30f0ad9bb06ac9ca0e1ad115f2712eb886ba59070ee96d53f86b2b941571757742994766e5d87566e3265090e83ae13034b1950b710b39e448d6f94943025be1b1230ec9517d1af2580dd935b55ac996b24d14d9e91ebd5e1a4309b25c8552b49e32ba27f4e5e00d47181633f314943add34e2e97a284f23c861ccb36e224db626d3a72397fb472fbe852e2080a0f9363c93ba4502a7a30d2a5712cebd42e3cf1b0a7fe653acf97e2f0ea6b0fbcfce9f52624c1f76d57cd625cbd3be9251e25a8e1c82e4dfc8d17637633ccaae775db32add2b2384a68d90ab88c31119d3702133ec4a2f14a8e61e6456d4c3ab8766a5af0f75d8c17cbcb1586fd077dd9d6a974f29927b0f0d95dd9e6cb12d54cb4d10831133f58ad9ebe38d80fd92e8398e506707e1ba7343917783f2f483636121b54179355b7b0400df5a47d88117e11c174edb1f271fe5b67d138ace4f0beedec76298203cdf48dcbe836568a05abb42a5f22afabd8003096e57ec12898c1a6b5e3c006d47d905ccdd25ed536a4daebfedda16e319cf814198fe0e71ea2866723a2c96c2319c303c6a0d879d7c8ad2ddf01c804be54c97eba90ff58fb76f2f4c23393020b3fd513e6c13e4a45faf1ff2d473fd3280852d38d5a32139d443e1601b9c2ead24b123d3ff4ce65ad3bfb17f6ad727f8979468bf0faf0d9e3e102b876d8f56d76685d9448720ac954476b04593e9044df47637525e8e409b491e492b9141faa431bea0be2a9525691140dedb2c6f289ce1ab4dfce6792784abee44e200bb4b51fe90f0f3790d4eaf770cc09327666afcce34c2f21173937ebaa59fb24c587ca9291c3f00b28574e9e1303c75eae2da527805b4a35ad9c6d5a2f7d1b9acdf943476ac0d24a07701d2dcdd835a1fb8878aea5963533f16b3aa4b379b690b6fbc3886e040fadad5c50a66e721fddf1e89fe01ede884d235934f88c5a628f9fdb46bf2b12712c69a0bc774b81ea47db63b577c7de565cdbef8813ef0af94922d04ab13a689cc062b246c277e2ab82c8469bcd49535800da26b5b22ff93ae68206f015f166c07e9d6b1a83a6d9a95111598118928a4ae91ea9752306b243769d08b1f2026cfd6ed0e2673dc1ab5c38e77449d77f741fc30d9be0e7eab0dee7c814c24c6cf9649857c74550a0bd7297e73e80d61a20698dddb0f47561e191fcc2de8d3d6656599683f4cd085337f831c62de263cd66d077585f0beb580c1f71b6817c94ec6cadecba24068db37ab6231e2720810641fbc40a1706436d1a2777d4e0c150b558b23d65d5d9a4a91a2d86cd31a7017efab5cf70829b29e1d936c13006a65535e57ebfbf0b2038e70d370c5c6728807f050bb4d7b938c09f828ccf0b9c2eaa1e0643202ce0bb31ab6303d6727c8a75c3d768c1ca9162bfef9576e0e026e59ee29e35744bf9161a9fbdea50580223bfebd1035a8c81bc1d60c1c0a7eba16f4afad3ffe85e2e93d1473fd386f03ccaaafa161434d73fe30e35c3153284cd1a768c92a47751e967b95ef90554f7ae3cd1fe9c3909a604cec51b6f5d2b94ad9bd6477e64eb437605add7197c4a97e004d6afc77af77f902cbdcd820aabd229417ab6c257648b5b97af19dfaf1ea192484c7d784f556629e7090d111cc64d5d7a63bc2c6cc5d28448c089e9c334058b6165b13bcae345efec11ccdb354af868483f79aeacbbb9cc4bd91e848b2f3d328e381ff680fb868f3c9f20c9a5c7410018ca2ca06b472468fb206d893d14da1d8bbfbe03da32bc1012805c182c7053c304f22bcfc0a25d1184a29dd2fbd3228a243c87f78f613060c0627c8124bb5345d6fc2a86648240a54317ec1c80a21c507346261a31d406d320c28ac29cf77b005d10276a495a33b05d1963e4c3b67a9d4b94a24aca7934ed6f79f7e0f13830c447f67e26acd0bdeebee05488d27c5cbc6a81e02c9e3d2a61615cf62c8e3ee57e729768d7443e8f8844604b01c166a41c87a9b7f80c9e1dca62a4fc5b2c71c81a8a237238c5f6181f0205338648cc0e2ed5d48e7b6975d160f8f633dc363178e28f8129a256fcc4a338b19f4c5ccac1b46d590756554abdd9e377e664ad214ddd84bc535983d48a775bb89cb5d6f06256767e3f8d0cc79fc71f97a8473d405538ee108a5dde126dfabd3c0cedd320f37958c2ae667aa55dccc25d661fd35c793d972ffb3b384ae07c1f28bb55f14850d0d0531670a0920610dbeda7372842c9005998c58c3ed7a98008c2254ee82b3eeb949694c7d2762036c9ff44413f83fc18639211c90fbc06f29082c21e816d0915c96441db4169bddab5de2c5c167cec3b3ec533dd0e958bc9de32863272deec6969e05e4c8835c4f03aa99be0012f7a80da6c070127d6828a10aa1d8cf9a9cae42ef02774fadee323dc5ece53864cc93224d5c2b47b8ee020591f33a922f5eb0964a2b53caa32139113a63901f96a472a9a538db2d0a969154fa0f686a13c18104752bf83ab299420c6dd6bdbb83b26387285f1e0046df5954213657fee8d2dc60df4d9b923e01394d4d55bf896b91dd87f6224a4703435c0fabde826cbac6a9c4ee43cdc3df290ac2147ced45797a14c4bbdc7ecf9cc98e150ef36282f8ed4bec6db9969b1d04adfec12373739862ce90cd5cc85ff7bafb82ec4982acd1397090e433c6c16b677e95481919e0cdb6e9724f5e161c2482c7aaebfa02e2f55934cd8d77213d65dc8e72f47f33fa35b0cd7b0b77acfe4be499cd07ede1f98e50f0c47c9cddef753741a79f7a280fb092fb97a84ba61815361ed30ea95ec2613697065a49dd328334a48136c77fc04c81185fdb38ec22eba73870b001448ac000cbc1a40d0eaa4d9ab5158f0f1120657dadd077a41f74437782012111794596c1ae64c99ee81643973a6d2603894e30e64c232ca1717e681cb077c913486c179e93727886eb585ef770cae118092c91a6e42f471d8acbf4db5f0aff4b2e915722379e588405ef213bffce29b1de1bcac63cb000d3d69f75142f98bfe08614cebf3ffcf5cbaea5493c820b8c83e08d58fc624e9c5dfe81100cbf0b2f54d8bbfbc8f146f099dc94b5fe405cd4e8b04f62c5a8c37617e1942bcaaa446f5662a8e7c3afe8bf2f7025df3bec9ef013613485f46b043b0fb0e345b0b749e95dee323e8f45edb1ac1724ae22217903d462352dd1688fb37eb8c1648bbd7be2c0ebac1b26d12178bb7300b60aae4a8cb56f406dacbf63dbfbb1bdf9c12a9c220e172978cb8d5ba3796256c0f7b6c08b9c6999f59a4dfb3ea6001c36b572c855979734f0407c77e4e6497d84778dec3196f227094bee52425659476b03c7350457c5773e6fb7627b7ec1602b076f34234e73e3bdc8524d5f6368186fe254d320b0ecc1f1fc6f9d39e962f09e0b1204439203ecaffb7354053c55643ed378f6d7858c1a364d06b75cb7557b2dc64b806b12acdbeeafe28fc00021b8a5be9c00c94df755e0245f6d6933d7939792d233937b140296978495a33ddb3f896f3e3f3cddc8ff95a9a1a7dd31dbf3c842e4baa480121df29caafc31dca01bc46004051fbe41ab5e7c00d01f728ad1161280378f52589cb49bcecb8aa13f00628251d86ac517f8e1db70b13cff1d76d359b00809b19ffddff513d5320f3186e13e8893f9a926a4607d050e67874afdb3332cc4a0b4abdaa5384a960464eb28c3b82ee7b6f0488eec791c5be8027b7b0dbbc25c8989f7acbd5a0653b8aff31e2cc7c0579b01db35f71dc853c420ec15d5673e8edff69f12185b662237586f8a40d3adbac3f70a156caa1e81f9abddb27a2ce4eecf4ef0666d132a23f242fce5a315c6eb8ae7196f2c9f75de22348003daccb585359e5f0bb9d185dedad2eae6ef526d7eb5f7586f5547801706a77959535692211e2e1985fc9cee2b70ba2fffd4209c1b7e7dc420bd6fe41ffb7266a219a2b212af0d342df5047040359ae2255fb02802cf49a62ce58cff9c905c2c5e414d930ddcb016a784be307b38ebcd20515b972a175698424aa234a86dc7098d1745b38f8f55543538f0bec9bb7f9a3f6b1fa629aa371f30a82af79ff6645dd2a46b9fa5a9d57e4c41df31ee09cceab7a122e4c6baaea24f39e8ecf6993a21a5eb1ff5897fca63b353dae91d4b2509e787f532eecd05679de943f23f41997ffe30a40833a582e3f7a5225a98045527a3378de56f212b76145d10e965b35706f078d922ba0e1ea8c4a6f2246b36e96b816a2e6d23728473faca7b62f93c7f224bccff6cd3275bdd19d83744c06bcf9f05fcdda338fb2906a85b07638012b86d68c68a8a0bd00eb18c7308813f4ce6efd2616edf25e3299e2ed97a6969300206129e5139d75981a681c14b7e895d7e572dc35f97e0d6da778e28b5822b83dc33bffb200cf475a2bc792f2826ed65d2c98a41e6ef1366b4bc60c208b64d161bd0ccc3be6485452c8f3b6585145802c77e74b9644b2217879216963de5c42df5f9647d2ea3614ac5e82ffc96f37b61cc58d053c6a0b3dda10c175469d9c5d81cf00300962ee8a973047aaa8416d2c70779b7ebedd4b192b6f71d9e9c1646cd4424773c11dca3bb815b7887b30030a68ac8595f42e8ec87e0dd55d1656053aac4c8ecf1cd9daea66afb3bbc3bef84ac1fab7537050e2c392509cb360e813c18034b8aeda8457c3b181a93962bcfab037e484752db5e147807437405680b159f46bf75b77ea729d31c669ad06364c601235df48311c0be6b512a2d58f4148ac302b70d3e511a46faac54a25e0b5ab1a26d11e2b8e841cbc7a9dc1c089b985fde80bfdf471b896e3ca6713c4cef47d8e57edd7db7485beba64c0a7ca7fdcbf2c336f2d582c59cf9117cc34ff83fd019c0671c3adf34913dda061e7ad16617ec43fed8140d220ce016bd47c8231b44a66c6d87b49190535948e37ae712d7df4f57b92c22d74a408751fa59e5c94717a37f684582e6d69ae48d781374b5bbfe743d843ca29cf91ef4290b2415affc5b916ee953680ef8e9ad39e14dfd36f4c45e2a3cf0d92bdf9d82002607552ac2f4387babc4d09aaaa30bdc28dc0c7bcea06b2d2adb5723647c1be1680467d7bf8de88d930cc0255cf5a4dec8990416c98fbfdadf73e818f4538f3ea0de7d8ac91a464f81bcb64f5efc9fb86b3c38e6ab410a964b2c08c183f1e23c94ff83a4f9cfa3427392dbe6f4f3a416564e04803c25bc331f2df1adb8f2b6c80ad9557a30c0798d5bd32292bb97b8ad498b9c954348b87708814ce328159d9e5ccc65b9bb3195192a950771cdbc8bef2d0f0fa3a29532cf87f7446efd3bc97d9fad3b9793552a60483e1547367977b319375465d6764514fe72d41652d02e476ec16fae70a61f6efd07ea3ee7245ebe8c138f053884a435e57cbe535b5eeec314490a8ce507fbe811777219c267e797d860e1541bdc3b9da12053f0b8cfe41bbfe6598529c67ebade0e8f2a3d2435d525a0fc346016a0dfcd3daf69e88c0ff538324cd1f0c8f1da0cf29bcaaf4c267f8d378477ea48df1ecab4f94665a5ec7ad60a2c5837bc24522b71b03f112c3d055c1d9361e3b35ce41d782972fc77acec0598461e3f4545c8a59182e9796e3c990d6e8cf6ca1c8b74ddb70f379ad14b2c26034ce2f945ddad99d13ba6ffb4988eaa8e65121b9f657cf6f75cbf595769986fe2837b03d1bf49c0ead1d35d0a0f472adf085c99c30b4f04653876f1cb4d2906d92c62157407abf4d500dd644431b754969ad12b216483d9610222d86e6c0546570e7335599d27dded1236b013e9bdfa61de28497e8b598eac767c57022f0f26128b66325c706ca5317cf6d62b17a3016b56363fa5b52daf9f03514626cf8b9fb619011419035fdfef8387287281e859f66784244c915fc11e0a56ba134b7a84e1e8989f776f654cb4346af0da4e152ff98c487c1caaa329dc028521a34e66e8525c84d31bdc5a06020f6b6f8bd73175c238d0ba81af9b70cd385411c028bc7d85d3c42bd27aa30eb6683123c51b75050ddca887a7fd9ac0a262083da5bcc1e3cda2602bc385ec8f93d81e3e806b156187365923bb0e25ed393586137f067f4adfdb4c5902be9c4c8b7930f3435e558a7063d2a059b7995a8da027e32ba65f39e369c39326cad18bd59652d9d1c6fde1864bf75bad37679ec5c448eacabe096bf511bfa54aa1acca88f559fa3e30320d16614bcf21e0f32b7c201735c069493fd4b8cc324082f1e78ee96b488833a46a2c0c47b6cb322aa7d8d3c42f9f834d4f210e4cf403a19524dc84a0a08cd4fe25e53940847f5f8929a714a185ddf2e6a1467102437fa6ea12522cf9d205b3261697d4fd539fde781140ce5ef7893d35750ea76b4235e84d31e35103c28441584b4d8984cb6635834d99619c61ce2e59e3eb31bb3ff6a5550eefdbfc7181c856b922473143c27261580c81f22d40b2558c23bdd9cb15deb98bd512fcb7255c58916f01c8a2efd52a99c7aceb38464e4ac66b3c72d4c10745d6c67eda94b6d6d774366969f1a35bcfd4963f6c153f1b61eff182679da86aa5afb4751fbcd3084649a2f2e74c6890871f0cbca06d048b90a29d7c3358b8651ef28e5e97449aeae2427ddcae38877c34f9825819ee3d75b3333dd947c57a48bee201a984e277ddc6da42f8ec3f6b13519afd173773a9dc6450ff8c87376e4edad00860b1b8b737a6780d72ef312f6955a71f18f0d6d1ac4de1a350479cc29773275fed6bf9c91b38828e9994003106ccfb7e3849840eb0466d5e3671583626f38639b0615b5375aea6ff9523217447a047a9b50a7821acabd983d6508de3df519f872fa39c383ff2c43184bcdffc189105839fd5b59153e1f08f9d8d6293c524d91a938d7bad99e7e1305a9c31b6a5266d024090a7f2968eee5f46f278a016b1758e37ae2b838b0d6cea95cb46c439191a3b38ec63c7f3ae99eac389e2e5cce9f6855809116969a60af8d7d057bde43cfecb2e0474895ebb4cf1e853eb48bfaf5150f9c6b02d89ea6e7d3818a1f01d6809d5d5f371aceba4af53231640057fb4da5c4645f22967a8a3fe0edf500452368da4edcdc99033077bb5e5c5349f52fd7c6c486e9d50a2f34651340226176ccb0c7ccc8b011725fc61111933515a9cda85a95af08171e2b30169e5a846e7afd933095ed40f88dc08e90763929e33ff23637a886b20c69df0a453f0215b6f416a7de0613463ebf534c64b58ae98ef6448ce13ab23762d49f6528f993e03f7c1d5192407208db089b1002ac802b86f79a50b40706e07342773d14ecac120d70db865af931128215da0ef9b5f3a560ff05c5cbe2320ca2dd232cf1e427d06efe7d5032898b693944d4b21343d6eeb56a356e2f70ff22f624ff202b56c5d0a5a44105b0539f60d90f8f2767948b8c8f0177daf6ca57d290d867028e611dea5dcda85cb9b04dc39c95cedf3e3780194c0cde527b742cdbb34f98daefd60ea70162f32f5c1bda4562a8c1533af3652f4167af195c476fd99cdb4dc414024f4abaf31dd28e62c14d237afed254e86cc1bc03a5b99970427038ce4efff526ffb5ba6c4004aab4a46eb4984e5ec424482c2ad48004e10b6673c494c341060c2aa5cd75121de41f1139a73723decd804f15ec88db58faf7d20c803b854b425e5deaafe819e420e5a645c068606ab5136eb6c0acddfdcce5cb02ae7ac5c54711a08255ab98d7b1450e5d108e05c82ec5933c75c0a18d65a273c3c48ee4b5078b99d0f848809725a20e21c6f6b2e001eae24868f43e9fb5b715c40b6a270a5a467dd9f907a69b7a4ae2153a4d5f56cd66f76ba3aa4da023afad0664727bebba562d85159b852b965c6810395ee17b0b0573eff410c2c7e683393c2e2157ab73d53ca222eff163b4b645d4027c51cba4e4510b2923b32a8a74c2c1093d6548eb0e852bd5248e2a271441a8c0e23cfd22c6dd6710035229255999d8d5634278d5f5abd1bd5cbff0ba5c0b8a87c57e6223c7412650729150eeb12751f3f8018bf2a82ec3b205414b51352292cf5be4943175ab114af52dae515fc11f950c32fb9d046a28efc4ee1c9965b32311c378536bdf83ba6fff55ce94a7feec6638126abad98b8bd1277a6e2df6646e4ff31cd424d90736fba7fbe50c0f2738453fcef17326ac1a999e7acee40e398fb2f4f233c96d8701083632a7aea63bdefd1df69c7c1f52596bcd0620ddd0da2912ef8151130ef508b8abf63ab24701e9d19550ea8438074b91fb16f20887611b9fc994959bffb4e33c18e5a0a587d0a76bbba6f4cf61326d1c1b42f9b945709f5f63ca840b0a3382e170dabdeff9449739ad1f30e4a1e4846bdd8bd7ab2fbc5c0e719b541102e49978d2e30424faf3e033b1faf5950043b21a208d6b5cdb91ab71ffd6ea4f2b13dd8a51ba06fced5152f6e62965725424822f94aed533a758600940694645d32d09c1ffa81627787c04a36fd099793c2396dce8f13c5d8536adb3dba288a210a00a6a3aa0328a691229395d8471bd13aea53131c1435e122d1e18c74816626e2d64898719de779cd07a68245b2d4f51d1c5d8f805756acf277e1fb9ed37be1ca4803769514e5729085d504a8800a72d5db9c5794785e3ae2120446e48d3ceed3a131c96442e8e781d55d84b4ee5a6503aa307a1dfe25ea8eb9a413328784cdc986ec6a42e5af744940a30cb3fb7290056968633f052b0b36e589a16e065b194c9fee376599cb6a841ecc5c5039c739189b2bc5ac7748a36ada0c4e5206d824e51330279520aaa36bd245469937af67653072aa7bc37ac489de056381ae0117c9f8d8fca708bb7e11283e0a3f77f360eea27b889181ec1d6545899422881a4108c2e170da5dcf31a2493206e8feaf574fd1780e4e5a0923274f3cdf04ad2e38505ee5f492e0f6ab5ded531992690f3995f73e3d05daa8141fcba9533d1d09862eacc85405fd443490c6b8bce8f31b7eea30ad253caf2c74a4dba347aedb46b7cc9b12f2c50018eb2c38e8dd5f899c549b5becae74b40c325651f0ec0021a8a3caa2db393341a01ed7af2254b5e0660e86159d0862b2a27bbad287bf63d6d8ab71abb6ed3d86483204777c73bedabd63bb7cb47667adf85dbaf88697578f6d4712a1e1afa1132119ed1c95a28f7a23897761236731a15b2aad72a3e8e4e524f4dce465b1696338226339d678e3e6e53371541b484a3a0c84331cdfb28f4ee97c6db12f8690af376eda0aa0cf4010bbc39cb05da76b056a85e5857b2a8af2559f07172fef51fcc263035098fcc67bcd683c7787f15355dfbf1c40116663d48126a4ef7aec5b8b32dda078dd4d2787c1252f0615ed7d8c711a7ef0eb58f29193fa8dc18f8811a1f450a5aa365debe7598cb689c3f30cdc5c283f8facfb12d82158b1284bc2eeecd1219f9e11948304bd7c7a27c24f7699d210133cb272e24470516421ea8106f42c2f2e7831d2baf09a0f036687e5d53ef0e7433027b4457cab648cab13dcb2975c5465b908b9cac2841d558957e6f8a1f015a1df4a8bed695424f1bca0d93257dc51d5aae37f02de43f774dfd2d0ae26c44032d3412b73a4a8518680d6e22fe2b19bc31ae96e78b409d5bb07df1399ba7c985cfedd968d4caf134d6103e85f618ce3ad803d5f2b8b175817d46cb4a853719e86ff7b63ea5837078839b082e87fde2a71de83beef8641417a04551433a0d1873ed8de46d7ee0293a5b73a21e53d9e56e40bc20f57374ecd6506fd722241f2ac7de0d7a0e8d5ddec760384f3a4c1d9c80bb842fa65b3d4d35122f87f62f08d217796e5d02f732a89da1b1a33006ae5e3b4ad80a89438b5394f059c9b6aa604091209f431713ceddf8a15edb125b8be6ea398eb916075a0fc1e5d15e2ccbc3dffcb4cc41d4052362c06c235fdf4f4dfb891ab8815feb58f351583c3908d15ad04195c95724a57259318746b294315a7c23326e327c7791169c9850e90e802645a9047e1f4544a302c6a6dfbce044a809870179eb8e3f4be98f45a87deffc69fad17aa2d67931dd730da6a3379fc4f45a2a0d371861e849200f8acc6b9d02eb88f860e8b85cc9cbb283200a37d9e1410e57065ca351938198c4f9736b55caaa8ff53f6359d39c0ead16607a6fd4047a0bb40615b5eb4057cef27a65d358d9999117f06c46df0803c64cb0cae2cace4b0200b3bc10a17d6f3cf9b7f46ea69ef15441040f63ab9c05a17b653722a5c7ad1c70eba0006053e349951b52c582960c48f8f0d32068bb84f1de37bb7711812d3294baa14bd53d0185271c638d466a3644e9ebd43781369c9de4b0fe4f4a2ae9b914f991b7de3a8245f3ca685e04db36efee38a8ae8ce23c7f598958114511b895fa4d02b6eecdc84b768a73eec6c1c5e58fc32e65cf3b2e0b9f09e4628827f6e3841f20a1ed8f2eb5ec48dec90c765b708435f93243c2e8dd2a2ae4fe8d931d66ce440d50adbf10ff969b1d5d378f8344155fbb96e0684e746218deae1eabb477ddfbea7a672f5ef643944acf44016578cc1cd84c36119decddd7ce4067b7b5246a8a8c2edc195188900362e9c4e7f20d83067f37e14a97718e4333c1df20e503456c2bc363d4e10d81cc53b9a473cad8bc647e16b32502ef3484a94fa00141770d543a431e3aeda266bfe2f00f03ee03727801a9f62961578fd197db5782ac8f0c869104dc6019235754d5b5f8d99132f13073782359cfda72146144c91f6a3afc7c3cf132b73a34bf24d10834784fdf1eb92abd264d62419fe6cfc17ef03b685eb7d37eb8740f62095dafe9614906a2afec1a639b224e3e3f9822299e40f77ff786ca5ee3b1726877ca71cf3d38f3f514f8de87bb951593c535c8c2548b8c7c4d4ae017a5e7e26fea7b296779258cdc363585354a4af6c5d449f922d17c41c9bf6fdac285ed26c9267d5d9e6a874330735ed182efed9ddb2578a827e5339cb41ebe2351fdbe6670e2aa0ea14907687d681fa60d60e3fdd6f5fa030941f42a845c81c9d4a6daf422035133c17acc19ecd4856c23641b488923b2ed57b2617ac9950d5bdcd741a082fe13836eee1cc549d9c65069e1e24d9e5b37b5a5921350b9a27504c41864627f702c249dbd639cbb203da0abaa19e47e5f78d1bc1ac3372db93e227e4011fce25c5893ce3055f0942f1aa817dddba34d84126477b259f33933ca368aafaa7ad61c24fbcbb7361c66c06fb112e42a38be14621cf6271c1349b1991659cfdb8363d1d25fa366092abcc0eaceaad824958a1f6c8b70e4c0999a8062b0314763658ff514222bb787aeff702869f4dc9f535bffc7424790eec923b9247fb174d6cda162c101afe0a55a71d21228628ec202ef51901c113da84ba88a9637598eb0c5a5f54c34cacb334d6f9ed344de38e44b1ff6439e32ccc1da4fc2ad4805287f2da1da7133c604ca6db457f7b69cdf89f4aab7e73b6d784d820b767691412f49e8a7bb299dc77c16dc300bf700021dc392d6482a1a6cd3482642a01820012792c77652e80a43f6f239ac032f3e2b6aae90166f2925e1ddfd727c9c97110a966c28a0cec02529013994a895633a96d37b12df3a1cca9e04903102e0244bb02c1903c0eff890ce617da14c5cf9078f88d2adeb2f64735299adb8c164fabea145e9162b6917f0802e8e76032db3df44a9e450feeb1f71b60c8764848b7b04b3bc6a544322a70987d456d7828e0af3d3eaaa233f44acdb890e24ae72e74ab65d1c2119bd001100f4988a0e1e32915e853881a5fff35be2e3992d5c57a8693094804ee9d131dd8d527c04f7692c47bbdbf9368c856e39d483a3021cd12ee74742059c40f9dc319b9273cd0ca048d484a9275e582fdeacbe4394122f7f73bf0f87912b0fc547ab7218781ecf7f4b1eedffa150e71bb4c43878b73d782475cc38b8a03203dbc4775436c4bd25a1a6a07e5db1f641c5a55b7d3811c9ac8d05bc46c21d8e49e5f225c242aa7792877b5a64cb7f1ba8913aa7fb2ba0a62d0e791ae4639b74433656017fc2b43ddcc18e03ff918974305aa249990847d7741084ee45303e6c72c0b39a1a44abfc584adbc06cdc9431fce96119930ea6e964bbc4eb6033f663b65d97c49442547ef5d9cbdf268c307f9098935ab0a64bf30383fb59e70cc30a5d42af06271e14bbb33705f6770d21ad3d06aca2770a3a0b6b6b235c2d5159ba5ce35044911b98df649f98e5c8e3604fea9f9d04fa5a4654ff22e505583f5d5665990654ca472c048fe766745690a4273e048ad9cf6904adc8e21e8c6d84973babe14cd4c924d6e5f4b91c4bbe44b34c15f021b077c261ead9856db20c7313124567738aae21fbb9ca2d3893358df5a5805b9173349ca8982baaccf65759696984b8685af45294d2b35d22390f317209ce7fbccedcf6ddc0a32a657e5ace6d3bb1da7b278574aa1716fe61d71ad35b380e54f680383f081f78904edad7c69db59c6d33f09e8e12f9e661a1f56a81b42d312e9b6a37586104a24318e4ef48ba9c941adf0abdf068e837fe61a2225e3c9822575d051ca441d84b1cbe3a020b283e4a35fcc5ac0838065b431a327e0f2798eaa617811b23ea3addd0f8343f3597238bdc55cac0135929a1f12dad6d6f3c0ba44b8dcddcda9a0a84a7c9e22628b5ce58104137420fea84ddfbb8fbea68a48ef0b4210312cbd23f1baf28103eb3fdb09fabc93188d98894903d3e9f3a869e9f5b23b0e235df6f47b0adf5c99b5f8d8908ad39fe13057ffaf6b71b942362f45ed5195e1eb8a4f4d9aaef0aad0f74e8f1c4f9d74a7c03bd228ae6452f249cdfea46594f9a44a0b293bf0ffb75451f52066bfa5393936f0b7e3667037b407bd6d50f809502e5508b88541dbfa74178b1af00541c05609985b2091b9438b6f4c288f79a0b086795a6ef68c64ec221324fa043bd7687abfcc86dfdb1a9504251b78f38b0c461b514f6ab3dbee00c83390361bef18cb5f26fbf820e53ee875b3afb7390b8bbe0dcc87cd9110859be2193cdbe64f8f1633dd8b6c632cd74f9b8535f628fa4423d775506dfac2272702095b4050fc598d2d3b01b54422210669747e7028680068021ea023b93a57db21d8aad650db0342e513b05a9c9bbe0a4b0bb78b5e57480d9419ee60cd8273df3a948b54f4223180012bb6fdedbbcb30aaaec3a058159ff4a03ae3ab7cb42690e26d25f3014002916974875a5a15827bb02b9f2f0fbc70856bae7451358e8e2a3e6c86a260bbf4e9aa5a412d4cc3302e3131b0290dc887277515114591e932f95f6898db4d88695ab1e724e62bb75bc05e7526d34c98a292f1983faaf390e124807fe1a5d223d265b0e828af95965ea958a7d29bf5ade8d994ca0eb519051b40cc035f2dd6e812c6cc41fb64ccb7ef1c44257b676d23c1ed80640c0bbd63584a92bddcbfaea2ec6674791d853dc5a55ac06fb9546380007379e666c5fce66358e95a50a66ec7e067afdc8c09a748d92d2ccd2bf629b27db369f6dd77850de03c0c6560002c64b9c73cb7b2400012053019c185fffbca85105118b2e44128553643d7f80ca0d661a3b7909ac5cfde6b10a4242f8aaa8f71f97c48ce83c425f8c1938c34203fd0889066b4bb0cdef33b120ad548fb2cd62e34b96e8c2f809df69eb7f16c9804a3c8ab9598236daa79facf61c8483b5446490e2dcddda8b689d8e456d015b23247843ac0e1499360381a931b19901135866d2d424e4da5d149e83da4e2dc0b385b2bd9236b3f851b8068f47762a5ddc30e2ce4ebf564c82b1f76d370528f1ad2faf1b236e2ee1f716b98212bab6c34b8b0ca7e2c2a8bcc000fed9449974f1420f49f88fa229dee655ff97cd47679bae628dcbd86d1d7efbe330b7d09e0b4cb8c982c36dff69f80e6041130da47912ae895b2075d01dde2624f7fc16a2613a9cc8507b13e1e7c6ff7395b5c096781c3544f169e0ed3376a0af04434f0a0d4b29a000a56d49cf18321e0dcc4e34bc015924dd5e837f2b424154d15e715e63f0739a940c9d3eeacde7f0aa6a6c6b3ba0263425173964e40bf93ffc06cdcdfae7a6222909f6fefa8c2f1177ff27e7d7176403945e624c6fa9a665741fbb04e86aad3da0507dd39eb7fa0b37cace40ac563ba2fc1144bfba354955aabe84329f202257c0d0e3e73d4a918e843530023d5f68562b460119814fb2dada6815e9e515c4d3ef57a70bb42d70c3ed0d2a9a11bcb25b6536456660418d4a21f045dec40bf87466acc722b8f9431c50436697db9f740fac2eae5a62b0245ebef76e6a94687158791d99115da3eed46f0c1a503ca96f4d761bf3707991ca4df4426b455ba2529bb1733e1d4aa7841991289f6e77626488c174b74b653a967f4b5d1707742ffc443059dff00f88ef232c36c26e07151d3e15830d50aa63c151744ebb8ef07710f3ab609eea4445ab4663202141b39403096fe4a8624e5d83dbc5c08ce53f563116c36a80050062d3b557e876efa5e975b7dc810d1ac670fdb5b846b3ad215e3349c3f687250c355cd9bb4a631e47389b57f2ffb009a9aca4e9e30078214d659dd92bc99c8b5e368d4fb1c74b83b823247226e50b125d06ab068afaed912d0b3527ee6accffbd053b65514c2639140d602b9d884496c89b3facd56aff28b783b91d40beb11709966fe55f7991372f434f39239f731f65c763aa52aa1332e6329b70b25cc8fbf0d9f500fa5d7def7261782dbae3365e0052a9ef487df81517c1dc0eca97b36e6e53c3c7dc416fc5fe969e4e7c4de7d98b775e57f8dafe84ed13d983e7936cfa733ea86ebe36237787d7028a73c4d2573bbf44fa6b0bc955f2e5e4a38840c13471d76b9b1d3495acb31c7be4a31c2c3cc4297012b51046421959ba8e82e442202723da17e11b1d98b638fcbb57e192f162eada0f7075e7527241625c58c58b96acbbd7a710addbaf882f5e05a12c939847721667924e25b198e3a3d20f8507523d5226d5a150a1e01ed88cfae0426956d30fceeb50e75605ecff4f9283ad0d724f91823e28bd53dde04ac659c02fbbfe2a32b7e8f75d112cb0399db184d12f5d0dfb496cc7a9ac3fa5b4de1e67f0dda584ba0a83a59b16524fddf8e05b040f5a18491ca76e966efdd27d41650378e60f121dd79a49e7bfd7596d379e88430226654415103963cec679c8c37ac3f82a676387b0e654f6bc52bfae51567858c229a85410a26f705e85442615eefccbf5bbdefbe7ad9f6d1265139b9ea7ceab080e415f9de2668b35d5f433adddcb889bdef9040976f98e6cbb9a61ba7623c371d14b140ebbea924e14929d235fe3ae3a321559a7598e755f3c7b8405ac8e3ec8a532ca2bf9bcd7d8e2b677a34c709a0cab7d326ccbfb90113434c77e8d07edc3f06f6bac18cdc69286eac06dd3b6afd7824a8a04ad9601c0c1b2ec7cb75c6c6f2748f24ebbc1824ea462fca8ee18939e713511ce6df2b3aded526ffa4f1e4434da76212446d0a7a5fb5481eb6324579f993f376496a250573bf79a86623039a1916f7e970d73f367656333781fa08fcaba1596b5520bce8ca49323e54e20080de40f688f0bc300f99a931a848feeb7c17aa39d58ca25d9137e6496a493532524587d7d7919d4ec7e164acb3b4521d4073e8b8e14a9286d4e4f35ee9ace68f2b95874bc7634382c0edc57829d70ae98e84bb5e04bdbdcfeba35f069f5e35ca8a641b7f137136630dd4cbb2e006719027623fdacc40cf18cb312c7fa6fe7a06171e6ad2bf72f25ea44e623a3821eb326dc1d75ebb2164fc673d4f9a8432d4d7119f672f030c4cae270f027563dfcf25b3a7e7c366d86bf7707d1e25a94b6f6d56eeecc8760c40b52c76bd27ca572a82d54bf4c175bc4ccbda3f9750d52cc62de42b8f36b577b1fc52bee3f204a2b880af59cae4e42759160644d42ad8d4fd92a3ad26eee235e65e55b81cc90c03b418a7fd9ace91126ccc3bc9448063f40bce198ab4528229adafd380285da57ca9e8d210b04bd93ddf6abca51e8eb5965b00f033847d4f9ffaa4f0edaf7c0b51dc084a7a732a7f4d24b35cb5d5404a15e89f116057062115bb31fe8b80889021e56d09045f9c1c5b78fed6ec70ec95d864cbfcc06857fe35d12044734e71afe941aea3ead1c3f3670ce194f76d6b43f9e8c93a84270a7132518f346bd2c5c9da3b0ac4ff1246ea822ef0f584c266543da76d3b8e594cccffb0c16f501035908c3ff13651b8cd4461c354a8d7f56627cfb501b77617f76fa3e2ac1025b659c8f1689596f59529fda2d4df9e3988cdaef4e7e5c49ddf9ef0613583e5482096f8286f7dea13c1b709242387a2e5b1614f0a4057d7b9ed81a7bfffad716e9f5d33e190c1182f058355ff63b18935e9eec6530a51f3edfa366738f576c203d2e6cfe7ccdf21d6d84f128af70bafe00f82c4884976f1c077277eb818ec8d963a96655d094d58e143dc334d04fb9193071c41b475f1900a35d286aee973e2781a21fcc7465e5d941d6627d1253fdc4011c92bb512a0e1f72340e748e03cdc3e9183d6a0b3db702eb0745acf2749b23bb9c6039389666a03d883c6cc155715449582b98cebd313c0ffdaeaaa937c513cc3e606145ae6954d4201a807d5cf99986d94ef418c6a952a5c2c175e4504a2ffdbd9b794f402e6162487afd0d1e97b4de1dfc821f25a60274fb6699ba12c734f34e5a2d33f7cc41790345241921302252f7bb2a0152308dfcc38ca39f0174d7221e127104167b3fa62fcf022e0baf7f428207d6df2234410b6e2b6b151795d38df93e21594d9065ad3ea8a33c0855ec3bdde41bd6b4f4f63068a6ef51d20d7822e1428fd065fad0a66a25cf8ecb0bc206eebfdcd2038742a954c2ecd2ba140f2dd355f2d4e4dee4cf6553c1cafe7adfb8a1d264a67cedff8b24f5c10546be57bd22cd1247b23d3e1b05459454819095447a4102c4812427bd8437f2e75c97d989d04eec3dd9d8e8a9f945e891eb9c448a4cc5383a824cfe016402d86f39e9e3381fc20bc791b7a060b7b30f4e9f88cdc3f260eba560f0dbb7ab6d1e4662d3182b4d84d289f583615f6bb2d47066fe4db1e1aa2388465be8f835813edacd130f4dedc62f20cc68a2cef28aaeabe22eb5ae26d6541e1ba3b83b3c059ce4bb09666b1a49043ecb1e972a9c99424176945285c3c1b1b2dbeca2a9a49d270cbd7db951643a38ff68318c10462f15405278a392b58e15852b0af33912cd471263c57d58f8750b345849883910c40439b5ada861b3a12dba140057a8543a346af52b38d2469359b002e97fa28b93a60fb5e15eb14048acb172011e968c65b224d88bd08b7c6099e467b47c817bd11bfa44606092eaa75155aa3955fd8f4b6cefb9ad10b5f8d2e52c389728ce215fc3c89a519608699a96fd6cddbb8d880e1ed26b677d803ac469970e2fd84640d25b0351b8bf2f253e53302d31e43d54bbcac47919a97c7ba1e2b568881068f00bda092933923e4d153ed9ab28db35a0e24bce232c2a40f95373990c8b0bb84dc2463e4112fd9262549cb7c910d327d868803048bc4ba32133b918a19a48893ae69c9c8d19d94c4ac4592f34353ef538e3829082976281e03ed7a448dab9c489ca887cabaa97925ab07214645b4fccff26daf25b9e821f756a147693914015a1a712444c3a3f851e11f24ffdf3f62e9a63ee8d10b747145610258cba48453214fac499394be1918f96ec2a055258d39c74be3daaaa438b2bc61b277a93bbaf8847dec17a522aea2b1a9e8bc92c0baedec231b1e72c734c617647af7c3967a8e138810664e0c3dbe413ef0322fa6d784ab98fe7adbaeb3d5680d80e667a36db6a02d0698c87bb8127dc55f080667bb1f0f557f6f39673461091dd0675d68d63c3e09130a3cc27fa027311df24559b5141d21e67f3e2ebb92aa341090ed81a747d8e21a6747e2fc419a48e952defcc2f4e3abbb5cba06a0eae24bb1a0c647f8382173a9e6601905cf180ad65276336026e04997a4961f2d71fbf99761cbaebda886f0951d44b561c2a47572d7b44ace7ea4851e941d8739c72c34b4c972bb1706f48a15d9d18411a5d5668ffd1f3576e8e495a71d2d810d35986c390cf47163acf69ffaf0da6039dbefcbaef29aa049ca552104003c5af23838b26a3d74b71143c93b3558af6db0be98598e9b0ff8a2145ecd397d05b95755bda507b1bef5cf0ccbbf439c2a9692b7ee1f16a388a23a0328d3955d44c991e388dd0e19ff32d0d3d5aa8882875e33fdcde43bba054aa4df2dfcbc7211765735556dd5faf9d16b603d12b73ed2a137329b560bb96c52f06ff9fde4330248994b40b3f65b2412376ab801292217a12ec0e4239c94b5905b9886ebf0c90d4f78623086e8423d821a95e79067dbba20aada1fe3b71e094c3ee8e13c08ae62eebe6391af4a18ed86c169814dcaa359e8a1f4f9185f3fb6ff75be846dd8f703315190d1ca7abbb1fc7db8612d7af3dcc72912bcb5246afbf3933c8d0c58f2c87ce0ff53a259532b4d344ee97d37fd93d1701812bb8420a549de06038443079e91a86680b91f2e152d1f304e4c3474084460f53ec71322820f2841bd47786a479e34b20e6ba354da80950d92cd49c2b0eb27aea84f8db9b8eabd0fc5ac3fcf0819a9eb0f6176322ea5981cd32f7ce52ec0d67b21d85b38410dfccd69473e324362bc596f720330ff68bc7a88db82844c1730c276266b3de532e2d032df03131d49d8d744499e1b2765535d760177ce2032be19240209a972ff0e4cc191957510020ecc7b99d3783123aee5e020bd8189a34b23bc60e9ce781d9518a0dca131c09c4b236947452d0d1f28636833e237f665bb4df97f35fe37e000e44278ab24cfc8832706b0fcb57128c4e2abec1913dffbb765c6903e7b1e5fa4f95fb8f842e6d28d59cd863e7e128c554315d1b888ac2da0f55ae87caa07258052ec74190598c74ed97e08e72d926072a6f75445e43117834edcae1017d1f6cbdbf3c7c03746313541251ee42401f47b61948f4303ee6b761724261036acb9638c202d797aa83049b6c5137007fa77a735b652cc367b4cb4a83373eaf1b02ab26ed170bb4fb36145c2b8a7d7cffdfd060f0c24e527f79a64a709299cfc82ecdb0c1b64c8885dab775577b883f67bd3994791e6b1625ba310b6b70fce207eb7a26a843a636db38125ec82dc53ca00485d0a0210e9be2dc750517670078cf337ced2b4a1e34db41a517e3667bd050e9bb93e771064097465897c54e0db73420921276a18bcfce94467d1a0d81abb7c5c1ff5474b859b3c5b4cdb5899d417161fbac19ffafb0ddc0dae0bd644ca9348601ba79bf98b5d0e076f01aa85bccf8f18c8ac46272535427a65d6b261f9db283846ea761f1ae61c83cd7b1d69095d0b34f7a296196d0569c2d869dae70a0948b50be3a9485a3f109ac78414dbf02e339e9510edadb5b6d38393152e30b503dff75b37ee1fd34103de3cae1640ae311be3328c1afd127c3468bec6184606fe3d99b2804d73ff840073c1449053dc86dd558dccf65483328aaf497c44f699d8091bc56da81447a14a3ecc9b994f5f5d8b61d1f01de6bd7005d631ed0c45af4a6fed4ec780b2f309320acd9bbb45bc8bc29b66a45b8d7d489338a8280705245f28935276591e19ea23ee68600629d44f1d9f15a9b11826b22f28b9e7fb5a1844a550da6cd6d2a0cf04043a858d66a19b9df77ef98ad243620e83acd827558a395bf31960800075df36dceb2dd8e80f6679572729d086b89e28e76fc7bacc328188413a889b252c422d787cb8c6ead3bcd7d5191e8e50d14cf153c175ea0a1a0e4ef731a7f9c8c7db482c1b45a2f553d6ff3bc72111306ae72ad9ab9f9a94c1904dedc80bad73707e0efaf5ce57a995d64680d08c2b68f6e27df2e59b5a0a744c9e60e1fc636d6bcbcd7b4ae2fcfa23497bea857cf6467a6c395b5b06ca8f4e761a50498f9a482a1f054dde13934b07e188fed0d6ff97366b3f65b8c4851a2f6f07910bedc2be718f009ba2fdd7a809b70680de355581df776c470740e31f0457ddb0c4347ee65783f9c40275365267ffa501bf62e2b07e40fb2e44ae55783086c5aebe830137fc66278ee97e76121a856a791c4c45b871a07e6317a7b206db22e0b8223679918ab2bcac754c419992d5e96c8459662557be5d727910d7e7f4ccc5db4e44277d537156f7ef165119d8be6b4c8e19f769b1a79253cde274b879033d0c0581426144577bdef270542122e4d6ea009a6839a6be3b7103f2808947999281c147cd36921cb4c774828ffadb9f78725d4fcd7c679341aca44c70268164aec9efddcba605c1e8af82097ade526928023acd584267e10e82fb62ba2e0d9dbe43fd9da84c23307963a082bc80082135859ed2b5b45687281c4aaa708c06a562882b56ed48018defb687231c6799b26fe5af5c6b5030a2b2e0b0e3699633bb0109690b5fabd91e1d6064d638f1588eb7fc3d4912ee67a8abc79724a715808159fba7f0e8bb26cb84d70e070b226ffff297b1efb3f5f64b6f4b2b94e6fea15e88569f98fc40e4ba4cdf212a49e50a8587985c95cfa4c54f037bcc9ca87810e49ff9ff93835d5d38366d9bbbd8adca737678acf63b88d07a508999a349c4fa828e2f2e7f6a9856b0ec72e2688d118df5128c2cfe735561bde0e571d45f75eaf7faf4580b12d15e7390c4fe38009039df8ac416cdb751c755a60dfc9c33b028fcd9c956dc7fb8201fa15b746c52d6ac4860c13018a56d67d41b0026e9c452d34ad477bc1f6325cf07de87a81049f82eacaf9d74c592df3af3c00e5493ee27af45ddd281dd0eee0b22e8eaa322f9b593aea3255fdbb6c6a2f32b4fc58bc941cfa0a72a9b6c0d654734ce7d33446c28e6aab42e59250347d245855225a011b2b11a121be94a24fb948829863549b8822f17285b4b3ba27f77eb21f2c17f0722882cfc3cd5c776788cf983101acfada82103a5e33c702cc651fdceec502bfc95cc7c341939cd873e5d8e70af4b026d7d60bf3085a72be890717e997a2763e1889205efa924e526477b29925bbcec17faf0c099bdf888fbfbbded96ec85f5be541fd3701d98fd8b9c0a5c0aa75c215c1cc78ab7e6590946ec3a17c95287489064caddcb02148cceaf7c911d5f418217cd2678202a3e073cca78939f8af6fd338e4d08f9d01b35aff62a9f6f5a9998bdcd3abaf57755c45025eecb90fbaae5c59b14d6c5a4c675ef115f43385c852b8dea00d760e709a7065a93184d43ad1ac072ab5bd1814f1037e73a442ac77bd964a3cc0204d0e735e470e3046ac220e86bac7dd2d7ab39d42f82024584fe6c581e12ad438b7262de43b480ee4d837580bbc4ecce321abe8aaa8de8ddf2efed7539933d536ac71ad6fb1c7897456c5ab8d6e4236cbaa6ed9126a53f3dd94a7435d929d16d79f791babf1d64e24ea4ec26bbe1f52d950bccb9d153b4076a7518a4cfd1d813fe9f12c7ef5ea0b5f36617a8e89071e388c6fcecec37b26b25e01cd9b7190917dc14ff41a6f03dc4c63f67712077893182e509240b5262d915533243aa22df0b6dcfc12a24ea8c741f5a9912258e754841e905e54137bf7ea64160c9e0452f2079f98ef4dc69f02ce7aea3add960c0f314af08e003b9b8a716eccf865574d06b6647f393ca267fed16cb737f171789ca58e569a058de1d17fd1b3d8a5581b1ae7087024f2e70c8c7eeda0a4b0f84513dbcd50b9ce78a1ed9176879d5bbf53321156122f835492581fc1e0d2062cbc883c8aff5f5be211f294b76cd2b895551fb763f300980f720793b7a3247d2d476dc0fa262e151663e94df466c0b13d1a304ed2fab5aaa0f22c01c60276c6865ea2c6be77dd3c9ce954ca59ad00345a83629c229f42d464805d2f613e2cb39c86414aea0e66573cb5ef40bca9f72865d0d53fcf7a66a095f7c5ed81281b7ee9b74efd2d4fba09138202cb6352b6a6ce65b3e9a6dfe39ae590b7d71df02a67e1998e1fbf0aa4f3111595ce4ae598ba9be1e060f05834a8e8d9d474d001c74492f3f556289b2d11f71416626bfc3d259d5b2607a0cb38902a45dfaf012b26dedead9f1372c04b4286b33d515a63954259d59036808ec6b65afa951e7b75c3c19bb8969d62990a66e77ca7fcdd8e0cc149a51f7b6169d0e80ba6f9bcf9c7890709f3efdbe840e0f4466a3f8c7aa665a68cf45ce54bade71350cd96d6f4b06eb04d400de37855b6a4537be6812449a3da7e06b2efae6413bd80df7888a50f3c3540c5313062b975d5decbaa4f6f2ab44eee0c020b631d25ddaf3d0f38262582dea63692ddd54d30ac1a3f86d2269b62ebb512b437892e8a20757bb9dce639979701f759cdac6e5521afcc85ad9c5121dbc2eadbbbbaaa73b1ba7f1b7f06618be7725c37e9a51948d66c5832f1f6eadf2ab3393b044d189804b9959dd4392d649d86cd4c31760eb970fe2c23461a7026a606dd25041917bceee13b90e9e6f83d6c0a827665dcdeccf6b91dd2c9d3353444f23dfe11fc5d9f27d995d9f8593279e6b2e4de88d61ac466981491c735f9046ddb75c807a00a98f858cf86f3358ba565f4861fd79ab6438214bbb94869d685ec74f8baa714c44fdd6fe6174f449f2e6a0fc432e16c26afefafc1f8fd2b15ad6b6121f804382ef07fb618ec51b9885c18d5ed2ea311f5ffc90282b0cb0e66a11dc5563f18f07963897510ff4fb9fb491150150c91fbccc95455a222c7709a36d54fb1e058a3622bf4e213bd9c4c2f39d4b0016e87df2cb936e477320676cd41eca94aa74321e48dab342e782b9c6dc71ca12cd6b5ded6e76ae848107d8f4a6adea9d646673a97fc632c2c176051b93579925b860b7016834dbc7ca263085628dc79301cb8243c581952c0a2da26d0c13bef2e228ba5a2948bcfb241326ff1f21cda58cb86607faacc3a7e3a9ff16787eac453343d276fa92c538b64cdefa78e5ee868f181f150133efa0d25b1d4844184d1e19b06c1254a4fee174cd1ea5e29686af5b2ca52235388c059652f9651a7e11469894e2f7ef664b02d9a06606164d639bf04e151dd712fabd121cd9c437338a5df0f58bc4b41f40594e9940b3a8c98ad881e087a3eb816bb38cd741229c2e8d87f5ed578f35e90939613579239afe53a5a85392dbe43aed28d8305ac74cc759835fd4b8b9e9793650a1322b3941c47908afadb1d920257723436089a33c7af7a8b4b646d7cd5c2683bd77dafdc4e3165e10f372be71ae495d28c0cb9c836bfadc0c283af904adc69de9aaff943e181930b9bbfb6a52dd91826a929177186a1fcbbf26a9c01d437f3d6857e8fb34738ec811f5745318131be76e3da3c987566974ec6827366f4be81e69af0924136c21fec33edae36b10ad99c8df08c786dccebc3fc13293758e84e947ea5f41adcd6d8c80806f2f67cd9ed9520b4aa360b84411dce2272091af1f15b9e27da87f2f2ded005f2e87c457966f5e24185c38829ec1fe5d2f03f14048ec729fe42584a504ebf5e83b391b655753e74e679fca39420470beaed1dbefce2aca9eacd954942e58ddc6bb53addb0af3da18f47f0f9049af464a6a5c37eb8f248cc1d3d81a18b8e6b1319639c27bfe9c38ea3e37289fdef7dbfbeac034dfaf997f9545ebcbd4d95ff49afb95abd8ad6d4eccdf7f590e0da8fb41c75c961bab1ee6b19e04cf63d4955eaea8ac76425e06969a2ef8e2f6b0c4da21457035a1db0ff935511aafb4e83a7a644850786889ce9eecbe621a4eea7d23515b365fe25730d9228bce117361d9039c7ea53fdf27d6572f110c2cd5d8c502594d3d607ed7622f0c5ac68372d93dc24674d3e03c5af8f0f6f8be902b85dddfc320e46e77f5c7266993875fec221f5ae0f74e8a99fced3406e80af77b85a1f0fb3d86721bdf7816d8a423994d37812d1757dc30eef3bc331a522f06eceba7bc35258a26a8ea69c9c7542c0d2241ad3530cf8eae9b4bd23d1d8859ab961ef0998c4ce8c249047c6e6cd729237b396eb2e31bc2027c67cd3110b24029d4956c513a290fff3c883a6356bf83ddd25f98ddb5c5635aee587b6a9cad4847ff144a1997892b87501a9d30c5873052a643ab177eef3d2e22a57a52970722ae84a4184dd76b2b88b0b952ca7e40139bbdd88e4fcc7bd6efee1824b7fd3973a76ef6f246d1cf081500a3ff4124609c5321e6dee3c34c3e0eac028887d1bcdba78d67c24e8774adf5a88bb4f017aca39078e2d5ecedcfae3b01f90f35a3cebacd16bf225e18879f9e9dc4df66bb8b6271f0742d64792df1b6e657991004fb0b00aea691c2d814e8c2ac4fab90bb9bd023a3ac54ca70a84e07b3fedd9b1f2a7547c72615bb5144da5afe8d34bd4c7c9afbe6a89b74483d7c3d5795feae1b709670cd7792c63c5d7711bf26513d44f0695affd54b5d31da2432818b587432252f7d7d16021c2c82ebb8b830151a9f334650b9a6a14a8b7f6bb68181feef2b0e55c183597e8519b7661a87c8d5db0c74acde5910a196b01dbd5cea85910185af0c90db7ad4c25d8f69af1f8a5bcb5182c1b2eb03f1f6c7e105256356b27c7e461d2e2611de87d09bcd629387b20eb0a6c09f99974158dc9523a4e073a914a41bc00d81df208f36620a4a1cf46d3c0743a2d110a0fcf7b2bf9e478072505b1670cec84916dc9b760d9bac698693209e2a789c0186b566ec63386467b07392a11ce7500d5feefe8789374659df1de19fcb6824b120fc7fc60d24886ceecc4cd3827851315936aeb6d25e62d15351d8c267450911cd81d11a187f2c2cf92359a14f431b843a7290673ea83cbd39e512cdee314cbcf262c75371e72a59c43a6c1705bd47736a1aa5a33fa15303f7ac0722fa2f60de0ac678fb38382f92b8257f4b2bf526434656b1ef72b5574dbf05f3e36615ebacdc666dc38b30b07125ce129fe259a473df00e0b70bc194a97d3e87f74b50e2a356f5484556b1bf92ed75c1570babcea8d4533fdaafede4ec24f0a9961deedbee72e14649fa9a769b481c3f8252c403ccfc816d27a5c568d8a043f3dd627a32817e9dbc62a09896f104c29ce3cd8b94585a7460691a2f661681cca6f4c13192745ba9f9f30937a12e5122fb4a5e42cbad31283e4a9be95db21e2cf9a7181751a6cd23cd31a66aea580ef7781a8d893d9f6063efadafee1318792b37b5edafc16b50f3bf849dd7fc4183f39fc4e3aedecc6670cba826971aa91cc6490fe6b2c9311cd0fb045a1691bf987cd830d0298b0c0d9e881be57e5cfaaa31f5b0f01c02cdbf773e07f4a330c3e3a92be12b9440619f06475f02cbdcc9d560bf32d1f65ca09d58d9811977e79e90d3c383959991c23942814c55840d722e8499bdadf414b237af04c61a86a25905434ac9af3b669b70ef67aefd65a241b3ca9cd6c20336ed6a14cf04afb26cabc8c52d98b1b0fa2c6bde4c30671400962a2652faaca76cc1f16b4dd41d9e135dd887c06f8ac6452609738b07ac23125a1b147dc67346deb18b1570a493c3b4f92d706e992a6c1de4802a53a8f3ce2b4dab3eaca549f09e3d2434d24350410d58f2d7a4f67a8de80902dc2bec0078dc0857dfcc544d65ef9252c8bb4b390402bf62594a14ff16fde713568d9e446bf6218913c31b29cfa1d25867113ed633c48615970bf518434c0fc3d857e1fade5885c5d0b4c7192e5db0400b3b04bf2deed4497d39d5bc6fa78cd4a596b9b31b5d5768a648aec3a59f8e2923479a4893d30454dd466e2cbc1e295162fe1b860651ddf271e8f18b070365a41d1d243cc79605cc18b0387986c0d1061d77176b5be15a304395052fd186604bc901e175aaa62434d3c3783c154c2542f36c7d9a3b24f6d555d04072dae61c0b53884ba311e54253b93bc09e30d1733e77d43d285073cee2f8848efb1e50acb56ee6c73f0aa2e1f36142fdcf17cca2d8a9e30dd98d5fe70466bd842946d9cfd280b68c4be079b8233c7d20073bf9abce5006e1fabb5ac9117e9b937bed57a4ed83e5c88b7c00a06cfa2e90e4da31e787c21e0d889e5a8b6d13f4a8b5551a7ec45432c25539a844ad90dd308929fbcdc4ad846a3bf0bf621b76f5bbdc1fc0cb6a36f17519527a928b33e7ff8e1eaaaa1eb8c27ec7c04ed94b64ff2dee1f5948de25d5b289fa48419922379f189729ae09abb1e8d723ed5bb956666e508b168596e51c44accd0408f3f40e671e355d4d8b1bf8b7999ba19568f9b8c585e9e5b5b95650a742308d9ef295e960c4c9c41dffb10f45e74d5bffd9442006efd79ede4bc5267c65360274869571d531f1894b8fd2bcea9236cdce4bf1a938567aa219a567e80ed2b85fb964a0b34d692cff75f3720e7146016b0f33c468741397ee834ad3e972dff00784a09c468e44beb5fcd7d40a6b4c4543c9ef40dd6864c9e66d0c0aaefb3c93bb09c75788719b99ffad3c786b548eafb0347cdcb0533cd7d555cabccfe5ceedb93f7ebd0288612c0188060f51d53e6b6a4a253f4e3a750d823c502bb6e7f0bf259ce6566727411921a7c5efc3a31c746d7ce5b834159bc978a40e5032e12de86112904cfaee49e86e354c4526a112bb66fbe2ce66104396fee69cfcaac2c9843a573156b0cf47ed8856e31bca7ce7adcdbf70a1915dc7a6c1391c195e6c9b31faf714f44421b138319e3f8e0147712949f8333425fbc9b8c105a387b401ce7a6516678dcd283935e79fe339e7924303b3d99baeaf108260cd020209f67d504189cede71963e9b4c9c92bd5f3e757d527c9c0e039b9c9ef300e4134113ff4379d228c1f21ef1763498443960d6569e8b0a5fb309653251c2f2dac687d5c093a3eca6e2fa9fa09b85f9a0b10583e76b6ff90ee86b000d134b62886993408a8a1caa2e37ca1314e0e0e6274a8be0d4af18a7ac42bf9f532f9f5ac8ea561f8d0dc077cffe02a818b45af51f55058a5b050aa3ba64c43274aeef28d97dcf7311484a12b50332b72991bc94116a3e2f2afc34b6e9b6f8844642040078cc089c934731705d1f586aa6e99891017fa2379deb550ec8f7045d33817dc3156837e2c57b9cb9a78d69d9ed62513424266d53dedc4797dc539073a72781fba11f0a1b50f991a317f0bad33515292731949161e10bbfd755984403224064e2a74c72a772672d65ad372b397f36f3040cf898d455d8a0c12444f28122aaff3c4b19174f2a0e8d2725c7f461a92a9c976d482a2b7826d2584b1e96f84182c4988f3680f5ce695f21bbbcffbc62a0510c465c46b66fdd6bf7b4374fb4ee924141aad4dae8550fab747184fd16cb7df01f8dd241edf2ae19cd0db97fe1b461849a890c5b159a91aef026904c31f07fe2c7bfe60cced3a58b9405452897f3c07f6274a6381ca8a2f086f5a0d88f56d3ed87e4b610d326f71934fc6767ad14bedd694e955abefc798fefd54c2a19facef44a82df83282126d8d6e821ee028249320b9c913c70f5813c0d89ae4edc6da4047c46432155fe0d4877041b143f08aa35c70b5ba2b23df72fe52add39fbde9b83237e90de70af600813489f805b197bce8ec375ffca34690a2adc602d7c7176d9b602123e67bb122a146432fca749f137c631050995a1e32b31e575a609d0d30379ab089ac603f6b49fbbaf4142a6b702b32601b36f49cad8a3d869e0374f245169171e897794fd617a669746fd95e0eacf1417476a364185f1a173db1b1b6286b7d04a17569bb00cedf6466670b26dcc6a2173bf1470466911cb4ce6616714ca366908834235cc221eac4b39fbb3976d969cd8137029a38f482a8ed324c359504591ff2ce993a3233154c91724476c285a56e446c177da5d87263d53b7a793b4b6eaaf508428a530d2ff53fd23e0565e74186341c046a067d8464b3feabdf3767a25d46c4fca2517cb406482daa0c7921c4ed5d03b82800cc7d75cf170d0ddc67a72d3e96cc73313c33cf2c353f86b4e4ede5d8b9a71e17dc5a765fce228cbc2fe40c85d909f703f40583523c0dc202d5263584ab064360d0123db1ba63948c2a12f9502a6fd0141518f15043dec021c92dcd23994affd44aa6401ec9aac7663401ec6a5ec8b9455266e7e620765b67a0a55778bcdae96c0549158a5b43160a4928b0f093ad89986a78b652eaed82b19fb30341a9ebfffc0b8e7850b2c19e7da11af047176a6eb0e552b8df69521e09899786c6955ed1c00a4b9d32e2a9471c9f69059c8e4f67af7e4998f9fe8cf8b767e48fd5e44611b38639798d1474ae409ac2dc4362024cf1d7c68882b5bca99dbf1270e383a4bd8cd6feb25bb14c4c49a89a9d9bb2bbe36997f4763a8b5381ba8e573e5259ea546535b07b523e420fcd7391cfb3ca295822f8d07c86d2edeb4e87baeac0a9bc624ebfed8db962db0381c07d9ef1c2fa18b371ba559174fdd45345f0b3012c81c2b225d2ad20fde2dfb701552add2170cecc77debe1ec60ae0fbe7c8bd044939f02fa7fe06516dcbb4a8bfdf85bca033b7667a41c3a2b70074c6eb5416d338df0e911473f918029b4ae1ae866fad4bc3cd7baa6cf13fc5d8338dd1208ca72b800d11c8429712f67ea0881cb80112763551fe7241d76ceaff1b8df1935bd485540148d897aa58c93fd75c1f2ac0429338426983e152b3b2e6f2d567bc10d62fab4b181dd26bed4cbe795b90945f4df9eaa0907c31e14e5d805fac1e9115c3b284751241807cf13a454ae660a44e7e3e614b5028fa911e9f8e1bfddae28d605f46c31e77e665e099b99c822f5539ba056da3b886ae86e01dcf6ef2298da3beb2b51d1f21e62c856b3bce65cc033949f9290d4f38efc44e37bc8e4d7dc25832f7a9dabbed59f17de35d8e3df5285f144c33590f5520cc3abd26ed6f0d2c7b6c4ffb70b2808000297681dff21240f0a5b1c294b15aec8157b666c041acfe156a93d604b35a254d3528650d19e814aea6e37274c7997a59de9f4c6009d1173e2ac96016331b5c08a4a5fb7e37dac9e15c205ceda7d3fac3bde87988e8867356022fcb209d85f5095b1594f8da8c0e7d84e2642f81c505b26aca08dbe87d614f5bee524c38eaadd6b6063349868a7c50921eeeae030161a044f954814b8bda7b1ec809e69700b520f1225d53085d909bd2f9bafbdaab39944773a0257a2bafa729abd7389b314aba7c714f37764fc21d4ec2cdcfbd4dbfb7809bb5be710696121c86ca780f8fe0f5df40101d2d17e85d32d4c5fc14061020e21c0fefa085ed7f1d21c32feb2fe129b361b5358ca8d23f7b8332f255a645b90b14bd48aa4ab7a7c3face277be8fdef6246176a1b6be69a84279c76206e2b939724d6e257de93bfb5c9c7899949da2748c6f66f247a3277fa31038936544163fcf3bef63b9335b94fb952fda2e433df7f47edc22008f54758a84b85fb84a820a2558ec356787ac17d756ee8fc9f0d8a344709fd9a8b4752293838f9146550eb2a66f7508e55960a92bb9c44f569682f2cf544bac2f57950f7428d9bb8f72dc60954301ce6260ec5ca4fec381aaea45e81d5dd2a015a42690bbb5f265e6acd574d492c995bf700b3bcb05d11b9281691ac57de7e32dcd0e1eb7ef4d767d0b9179fc9309c82dcdaac9b25e4a0fec36b3b5384152322da7946943f4315bce77f482eaf1cebc75e7b763c7bc7a783e36e643bcf2f78a1a63c98d54f56e4b35f8f78012d89c61a4685a241921c08ebf839c25461c32b73621325d3b3a4b9db19aa3e388398b1a04f5efbffec3a5f4cfb8b22b7da21a04b7d6015fdd11cdcbd70e13b2ce9781411510ff8d0ba082e13ee5329486264d28b87997543a61c39453b883163962ed86150ff02fcfebde97d1ed61c404aa0c9aff15ad694e48719250b8f76a8e07c2c1a3877c1dd9ef1829300076be3b0325116c67f2850f6ee5c6159f2adf575db6bf6eca7d448cdef67435b4007ff1272d570dc8ef3990e08129d6bb76cded7c594e680a80bdeff181d9e034105fdefe24e0534f3309e9485d182f15e8919dab37ed23f13954a1a0e5a5f3b4b855133ad4857f1a4c29186db929311e725956ed5c0823e511d2df6172030f8d1625df040b2f1fb28a5e49b12372a04f0eb8366ef1877498aaf632f0d10da8adba99d6ae1668d380892a33577a3d7b79d99202799d37b8ae0e2d429275e60beed2e0d7da7021e9031fcab972ea553975f1fdc8cad804ad7f56c234506c422289237f1bc2f5e7b256ab8f082e2b155918ed1c05ea2c3130013af40b920b5be868f00cf2ae64f5cd61e5279940a9a7ac4ab9b12b69583985acfde6a03ec1cf92e27128ef722d920986112ee03cc354ee8f773c59e454b873c1cfb52cade6b039e92345f61b6673fb23c584b489baca68a3489f6ead1a55f322773b5e296a2aeaaf30b4a92c65176a5bfbefd9cbf1d95ecef5212c0e79150f95e265101b4598303800378dfbc8a13351fc8fded23221ddbaeb8bd78355f4738e8762f18601d70ee1a50173191ea817dbfcdff137bc26093421cd89291da8f00a14a503a54af6d89804752a398c78a04043ef62fd7b91164759a66447a3854050210f345bca154f09ad876b4e9af57e5c17442d0eb660960cde3d3da51bfa3c8d8c0b971190f6191b7db2886cb21cb9aa08721c6210263fcbdb5440994776b01c8b727a1bb75812d83fb43c26d2c037d2309841f5c167ecb8723ac724d3ad70157c817fcb92d1a34534f34bf8e2e6f496497cd5d5c1dbc3eba346dab4712995e0faa0e6f91303252b9e4de4567e87b4b9e42cb5bebb3e551e181a4bfa4ab4bd05c9475db31b3d03f878d5be08f8c090bba84b47da4bcdc49e310203508c4f987f72b55b7aadf012d79497a1ded256dd33270b668d0cda2716b18d39ca7a93f74a11c6519fcc0cd6969be931ed4480c0cf0f2cb1bd012a4e993223891fc5136a4913e3927002ea596fb3e6dc50de17c0d891bb05e641cc01b90189e5c7a366252a277cff3fd848d1b166d39144a00ce1dd3b2044d6ff46a215c2bc00ed6cd6f0fc0d7b09ac1fc946a73be0a1ccc2210bd5b710e20e941589bb677a378077ae122262c01828c8a59764aac405d03a876b40335f934f550b9293236c690f51e5ec9ea950c032979df86a8be2464098037796c6fe6d48b5c509773943665a9d4a009f53077e0498ccd463a5598c5fdfbf68356481d7a802b3bf57946583e88a3e166acd64892ecde2400f637ba789a36da7be96ce382f89565583c59b6e47910047e45781e72f1526007d24e75ee65162e9d2e69e07a712256c4c4af4d797398658569e90f261a6652b10a3413f3d43f824a5eade6835aec1b623b9b3524055dbbd9db90d581220cca891d18326d14b04eb76f6750103e3f83e05e16ff209162409d2034bdf036c57773e6e2bd839eaa1de81d1463e23bfe58efe543205c81cd91acf04ce30e9f751f51a745aaeaf70bfe8f68c049148be644d0cf03fbb280540aab07770994b3d66af6b84c417e2c710b964df00562d6ad17d6edcaff8a01e3c170a96e30a66f2dd5f3362f91e5ac39d4b2b7013615d9ce012be5d6292ffc94ae3ca5eb8d1c85e56516d801cfc6f21eaafb39ef070fdec99e3de2be7285961356eee97942a99452b760fe9eee3a68f94fe208b59e6b4538f8862f9a6e312572f0ce712bdf5c82e04da58134734ac24846c7d2ac5513b9a05a401a6334405eaf38004e63aa368b30906c7d7c7751189238ecbbd2ed7e74b4c7f8de994b8e9dbab41dc3077f115f64ec09f365d21d8bbe7354f40c694751b481bc2a9f058d5b860b51ffc00ee61672b16541d8ec6e3f338e8d5493c1957b278402a5b93f02ac2a611bd883646294ca79375217110be1ca000467d9ab7fcefb66720100ed790041d0406e2033a8dfc751cc80249b587588f583d8552f8cce1d5616bbb46427af7810d8536688e15f544571903f613c76b306fae946c81b1d852642d4ddc9bc688347a30933ec8de099b2eb4e904aa29e3bf9310cfac5ec6245be30b922f75e584ecf7680e1f3cdb5655beb101457dacd46d9f771e6a55e79e46a2f5918cc5235f3fb8495951c7862b73a155e1887b9b7f244b5aeb1ec671379007fc25bcb88e728f0c7b7f0cf59a18b6e4fc7b5ab388a14f1318798aab31333094431e477370186a53fc89e5e0d104fac384747dfd110f211dcff388ac8411d27c7dab9eed29f9bccf6699f70812eabb9b1cb7130d300277680e76f7961e950fd180ab2a78f1d98a1dd407fa19914536fe221055242b7a2cff2ba95fcb85ac0fecee6130d2d137f73066e570efecbcfadafec4cefe541826c58484b435123c0ab3cdf9bf7272aa363549f1e34ad41bcaab359137f4de5d88753888b7d8dea3053feed10451a0f4157b77a02238e461a831011b7b01d05764e26b5d0930403a1e1f0caf08f32158d4c6916f8d74dace50a3c2ce5655757d90f3a6e54e5e4166aaa2fe3ee037c46154312ff8c1f05a3bc38c7ddeb20996e7e4a66e980a2fc81ae6dc39b5e0f1a0e07328eb067ea74789d5b6b8c9ff11c760e0738e652210813911d4625cf8e20f36b549817a60d1ddda163443da9be40ded982efc3300829175c04604445430c61185af4fd7739e51c56928c824f722df04ba7d0ce0f5b49fb95f6f2895e787665758f69c102841c14b7b54cb352c4011194f9e25526e07af1909c0ba3862c030d61d13c1eb7d30bdbe1d38a6fe3064395db10d3dec797585985ca1aedc0d54e69f93159992ba68a5206f59e12a68b53754b6afdd1e2374e1c1d66aaaa7833cedff9852fbb82ed2fc8994613f903df2f412bb7473c4811ec558abb74a75c3264f20ff1ca2fd606e004ec0226a183b940decb264ca582932d390db2fc506ddc8be50df83c0f40812fd759263506dc4b5090768cbafe302cecaace478b41322c9efc366d42562fd176111d5e6080470d7248fa25e944a3c2f095956b5618e8e0070b03513ce1c30a8fb9b53527b57bd41926f4bc06478982a6c371f5eb59510ac9d92689d82735380c4677478151f7999dc94350b73ceca58a1b806fa9fe2aabd586fd2af948f34acaf57bff261aa5cdadd696939d1890566cde0c700d4f55e325ea01f17d0e5fa272de4f77d85deea7237a98becbae452c38635f9914dcb52625865afabd9b8e65e37cbd878b676c7c198d247b85f4c5ddf493175381728bce8a4fdc8b31d489471bd4c16db0dd2c637bb68bbd264ef64c1e364978452bd0202c787adbf42d8779c0dd4bc24dfeaa399e94379f46f3e0efaba26ee2e76a018575ce18da1a1e8c67f991bb827f2fahostconf.vimhostconf.vimmenu_af_af.utf-8.vimmenu_ca_es.utf-8.vimmenu_cs_cz.cp1250.vimmenu_de_de.utf-8.vimmenu_english_united_kingdom.ascii.vimmenu_eo_xx.utf-8.vimmenu_es_es.utf-8.vimmenu_fi_fi.utf-8.vimmenu_fr_fr.utf-8.vimmenu_is_is.utf-8.vimmenu_it_it.utf-8.vimmenu_ja_jp.cp932.vimmenu_ja_jp.eucjp.vimmenu_ja_jp.ujis.vimmenu_nl_nl.utf-8.vimmenu_pl_pl.cp1250.vimmenu_sk_sk.cp1250.vimmenu_sr_yu.utf-8.vimmenu_sv_se.utf-8.vimmenu_zh_tw.cp950.vimmenu_zh_cn.cp936.vimmenu_zh_tw.cp950.vimmenu_zh_cn.gbk.vimmenu_zh_tw.cp950.vimtutor1.norootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvim-9.2.0110-150500.20.43.1.src.rpmvim-datavim-plugin-matchitvim-plugin-nginx@@@    /bin/sh/usr/bin/awk/usr/bin/perlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)vim-data-common3.0.4-14.6.0-14.0-15.2-19.2.0110-150500.20.43.14.14.3iY@ihh@hhQXg͂ggb@gH[@f$eqe]@dܺ@dx@dldZ5dJcd'@ccR@c~ @cM@bb@`4@`.V^)@^@^2\@Zľ@ZlZ@Z%Z1@Z@V͛@V͛@VIV@V@VVŲ@V@V@VT@VV@V@V^VVuFVm]Vd#@VQ@VO @VCV VUU6@U@U@UnU@UUUx&U_@U>$U+UUQTT!TD@TfTr@T T TT|TTxcTk4T[bTBV@martin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.commartin.schreiner@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comjehan.singh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comzbalogh@suse.comlnussel@suse.delnussel@suse.delnussel@suse.deidonmez@suse.comlnussel@suse.deidonmez@suse.comstefan.bruens@rwth-aachen.dekukuk@suse.delnussel@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comtchvatal@suse.comidonmez@suse.comnormand@linux.vnet.ibm.comsuse-beta@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.commpluskal@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comwerner@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comtchvatal@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comkukuk@suse.desuse-beta@cboltz.dekukuk@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdimstar@opensuse.orgidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comcrrodriguez@opensuse.orgidonmez@suse.comidonmez@suse.comidonmez@suse.comsuse-beta@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comopensuse@cboltz.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comlars@linux-schulserver.deidonmez@suse.comidonmez@suse.comidonmez@suse.comopensuse@cboltz.de* Update Vim to version 9.2.0110 (from 9.2.0045). * Specifically, this fixes bsc#1259051 / CVE-2026-28417.* Update Vim to version 9.2.0045 (from 9.1.1629). * Fix bsc#1258229 CVE-2026-26269 as 9.2.0045 is not impacted (fixed upstream). * Fix bsc#1246602 CVE-2025-53906 as 9.2.0045 is not impacted (fixed upstream). * Drop obsolete or upstreamed patches: - vim-7.3-filetype_spec.patch - vim-7.4-filetype_apparmor.patch - vim-8.2.2411-globalvimrc.patch - vim-9.1.1683-avoid-null-dereference.patch * Refresh the following patches: - vim-7.3-filetype_changes.patch - vim-7.3-filetype_ftl.patch - vim-7.3-sh_is_bash.patch - vim-9.1.1134-revert-putty-terminal-colors.patch * Remove autoconf BuildRequires and drop the autoconf call in %build. * Add --with-wayland=no to COMMON_OPTIONS to explicitly disable wayland. * Package new Swedish (sv) man pages and clean up duplicate encodings (sv.ISO8859-1 and sv.UTF-8) during %install.- Fix for bsc#1250593. - Backported from 9.1.1683 (xxd: Avoid null dereference in autoskip colorless).- Fix for bsc#1229750. - nocompatible must be set before the syntax highlighting is turned on.- Fix the following CVEs and bugs: * bsc#1246602 (CVE-2025-53906) * bsc#1246604 (CVE-2025-53905) * bsc#1247939 (CVE-2025-55158) * bsc#1247938 (CVE-2025-55157) - Update to 9.1.1629: 9.1.1629: Vim9: Not able to use more than 10 type arguments in a generic function 9.1.1628: fuzzy.c has a few issues 9.1.1627: fuzzy matching can be improved 9.1.1626: cindent: does not handle compound literals 9.1.1625: Autocompletion slow with include- and tag-completion 9.1.1624: Cscope not enabled on MacOS 9.1.1623: Buffer menu does not handle unicode names correctly 9.1.1622: Patch v9.1.1432 causes performance regressions 9.1.1621: flicker in popup menu during cmdline autocompletion 9.1.1620: filetype: composer.lock and symfony.lock files not recognized 9.1.1619: Incorrect E535 error message 9.1.1618: completion: incorrect selected index returned from complete_info() 9.1.1617: Vim9: some error messages can be improved 9.1.1616: xxd: possible buffer overflow with bitwise output 9.1.1615: diff format erroneously detected 9.1.1614: Vim9: possible variable type change 9.1.1613: tests: test_search leaves a few swapfiles behind 9.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter 9.1.1611: possible undefined behaviour in mb_decompose() 9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() 9.1.1609: complete: Heap-buffer overflow with complete function 9.1.1608: No command-line completion for :unsilent {command} 9.1.1607: :apple command detected as :append 9.1.1606: filetype: a few more files are not recognized 9.1.1605: cannot specify scope for chdir() 9.1.1604: completion: incsearch highlight might be lost 9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func} 9.1.1602: filetype: requirements-*.txt files are not recognized 9.1.1601: Patch v8.1.0425 was wrong 9.1.1600: using diff anchors with hidden buffers fails silently 9.1.1599: :bnext doesn't go to unlisted help buffers 9.1.1598: filetype: waybar config file is not recognized 9.1.1597: CI reports leaks in libgtk3 library 9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file 9.1.1595: Wayland: non-portable use of select() 9.1.1594: completion: search completion throws errors 9.1.1593: Confusing error when compiling incomplete try block 9.1.1592: Vim9: crash with classes and garbage collection 9.1.1591: VMS support can be improved 9.1.1590: cannot perform autocompletion 9.1.1589: Cannot disable cscope interface using configure 9.1.1588: Vim9: cannot split dict inside command block 9.1.1587: Wayland: timeout not updated before select() 9.1.1586: Vim9: can define an enum/interface in a function 9.1.1585: Wayland: gvim still needs GVIM_ENABLE_WAYLAND 9.1.1584: using ints as boolean type 9.1.1583: gvim window lost its icons 9.1.1582: style issue in vim9type.c and vim9generics.c 9.1.1581: possible memory leak in vim9generics.c 9.1.1580: possible memory leak in vim9type.c 9.1.1579: Coverity complains about unchecked return value 9.1.1578: configure: comment still mentions autoconf 2.71 9.1.1577: Vim9: no generic support yet 9.1.1576: cannot easily trigger wildcard expansion 9.1.1575: tabpanel not drawn correctly with wrapped lines 9.1.1574: Dead code in mbyte.c 9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode 9.1.1572: expanding $var does not escape whitespace for 'path' 9.1.1571: CmdlineChanged triggered to often 9.1.1570: Copilot suggested some improvements in cmdexpand.c 9.1.1569: tests: Vim9 tests can be improved 9.1.1568: need a few more default highlight groups 9.1.1567: crash when using inline diff mode 9.1.1566: self-referenced enum may not get freed 9.1.1565: configure: does not consider tiny version for wayland 9.1.1564: crash when opening popup to closing buffer 9.1.1563: completion: ruler may disappear 9.1.1562: close button always visible in the 'tabline' 9.1.1561: configure: wayland test can be improved 9.1.1560: configure: uses $PKG_CONFIG before it is defined 9.1.1559: tests: Test_popup_complete_info_01() fails when run alone 9.1.1558: str2blob() treats NULL string and empty string differently 9.1.1557: not possible to anchor specific lines in difff mode 9.1.1556: string handling in cmdexpand.c can be improved 9.1.1555: completion: repeated insertion of leader 9.1.1554: crash when omni-completion opens command-line window 9.1.1553: Vim9: crash when accessing a variable in if condition 9.1.1552: [security]: path traversal issue in tar.vim 9.1.1551: [security]: path traversal issue in zip.vim 9.1.1550: defaults: 'showcmd' is not enabled in non-compatible mode on Unix 9.1.1549: filetype: pkl files are not recognized 9.1.1548: filetype: OpenFGA files are not recognized 9.1.1547: Wayland: missing ifdef 9.1.1546: Vim9: error with has() and short circuit evaluation 9.1.1545: typo in os_unix.c 9.1.1544: :retab cannot be limited to indentation only 9.1.1543: Wayland: clipboard appears to not be working 9.1.1542: Coverity complains about uninitialized variable 9.1.1541: Vim9: error when last enum value ends with a comma 9.1.1540: completion: menu state wrong on interruption 9.1.1539: completion: messages don't respect 'shm' setting 9.1.1537: helptoc: still some issues when markdown code blocks 9.1.1536: tests: test_plugin_comment uses wrong :Check command 9.1.1535: the maximum search count uses hard-coded value 99 9.1.1534: unnecessary code in tabpanel.c 9.1.1533: helptoc: does not handle code sections in markdown well 9.1.1532: termdebug: not enough ways to configure breakpoints 9.1.1531: confusing error with nested legacy function 9.1.1530: Missing version change in v9.1.1529 9.1.1529: Win32: the toolbar in the GUI is old and dated 9.1.1528: completion: crash with getcompletion() 9.1.1527: Vim9: Crash with string compound assignment 9.1.1526: completion: search completion match may differ in case 9.1.1525: tests: testdir/ is a bit messy 9.1.1524: tests: too many imports in the test suite 9.1.1523: tests: test_clipmethod fails in non X11 environment 9.1.1522: tests: still some ANSI escape sequences in test output 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' 9.1.1520: completion: search completion doesn't handle 'smartcase' well 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail 9.1.1518: getcompletiontype() may crash 9.1.1517: filetype: autopkgtest files are not recognized 9.1.1516: tests: no test that 'incsearch' is updated after search completion 9.1.1515: Coverity complains about potential unterminated strings 9.1.1514: Coverity complains about the use of tmpfile() 9.1.1513: resizing Vim window causes unexpected internal window width 9.1.1512: completion: can only complete from keyword characters 9.1.1511: tests: two edit tests change v:testing from 1 to 0 9.1.1510: Search completion may use invalid memory 9.1.1509: patch 9.1.1505 was not good 9.1.1508: string manipulation can be improved in cmdexpand.c 9.1.1507: symlinks are resolved on :cd commands 9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() 9.1.1505: not possible to return completion type for :ex command 9.1.1504: filetype: numbat files are not recognized 9.1.1503: filetype: haxe files are not recognized 9.1.1502: filetype: quickbms files are not recognized 9.1.1501: filetype: flix files are not recognized 9.1.1500: if_python: typo in python error variable 9.1.1499: MS-Windows: no indication of ARM64 architecture 9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' 9.1.1497: Link error with shm_open() 9.1.1496: terminal: still not highlighting empty cells correctly 9.1.1495: Wayland: uses $XDG_SEAT to determine seat 9.1.1494: runtime(tutor): no French translation for Chapter 2 9.1.1493: manually comparing positions on buffer 9.1.1492: tests: failure when Wayland compositor fails to start 9.1.1491: missing out-of-memory checks in cmdexpand.c 9.1.1490: 'wildchar' does not work in search contexts 9.1.1489: terminal: no visual highlight of empty cols with empty 'listchars' 9.1.1488: configure: using obsolete macro AC_PROG_GCC_TRADITIONAL 9.1.1487: :cl doesn't invoke :clist 9.1.1486: documentation issues with Wayland 9.1.1485: missing Wayland clipboard support 9.1.1484: tests: Turkish locale tests fails on Mac 9.1.1483: not possible to translation position in buffer 9.1.1482: scrolling with 'splitkeep' and line() 9.1.1481: gcc complains about uninitialized variable 9.1.1480: Turkish translation outdated 9.1.1479: regression when displaying localized percentage position 9.1.1478: Unused assignment in ex_uniq() 9.1.1476: no easy way to deduplicate text 9.1.1476: missing out-of-memory checks in cmdexpand.c 9.1.1475: completion: regression when "nearest" in 'completeopt' 9.1.1474: missing out-of-memory check in mark.c 9.1.1473: inconsistent range arg for :diffget/diffput 9.1.1472: if_python: PySequence_Fast_{GET_SIZE,GET_ITEM} removed 9.1.1471: completion: inconsistent ordering with CTRL-P 9.1.1470: use-after-free with popup callback on error 9.1.1469: potential buffer-underflow with invalid hl_id 9.1.1468: filetype: bright(er)script files are not recognized 9.1.1467: too many strlen() calls 9.1.1466: filetype: not all lex files are recognized 9.1.1465: tabpanel: not correctly drawn with 'equalalways' 9.1.1464: gv does not work in operator-pending mode 9.1.1463: Integer overflow in getmarklist() after linewise operation 9.1.1462: missing change from patch v9.1.1461 9.1.1461: tabpanel: tabpanel vanishes with popup menu 9.1.1460: MS-Windows: too many strlen() calls in os_win32.c 9.1.1459: xxd: coloring output is inefficient 9.1.1458: tabpanel: tabs not properly updated with 'stpl' 9.1.1457: compile warning with tabpanelopt 9.1.1456: comment plugin fails toggling if 'cms' contains \ 9.1.1455: Haiku: dailog objects created with no reference 9.1.1454: tests: no test for pum at line break position 9.1.1453: tests: Test_geometry() may fail 9.1.1452: completion: redundant check for completion flags 9.1.1451: tabpanel rendering artifacts when scrolling 9.1.1450: Session has wrong arglist with :tcd and :arglocal 9.1.1449: typo in pum_display() 9.1.1448: tabpanel is not displayed correctly when msg_scrolled 9.1.1447: completion: crash when backspacing with fuzzy completion 9.1.1446: filetype: cuda-gdb config files are not recognized 9.1.1445: negative matchfuzzy scores although there is a match 9.1.1444: Unused assignment in set_fuzzy_score() 9.1.1443: potential buffer underflow in insertchar() 9.1.1442: tests: Test_diff_fold_redraw() is insufficient 9.1.1441: completion: code can be improved 9.1.1440: too many strlen() calls in os_win32.c 9.1.1439: Last diff folds not merged 9.1.1438: tests: Test_breakindent_list_split() fails 9.1.1437: MS-Windows: internal compile error in uc_list() 9.1.1436: GUI control code is displayed on the console on startup 9.1.1435: completion: various flaws in fuzzy completion 9.1.1434: MS-Windows: missing out-of-memory checks in os_win32.c 9.1.1433: Unnecessary :if when writing session 9.1.1432: GTK GUI: Buffer menu does not handle unicode correctly 9.1.1431: Hit-Enter Prompt when loading session files 9.1.1430: tabpanel may flicker in the GUI 9.1.1429: dragging outside the tabpanel changes tabpagenr 9.1.1428: completion: register completion needs cleanup 9.1.1427: rendering artifacts with the tabpanel 9.1.1426: completion: register contents not completed 9.1.1425: tabpanel: there are still some problems with the tabpanel 9.1.1424: PMenu selection broken with multi-line selection and limits 9.1.1423: :tag command not working correctly using Vim9 Script 9.1.1422: scheduling of complete function can be improved 9.1.1421: tests: need a test for the new-style tutor.tutor 9.1.1420: tests: could need some more tests for shebang lines 9.1.1419: It is difficult to ignore all but some events 9.1.1418: configures GUI auto detection favors GTK2 9.1.1417: missing info about register completion in complete_info() 9.1.1416: completion limits not respected for fuzzy completions 9.1.1415: potential use-after free when there is an error in 'tabpanel' 9.1.1414: MS-Windows: compile warnings in os_win32.c 9.1.1413: spurious CursorHold triggered in GUI on startup 9.1.1412: tests: Test_tabpanel_tabonly() fails on larger screens 9.1.1411: crash when calling non-existing function for tabpanel 9.1.1410: out-of-bounds access with 'completefunc' 9.1.1409: using f-flag in 'complete' conflicts with Neovim 9.1.1408: not easily possible to complete from register content 9.1.1407: Can't use getpos('v') in OptionSet when using setbufvar()- Fix bsc#1228776 / CVE-2024-41965. - Fix bsc#1239602 / CVE-2025-29768. - Refresh patch: vim-7.3-sh_is_bash.patch - Update to 9.1.1406: 9.1.1406: crash when importing invalid tuple 9.1.1405: tests: no test for mapping with special keys in session file 9.1.1404: wrong link to Chapter 2 in new-tutor 9.1.1403: expansion of 'tabpanelopt' value adds wrong values 9.1.1402: multi-byte mappings not properly stored in session file 9.1.1401: list not materialized in prop_list() 9.1.1400: [security]: use-after-free when evaluating tuple fails 9.1.1399: tests: test_codestyle fails for auto-generated files 9.1.1398: completion: trunc does not follow Pmenu highlighting attributes 9.1.1397: tabpanel not correctly updated on :tabonly 9.1.1396: 'errorformat' is a global option 9.1.1395: search_stat not reset when pattern differs in case 9.1.1394: tabpanel not correctly redrawn on tabonly 9.1.1393: missing test for switching buffers and reusing curbuf 9.1.1392: missing patch number 9.1.1391: Vim does not have a vertical tabpanel 9.1.1390: style: more wrong indentation 9.1.1389: completion: still some issue when 'isexpand' contains a space 9.1.1388: Scrolling one line too far with 'nosmoothscroll' page scrolling 9.1.1387: memory leak when buflist_new() fails to reuse curbuf 9.1.1386: MS-Windows: some minor problems building on AARCH64 9.1.1385: inefficient loop for 'nosmoothscroll' scrolling 9.1.1384: still some problem with the new tutors filetype plugin 9.1.1383: completion: 'isexpand' option does not handle space char correct 9.1.1382: if_ruby: unused compiler warnings from ruby internals 9.1.1381: completion: cannot return to original text 9.1.1380: 'eventignorewin' only checked for current buffer 9.1.1379: MS-Windows: error when running evim when space in path 9.1.1378: sign without text overwrites number option 9.1.1377: patch v9.1.1370 causes some GTK warning messages 9.1.1376: quickfix dummy buffer may remain as dummy buffer 9.1.1375: [security]: possible heap UAF with quickfix dummy buffer 9.1.1374: completion: 'smartcase' not respected when filtering matches 9.1.1373: 'completeopt' checking logic can be simplified 9.1.1372: style: braces issues in various files 9.1.1371: style: indentation and brace issues in insexpand.c 9.1.1370: CI Tests favor GTK2 over GTK3 9.1.1369: configure still using autoconf 2.71 9.1.1368: GTK3 and GTK4 will drop numeric cursor support. 9.1.1367: too many strlen() calls in gui.c 9.1.1366: v9.1.1364 unintentionally changed sign.c and sound.c 9.1.1365: MS-Windows: compile warnings and too many strlen() calls 9.1.1364: style: more indentation issues 9.1.1363: style: inconsistent indentation in various files 9.1.1362: Vim9: type ignored when adding tuple to instance list var 9.1.1361: [security]: possible use-after-free when closing a buffer 9.1.1360: filetype: GNU Radio companion files are not recognized 9.1.1359: filetype: GNU Radio config files are not recognized 9.1.1358: if_lua: compile warnings with gcc15 9.1.1357: Vim incorrectly escapes tags with "[" in a help buffer 9.1.1356: Vim9: crash when unletting variable 9.1.1355: The pum_redraw() function is too complex 9.1.1354: tests: Test_terminalwinscroll_topline() fails on Windows 9.1.1353: missing change from v9.1.1350 9.1.1352: style: inconsistent indent in insexpand.c 9.1.1351: Return value of getcmdline() inconsistent in CmdlineLeavePre 9.1.1350: tests: typo in Test_CmdlineLeavePre_cabbr() 9.1.1349: CmdlineLeavePre may trigger twice 9.1.1348: still E315 with the terminal feature 9.1.1347: small problems with gui_w32.c 9.1.1346: missing out-of-memory check in textformat.c 9.1.1345: tests: Test_xxd_color2() test failure dump diff is misleading 9.1.1344: double free in f_complete_match() (after v9.1.1341) 9.1.1343: filetype: IPython files are not recognized 9.1.1342: Shebang filetype detection can be improved 9.1.1341: cannot define completion triggers 9.1.1340: cannot complete :filetype arguments 9.1.1339: missing out-of-memory checks for enc_to_utf16()/utf16_to_enc() 9.1.1338: Calling expand() interferes with cmdcomplete_info() 9.1.1337: Undo corrupted with 'completeopt' "preinsert" when switching buffer 9.1.1336: comment plugin does not support case-insensitive 'commentstring' 9.1.1335: Coverity complains about Null pointer dereferences 9.1.1334: Coverity complains about unchecked return value 9.1.1333: Coverity: complains about unutilized variable 9.1.1332: Vim9: segfault when using super within a lambda 9.1.1331: Leaking memory with cmdcomplete() 9.1.1330: may receive E315 in terminal 9.1.1329: cannot get information about command line completion 9.1.1328: too many strlen() calls in indent.c 9.1.1327: filetype: nroff detection can be improved 9.1.1326: invalid cursor position after 'tagfunc' 9.1.1325: tests: not checking error numbers properly 9.1.1324: undefined behaviour if X11 connection dies 9.1.1323: b:undo_ftplugin not executed when re-using buffer 9.1.1322: small delete register cannot paste multi-line correctly 9.1.1321: filetype: MS ixx and mpp files are not recognized 9.1.1320: filetype: alsoft config files are not recognized 9.1.1319: Various typos in the code, issue with test_inst_complete.vim 9.1.1318: tests: test_format fails 9.1.1317: noisy error when restoring folds from session fails 9.1.1316: missing memory allocation failure in os_mswin.c 9.1.1315: completion: issue with fuzzy completion and 'completefuzzycollect' 9.1.1314: max allowed string width too small 9.1.1313: compile warning about uninitialized value 9.1.1312: tests: Test_backupskip() fails when HOME is defined 9.1.1311: completion: not possible to limit number of matches 9.1.1310: completion: redundant check for preinsert effect 9.1.1309: tests: no test for 'pummaxwidth' with non-truncated "kind" 9.1.1308: completion: cannot order matches by distance to cursor 9.1.1307: make syntax does not reliably detect different flavors 9.1.1306: completion menu rendering can be improved 9.1.1305: completion menu active after switching windows/tabs 9.1.1304: filetype: some man files are not recognized 9.1.1303: missing out-of-memory check in linematch.c 9.1.1302: Coverity warns about using uninitialized value 9.1.1301: completion: cannot configure completion functions with 'complete' 9.1.1300: wrong detection of -inf 9.1.1299: filetype: mbsyncrc files are not recognized 9.1.1298: define_function() is too long 9.1.1297: Ctrl-D scrolling can get stuck 9.1.1296: completion: incorrect truncation logic 9.1.1295: clientserver: does not handle :stopinsert correctly 9.1.1294: gui tabline menu does not use confirm when closing tabs 9.1.1293: comment plugin does not handle 'exclusive' selection for comment object 9.1.1292: statusline not correctly evaluated 9.1.1291: too many strlen() calls in buffer.c 9.1.1290: tests: missing cleanup in test_filetype.vim 9.1.1289: tests: no test for matchparen plugin with WinScrolled event 9.1.1288: Using wrong window in ll_resize_stack() 9.1.1287: quickfix code can be further improved 9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" 9.1.1285: Vim9: no error message for missing method after "super." 9.1.1284: not possible to configure pum truncation char 9.1.1283: quickfix stack is limited to 10 items 9.1.1282: Build and test failure without job feature 9.1.1281: extra newline output when editing stdin 9.1.1280: trailing additional semicolon in get_matches_in_str() 9.1.1279: Vim9: null_object and null_class are no reserved names 9.1.1278: Vim9: too long functions in vim9type.c 9.1.1277: tests: trailing comment char in test_popupwin 9.1.1276: inline word diff treats multibyte chars as word char 9.1.1275: MS-Windows: Not possible to pass additional flags to Make_mvc 9.1.1274: Vim9: no support for object as variable type 9.1.1273: Coverity warns about using uninitialized value 9.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N 9.1.1271: filetype: Power Query files are not recognized 9.1.1270: missing out-of-memory checks in buffer.c 9.1.1269: completion: compl_shown_match is updated when starting keyword completion 9.1.1268: filetype: dax files are not recognized 9.1.1267: Vim9: no support for type list/dict> 9.1.1266: MS-Windows: type conversion warnings 9.1.1265: tests: no tests for typing normal char during completion 9.1.1264: Vim9: error when comparing objects 9.1.1263: string length wrong in get_last_inserted_save() 9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value 9.1.1261: No test for 'pummaxwidth' non-truncated items 9.1.1260: Hang when filtering buffer with NUL bytes 9.1.1259: some issues with comment package and tailing spaces 9.1.1258: regexp: max \U and \%U value is limited by INT_MAX 9.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw() 9.1.1256: if_python: duplicate tuple data entries 9.1.1255: missing test condition for 'pummaxwidth' setting 9.1.1254: need more tests for the comment plugin 9.1.1253: abort when closing window with attached quickfix data 9.1.1252: typos in code and docs related to 'diffopt' "inline:" 9.1.1251: if_python: build error with tuples and dynamic python 9.1.1250: cannot set the maximum popup menu width 9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM" 9.1.1248: compile error when building without FEAT_QUICKFIX 9.1.1247: fragile setup to get (preferred) keys from key_name_entry 9.1.1246: coverity complains about some changes in v9.1.1243 9.1.1245: need some more tests for curly braces evaluation 9.1.1244: part of patch v9.1.1242 was wrong 9.1.1243: diff mode is lacking for changes within lines 9.1.1242: Crash when evaluating variable name 9.1.1241: wrong preprocessort indentation in term.c 9.1.1240: Regression with ic/ac text objects and comment plugin 9.1.1239: if_python: no tuple data type support 9.1.1238: wrong cursor column with 'set splitkeep=screen' 9.1.1237: Compile error with C89 compiler in term.c 9.1.1236: tests: test_comments leaves swapfiles around 9.1.1235: cproto files are outdated 9.1.1234: Compile error when SIZE_MAX is not defined 9.1.1233: Coverity warns about NULL pointer when triggering WinResized 9.1.1232: Vim script is missing the tuple data type 9.1.1231: filetype: SPA JSON files are not recognized 9.1.1230: inconsistent CTRL-C behaviour for popup windows 9.1.1229: the comment plugin can be improved 9.1.1228: completion: current position column wrong after got a match 9.1.1227: no tests for the comment package 9.1.1226: "shellcmdline" completion doesn't work with input() 9.1.1225: extra NULL check in VIM_CLEAR() 9.1.1224: cannot :put while keeping indent 9.1.1223: wrong translation used for encoding failures 9.1.1222: using wrong length for last inserted string 9.1.1221: Wrong cursor pos when leaving Insert mode just after 'autoindent' 9.1.1220: filetype: uv.lock file not recognized 9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase" 9.1.1218: missing out-of-memory check in filepath.c 9.1.1217: tests: typos in test_matchfuzzy.vim 9.1.1216: Pasting the '.' register multiple times may not work 9.1.1215: Patch 9.1.1213 has some issues 9.1.1214: matchfuzzy() can be improved for camel case matches 9.1.1213: cannot :put while keeping indent 9.1.1212: too many strlen() calls in edit.c 9.1.1212: filetype: logrotate'd pacmanlogs are not recognized 9.1.1211: TabClosedPre is triggered just before the tab is being freed 9.1.1210: translation(ru): missing Russian translation for the new tutor 9.1.1209: colorcolumn not drawn after virtual text lines 9.1.1208: MS-Windows: not correctly restoring alternate screen on Win 10 9.1.1207: MS-Windows: build warning in filepath.c 9.1.1206: tests: test_filetype fails when a file is a directory 9.1.1205: completion: preinserted text not removed when closing pum 9.1.1204: MS-Windows: crash when passing long string to expand() 9.1.1203: matchparen keeps cursor on case label in sh filetype 9.1.1202: Missing TabClosedPre autocommand 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly 9.1.1200: cmdline pum not cleared for input() completion 9.1.1199: gvim uses hardcoded xpm icon file 9.1.1198: [security]: potential data loss with zip.vim 9.1.1197: process_next_cpt_value() uses wrong condition 9.1.1196: filetype: config files for container tools are not recognized 9.1.1195: inside try-block: fn body executed with default arg undefined 9.1.1194: filetype: false positive help filetype detection 9.1.1193: Unnecessary use of STRCAT() in au_event_disable() 9.1.1192: Vim crashes with term response debug logging enabled 9.1.1191: tests: test for patch 9.1.1186 doesn't fail without the patch 9.1.1190: C indentation does not detect multibyte labels 9.1.1189: if_python: build error due to incompatible pointer types 9.1.1188: runtime(tera): tera support can be improved 9.1.1187: matchparen plugin wrong highlights shell case statement 9.1.1186: filetype: help files in git repos are not detected 9.1.1185: endless loop with completefuzzycollect and no match found 9.1.1184: Unnecessary use of vim_tolower() in vim_strnicmp_asc() 9.1.1083: "above" virtual text breaks cursorlineopt=number 9.1.1182: No cmdline completion for 'completefuzzycollect' 9.1.1181: Unnecessary STRLEN() calls in insexpand.c 9.1.1180: short-description 9.1.1179: too many strlen() calls in misc2.c 9.1.1178: not possible to generate completion candidates using fuzzy matching 9.1.1177: filetype: tera files not detected- Introduce patch to fix bsc#1235751 (regression). * vim-9.1.1134-revert-putty-terminal-colors.patch - Update to 9.1.1176. Changes: * 9.1.1176: wrong indent when expanding multiple lines * 9.1.1175: inconsistent behaviour with exclusive selection and motion commands * 9.1.1174: tests: Test_complete_cmdline() may fail * 9.1.1173: filetype: ABNF files are not detected * 9.1.1172: [security]: overflow with 'nostartofline' and Ex command in tag file * 9.1.1171: tests: wrong arguments passed to assert_equal() * 9.1.1170: wildmenu highlighting in popup can be improved * 9.1.1169: using global variable for get_insert()/get_lambda_name() * 9.1.1168: wrong flags passed down to nextwild() * 9.1.1167: mark '] wrong after copying text object * 9.1.1166: command-line auto-completion hard with wildmenu * 9.1.1165: diff: regression with multi-file diff blocks * 9.1.1164: [security]: code execution with tar.vim and special crafted tar files * 9.1.1163: $MYVIMDIR is set too late * 9.1.1162: completion popup not cleared in cmdline * 9.1.1161: preinsert requires bot "menu" and "menuone" to be set * 9.1.1160: Ctrl-Y does not work well with "preinsert" when completing items * 9.1.1159: $MYVIMDIR may not always be set * 9.1.1158: :verbose set has wrong file name with :compiler! * 9.1.1157: command completion wrong for input() * 9.1.1156: tests: No test for what patch 9.1.1152 fixes * 9.1.1155: Mode message not cleared after :silent message * 9.1.1154: Vim9: not able to use autoload class accross scripts * 9.1.1153: build error on Haiku * 9.1.1152: Patch v9.1.1151 causes problems * 9.1.1151: too many strlen() calls in getchar.c * 9.1.1150: :hi completion may complete to wrong value * 9.1.1149: Unix Makefile does not support Brazilian lang for the installer * 9.1.1148: Vim9: finding imported scripts can be further improved * 9.1.1147: preview-window does not scroll correctly * 9.1.1146: Vim9: wrong context being used when evaluating class member * 9.1.1145: multi-line completion has wrong indentation for last line * 9.1.1144: no way to create raw strings from a blob * 9.1.1143: illegal memory access when putting a register * 9.1.1142: tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined * 9.1.1141: Misplaced comment in readfile() * 9.1.1140: filetype: m17ndb files are not detected * 9.1.1139: [fifo] is not displayed when editing a fifo * 9.1.1138: cmdline completion for :hi is too simplistic * 9.1.1137: ins_str() is inefficient by calling STRLEN() * 9.1.1136: Match highlighting marks a buffer region as changed * 9.1.1135: 'suffixesadd' doesn't work with multiple items * 9.1.1134: filetype: Guile init file not recognized * 9.1.1133: filetype: xkb files not recognized everywhere * 9.1.1132: Mark positions wrong after triggering multiline completion * 9.1.1131: potential out-of-memory issue in search.c * 9.1.1130: 'listchars' "precedes" is not drawn on Tabs. * 9.1.1129: missing out-of-memory test in buf_write() * 9.1.1128: patch 9.1.1119 caused a regression with imports * 9.1.1127: preinsert text is not cleaned up correctly * 9.1.1126: patch 9.1.1121 used a wrong way to handle enter * 9.1.1125: cannot loop through pum menu with multiline items * 9.1.1124: No test for 'listchars' "precedes" with double-width char * 9.1.1123: popup hi groups not falling back to defaults * 9.1.1122: too many strlen() calls in findfile.c * 9.1.1121: Enter does not insert newline with "noselect" * 9.1.1120: tests: Test_registers fails * 9.1.1119: Vim9: Not able to use an autoloaded class from another autoloaded script * 9.1.1118: tests: test_termcodes fails * 9.1.1117: there are a few minor style issues * 9.1.1116: Vim9: super not supported in lambda expressions * 9.1.1115: [security]: use-after-free in str_to_reg() * 9.1.1114: enabling termguicolors automatically confuses users * 9.1.1113: tests: Test_terminal_builtin_without_gui waits 2 seconds * 9.1.1112: Inconsistencies in get_next_or_prev_match() * 9.1.1111: Vim9: variable not found in transitive import * 9.1.1110: Vim tests are slow and flaky * 9.1.1109: cmdexpand.c hard to read * 9.1.1108: 'smoothscroll' gets stuck with 'listchars' "eol" * 9.1.1107: cannot loop through completion menu with fuzzy * 9.1.1106: tests: Test_log_nonexistent() causes asan failure * 9.1.1105: Vim9: no support for protected new() method * 9.1.1104: CI: using Ubuntu 22.04 Github runners * 9.1.1103: if_perl: still some compile errors with Perl 5.38 * 9.1.1102: tests: Test_WinScrolled_Resized_eiw() uses wrong filename- 9.1.1101 is a fix for: bsc#1229685 (CVE-2024-43790) bsc#1229822 (CVE-2024-43802) bsc#1230078 (CVE-2024-45306) bsc#1235695 (CVE-2025-22134) bsc#1236151 (CVE-2025-24014) bsc#1237137 (CVE-2025-1215) - Remove obsoleted patch: * vim-7.3-mktemp_tutor.patch - update to 9.1.1101 * insexpand.c hard to read * tests: Test_log_nonexistent only works on Linux * Update base-syntax, improve variable matching * Vim9: import with extends may crash * leaking memory with completing multi lines * --log with non-existent path causes a crash * if_perl: Perl 5.38 adds new symbols causing link failure * tests: matchparen plugin test wrongly named * Vim9: problem finding implemented method in type hierarchy * runtime(qf): Update syntax file, match second delimiter * tests: output of test ...win32_ctrl_z depends on python version * tests: fix expected return code for python 3.13 on Windows * tests: timeout might be a bit too small * tests: test_terminwscroll_topline2 unreliable * tests: No check when tests are run under Github actions * tests: plugin tests are named inconsistently * Vim9: import with extends may crash * completion doesn't work with multi lines * filetype: cmmt files are not recognized * Unable to persistently ignore events in a window and its buffers * improve syntax highlighting * setreg() doesn't correctly handle mbyte chars in blockwise mode * unexpected DCS responses may cause out of bounds reads * has('bsd') is true for GNU/Hurd * filetype: Mill files are not recognized * GUI late startup leads to uninitialized scrollbars * Add support for lz4 to tar & gzip plugin * Terminal ansi colors off by one after tgc reset * included syntax items do not understand contains=TOP * vim_strnchr() is strange and unnecessary * Vim9: len variable not used in compile_load() * runtime(vim): Update base-syntax, match :debuggreedy count prefix * Strange error when heredoc marker starts with "trim" * tests: test_compiler fails on Windows without Maven * 'diffopt' "linematch" cannot be used with {n} less than 10 * args missing after failing to redefine a function * Cannot control cursor positioning of getchar() * preinsert text completions not deleted with / * getchar() can't distinguish between C-I and Tab * tests: Test_termwinscroll_topline2 fails on MacOS * heap-use-after-free and stack-use-after-scope with :14verbose * no digraph for "Approaches the limit" * not possible to use plural forms with gettext() * too many strlen() calls in userfunc.c * terminal: E315 when dragging the terminal with the mouse * runtime(openPlugin): fix unclosed parenthesis in GetWordUnderCursor() * runtime(doc): Tweak documentation style a bit * tests: test_glvs fails when unarchiver not available * Vim always enables 'termguicolors' in a terminal * completion: input text deleted with preinsert when adding leader * translation(sr): Missing Serbian translation for the tutor * Superfluous cleanup steps in test_ins_complete.vim * runtime(netrw): correct wrong version check * Vim doesn't highlight to be inserted text when completing * runtime(netrw): upstream snapshot of v176 * runtime(dist/vim9): fix regressions in dist#vim9#Open * runtime(hyprlang): fix string recognition * make install fails because of a missing dependency * runtime(asm): add byte directives to syntax script * Vim doesn't work well with TERM=xterm-direct * runtime(filetype): commit 99181205c5f8284a3 breaks V lang detection * runtime: decouple Open and Launch commands and gx mapping from netrw * "nosort" enables fuzzy filtering even if "fuzzy" isn't in 'completeopt' * runtime(just): fix typo in syntax file * runtime(filetype): Improve Verilog detection by checking for modules definition * tests: off-by-one error in CheckCWD in test_debugger.vim * tests: no support for env variables when running Vim in terminal * too many strlen() calls in os_unix.c * insert-completed items are always sorted * crash after scrolling and pasting in silent Ex mode * Makefiles uses non-portable syntax * fuzzymatching doesn't prefer matching camelcase * filetype: N-Tripels and TriG files are not recognized * Vim9: Patch 9.1.1014 causes regressions * translation(sr): Update Serbian messages translation - updade to 9.1.1043 * [security]: segfault in win_line() * update helptags * filetype: just files are not recognized * Update base-syntax, match ternary and falsy operators * Vim9: out-of-bound access when echoing an enum * Vim9: imported type cannot be used as func return type * runtime(kconfig): updated ftplugin and syntax script * runtime(doc): rename last t_BG reference to t_RB * Vim9: comments are outdated * tests: test_channel.py fails with IPv6 * runtime(vim): Update base-syntax, fix is/isnot operator matching * Vim9: confusing error when using abstract method via super * make install fails when using shadowdir * Vim9: memory leak with blob2str() * runtime(tex): add texEmphStyle to texMatchGroup in syntax script * runtime(netrw): upstream snapshot of v175 * Vim9: compiling abstract method fails without return * runtime(c): add new constexpr keyword to syntax file (C23) * tests: shaderslang was removed from test_filetype erroneously * link error when FEAT_SPELL not defined * Coverity complains about insecure data handling * runtime(sh): update syntax script * runtime(c): Add missing syntax test files * filetype: setting bash filetype is backwards incompatible * runtime(c): Update syntax and ftplugin files * the installer can be improved * too many strlen() calls in screen.c * no sanitize check when running linematch * filetype: swc configuration files are not recognized * runtime(netrw): change netrw maintainer * wrong return type of blob2str() * blob2str/str2blob() do not support list of strings * runtime(doc): fix typo in usr_02.txt * Coverity complains about dereferencing NULL pointer * linematch option value not completed * string might be used without a trailing NUL * no way to get current selected item in a async context * filetype: fd ignore files are not recognized * v9.1.0743 causes regression with diff mode * runtime(doc): fix base64 encode/decode examples * Vim9: Patch 9.1.1013 causes a few problems * Not possible to convert string2blob and blob2string * Coverity complains about dereferencing NULL value * Vim9: variable not found in transitive import * runtime(colors): Update colorschemes, include new unokai colorscheme * Vim9: Regression caused by patch v9.1.0646 * runtime(lyrics): support milliseconds in syntax script * runtime(vim): Split Vim legacy and Vim9 script indent tests * Vim9: class interface inheritance not correctly working * popupmenu internal error with some abbr in completion item * filetype: VisualCode setting file not recognized * diff feature can be improved * tests: test for patch 9.1.1006 doesn't fail without the patch * filetype: various ignore are not recognized * tests: Load screendump files with "git vimdumps" * PmenuMatch completion highlight can be combined * completion text is highlighted even with no pattern found * tests: a few termdebug tests are flaky * [security]: heap-buffer-overflow with visual mode * runtime(doc): add package- helptags for included packages * Vim9: unknown func error with interface declaring func var * runtime(filetype): don't detect string interpolation as angular * ComplMatchIns highlight hard to read on light background * runtime(vim): Update base-syntax, highlight literal string quote escape * runtime(editorconfig): set omnifunc to syntaxcomplete func * tests: ruby tests fail with Ruby 3.4 * Vim9: leaking finished exception * runtime(tiasm): use correct syntax name tiasm in syntax script * filetype: TI assembly files are not recognized * too many strlen() calls in drawscreen.c * runtime(xf86conf): add section name OutputClass to syntax script * ComplMatchIns may highlight wrong text * runtime(vim): Update base-syntax, improve ex-bang matching * runtime(doc): clarify buffer deletion on popup_close() * filetype: shaderslang files are not detected * Vim9: not able to use comment after opening curly brace - update to 9.1.0993 * 9.1.0993: New 'cmdheight' behavior may be surprising * runtime(sh): fix typo in Last Change header * 9.1.0992: Vim9: double-free after v9.1.0988 * 9.1.0991: v:stacktrace has wrong type in Vim9 script * runtime(sh): add PS0 to bashSpecialVariables in syntax script * runtime(vim): Remove trailing comma from match_words * runtime(zsh): sync syntax script with upstream repo * runtime(doc): Capitalise the mnemonic "Zero" for the 'z' flag of search() * 9.1.0990: Inconsistent behavior when changing cmdheight * 9.1.0989: Vim9: Whitespace after the final enum value causes a syntax error * runtime(java): Quietly opt out for unsupported markdown.vim versions * runtime(vim): fix failing vim syntax test * 9.1.0988: Vim9: no error when using uninitialized var in new() * runtime(doc): update index.txt * 9.1.0987: filetype: cake files are not recognized * 9.1.0986: filetype: 'jj' filetype is a bit imprecise * runtime(jj): Support diffs in jj syntax * runtime(vim): Update matchit pattern, no Vim9 short names * 9.1.0985: Vim9: some ex commands can be shortened * 9.1.0984: exception handling can be improved * runtime(doc): update doc for :horizontal * runtime(doc): update index.txt, windows.txt and version9.txt * runtime(doc): Tweak documentation about base64 function * runtime(chordpro): update syntax script * 9.1.0983: not able to get the displayed items in complete_info() * runtime(doc): use standard SGR format at :h xterm-true-color * 9.1.0982: TI linker files are not recognized * runtime(vim): update vim generator syntax script * 9.1.0981: tests: typo in test_filetype.vim * 9.1.0980: no support for base64 en-/decoding functions in Vim Script * syntax(sh): Improve the recognition of bracket expressions * runtime(doc): mention how NUL bytes are handled * 9.1.0979: VMS: type warning with $XDG_VIMRC_FILE * 9.1.0978: GUI tests sometimes fail when setting 'scroll' options * 9.1.0977: filetype: msbuild filetypes are not recognized * 9.1.0976: Vim9: missing return statement with throw * 9.1.0975: Vim9: interpolated string expr not working in object methods * 9.1.0974: typo in change of commit v9.1.0873 * 9.1.0973: too many strlen() calls in fileio.c * runtime(sh): set shellcheck as the compiler for supported shells * runtime(doc): Fix enum example syntax * 9.1.0972: filetype: TI linker map files are not recognized * runtime(vim): Improve syntax script generator for Vim Script * 9.1.0971: filetype: SLNX files are not recognized * 9.1.0970: VMS: build errors on VMS architecture * runtime(doc): Fix documentation typos * runtime(doc): update for new keyprotocol option value (after v9.1.0969) * 9.1.0969: ghostty not using kitty protocol by default * 9.1.0968: tests: GetFileNameChecks() isn't fully sorted by filetype name * runtime(doc): update version9.txt for bash filetype * runtime(netrw): update last change header for #16265 * runtime(doc): fix doc error in :r behaviour * 9.1.0967: SpotBugs compiler setup can be further improved * 9.1.0966: Vim9: :enum command can be shortened * runtime(compiler): include a basic bash syntax checker compiler * 9.1.0965: filetype: sh filetype set when detecting the use of bash * runtime(doc): clarify ARCH value for 32-bit in INSTALLpc.txt * 9.1.0963: fuzzy-matching does not prefer full match * 9.1.0962: filetype: bun.lock file is not recognized * runtime(vim): update indentation plugin for Vim script * runtime(doc): tweak documentation style in helphelp.txt * runtime(vim): Update base-syntax, allow parens in default arguments * runtime(doc): mention auto-format using clang-format for sound.c/sign.c * runtime(help): fix typo s/additional/arbitrary/ * runtime(help): Add better support for language annotation highlighting * 9.1.0961: filetype: TI gel files are not recognized * 9.1.0960: filetype: hy history files are not recognized * translation(fi): Fix typoes in Finish menu translation * 9.1.0959: Coverity complains about type conversion * runtime(vim): Use supported syntax in indent tests * 9.1.0958: filetype: supertux2 config files detected as lisp * 9.1.0956: completion may crash, completion highlight wrong with preview window * 9.1.0955: Vim9: vim9compile.c can be further improved * runtime(doc): move help tag E1182 * runtime(graphql): contribute vim-graphql to Vim core * 9.1.0954: popupmenu.c can be improved * 9.1.0953: filetype: APKBUILD files not correctly detected * 9.1.0952: Vim9: missing type checking for any type assignment * 9.1.0951: filetype: jshell files are not recognized * runtime(dockerfile): do not set commentstring in syntax script * 9.1.0950: filetype: fennelrc files are not recognized * runtime(netrw): do not double escape Vim special characters * git: ignore reformatting change of netrw plugin * runtime(netrw): more reformating #16248 * runtime(doc): Add a note about handling symbolic links in starting.txt * 9.1.0949: popups inconsistently shifted to the left * git: ignore reformatting change of netrw plugin * runtime(netrw): change indent size from 1 to 2 * 9.1.0948: Missing cmdline completion for :pbuffer * runtime(tutor): Reformat tutor1 * 9.1.0947: short-description * 9.1.0946: cross-compiling fails on osx-arm64 * 9.1.0945: ComplMatchIns highlight doesn't end after inserted text * translation(sv): re-include the change from #16240 * 9.1.0944: tests: test_registers fails when not run under X11 * 9.1.0943: Vim9: vim9compile.c can be further improved * runtime(doc): Update README and mention make check to verify * translation(sv): partly revert commit 98874dca6d0b60ccd6fc3a140b3ec * runtime(vim): update base-syntax after v9.1.0936 * 9.1.0942: a few typos were found * 9.1.0941: ComplMatchIns doesn't work after multibyte chars * runtime(doc): Fix style in fold.txt * translation(sv): Fix typo in Swedish translation * 9.1.0940: Wrong cursor shape with "gq" and 'indentexpr' executes :normal * runtime(doc): fix some small errors * 9.1.0939: make installtutor fails * 9.1.0938: exclusive selection not respected when re-selecting block mode * 9.1.0937: test_undolist() is flaky * 9.1.0936: cannot highlight completed text * 9.1.0935: SpotBugs compiler can be improved * 9.1.0934: hard to view an existing buffer in the preview window * runtime(doc): document how to minimize fold computation costs * 9.1.0933: Vim9: vim9compile.c can be further improved * 9.1.0932: new Italian tutor not installed * runtime(doc): fix a few minor errors from the last doc updates * translation(it): add Italian translation for the interactive tutor * runtime(doc): update the change.txt help file * runtime(help): Add Vim lang annotation support for codeblocks * 9.1.0931: ml_get error in terminal buffer * 9.1.0930: tests: test_terminal2 may hang in GUI mode * 9.1.0929: filetype: lalrpop files are not recognized * 9.1.0928: tests: test_popupwin fails because the filter command fails * editorconfig: set trim_trailing_whitespace = false for src/testdir/test*.vim * 9.1.0927: style issues in insexpand.c * 9.1.0926: filetype: Pixi lock files are not recognized * runtime(doc): Add a reference to |++opt| and |+cmd| at `:h :pedit` * runtime(doc): add a note about inclusive motions and exclusive selection * 9.1.0925: Vim9: expression compiled when not necessary * 9.1.0924: patch 9.1.0923 causes issues * 9.1.0923: too many strlen() calls in filepath.c * 9.1.0923: wrong MIN macro in popupmenu.c * 9.1.0921: popupmenu logic is a bit convoluted * 9.1.0920: Vim9: compile_assignment() too long * 9.1.0919: filetype: some assembler files are not recognized * runtime(netrw): do not pollute search history with symlinks * 9.1.0918: tiny Vim crashes with fuzzy buffer completion * 9.1.0917: various vartabstop and shiftround bugs when shifting lines * runtime(typst): add definition lists to formatlistpat, update maintainer * 9.1.0916: messages.c is exceeding 80 columns * runtime(proto): include filetype plugin for protobuf * 9.1.0915: GVim: default font size a bit too small * 9.1.0914: Vim9: compile_assignment() is too long * 9.1.0913: no error check for neg values for 'messagesopt' * runtime(netrw): only check first arg of netrw_browsex_viewer for being executable * 9.1.0912: xxd: integer overflow with sparse files and -autoskip * 9.1.0911: Variable name for 'messagesopt' doesn't match short name * 9.1.0910: 'messagesopt' does not check max wait time * runtime(doc): update wrong Vietnamese localization tag * 9.1.0909: Vim9: crash when calling instance method - update to 9.1.0908 * refresh vim-7.3-mktemp_tutor.patch * 9.1.0908: not possible to configure :messages * 9.1.0907: printoptions:portrait does not change postscript Orientation * runtime(doc): Add vietnamese.txt to helps main TOC * 9.1.0906: filetype: Nvidia PTX files are not recognized * runtime(doc): updated version9.txt with changes from v9.1.0905 * 9.1.0905: Missing information in CompleteDone event * 9.1.0904: Vim9: copy-paste error in class_defining_member() * 9.1.0903: potential overflow in spell_soundfold_wsal() * runtime(netrw): do not detach when launching external programs in gvim * runtime(doc): make tag alignment more consistent in filetype.txt * runtime(doc): fix wrong syntax and style of vietnamese.txt * translation(it): update Italian manpage for vimtutor * runtime(lua): add optional lua function folding * Filelist: include translations for Chapter 2 tutor * translation(vi): Update Vietnamese translation * runtime(doc): include vietnamese.txt * runtime(tutor): fix another typo in tutor2 * runtime(doc): fix typo in vimtutor manpage * translation(it): update Italian manpage for vimtutor * translation(it): include Italian version of tutor chapter 2 * runtime(tutor): regenerated some translated tutor1 files * runtime(tutor): fix typo in Chapter 2 * 9.1.0902: filetype: Conda configuration files are not recognized * runtime(doc): Tweak documentation style a bit * runtime(tutor): update the tutor files and re-number the chapters * runtime(tutor): Update the makefiles for tutor1 and tutor2 files * 9.1.0901: MS-Windows: vimtutor batch script can be improved * runtime(doc): remove buffer-local completeopt todo item * 9.1.0900: Vim9: digraph_getlist() does not accept bool arg * runtime(typst): provide a formatlistpat in ftplugin * runtime(doc): Update documentation for "noselect" in 'completeopt' * 9.1.0899: default for 'backspace' can be set in C code * runtime(helptoc): reload cached g:helptoc.shell_prompt when starting toc * translation(ru): Updated messages translation * 9.1.0898: runtime(compiler): pytest compiler not included * 9.1.0897: filetype: pyrex files are not detected * runtime(compiler): update eslint compiler * 9.1.0896: completion list wrong after v9.1.0891 * runtime(doc): document changed default value for 'history' * 9.1.0895: default history value is too small * 9.1.0894: No test for what the spotbug compiler parses * 9.1.0893: No test that undofile format does not regress * translation(de): update German manpages * runtime(compiler): include spotbugs Java linter * 9.1.0892: the max value of 'tabheight' is limited by other tabpages * runtime(po): remove poDiffOld/New, add po-format flags to syntax file * 9.1.0891: building the completion list array is inefficient * patch 9.1.0890: %! item not allowed for 'rulerformat' * runtime(gzip): load undofile if there exists one * 9.1.0889: Possible unnecessary redraw after adding/deleting lines * 9.1.0888: leftcol property not available in getwininfo() * 9.1.0887: Wrong expression in sign.c * 9.1.0886: filetype: debian control file not detected * runtime(c3): include c3 filetype plugin * 9.1.0885: style of sign.c can be improved * 9.1.0884: gcc warns about uninitialized variable * runtime(apache): Update syntax directives for apache server 2.4.62 * translation(ru): updated vimtutor translation, update MAINTAINERS file * 9.1.0883: message history cleanup is missing some tests * runtime(doc): Expand docs on :! vs. :term * runtime(netrw): Fixing powershell execution issues on Windows * 9.1.0882: too many strlen() calls in insexpand.c * 9.1.0881: GUI: message dialog may not get focus * runtime(netrw): update netrw's decompress logic * runtime(apache): Update syntax keyword definition * runtime(misc): add Italian LICENSE and (top-level) README file * 9.1.0880: filetype: C3 files are not recognized * runtime(doc): add helptag for :HelpToc command * 9.1.0879: source is not consistently formatted * Add clang-format config file * runtime(compiler): fix escaping of arguments passed to :CompilerSet * 9.1.0878: termdebug: cannot enable DEBUG mode * 9.1.0877: tests: missing test for termdebug + decimal signs * 9.1.0876: filetype: openCL files are not recognized * 9.1.0875: filetype: hyprlang detection can be improved * 9.1.0874: filetype: karel files are not detected * 9.1.0873: filetype: Vivado files are not recognized * 9.1.0872: No test for W23 message * 9.1.0871: getcellpixels() can be further improved * 9.1.0870: too many strlen() calls in eval.c * 9.1.0869: Problem: curswant not set on gm in folded line * 9.1.0868: the warning about missing clipboard can be improved * runtime(doc): Makefile does not clean up all temporary files * 9.1.0867: ins_compl_add() has too many args * editorconfig: don't trim trailing whitespaces in runtime/doc * translation(am): Remove duplicate keys in desktop files * runtime(doc): update helptags * runtime(filetype): remove duplicated *.org file pattern * runtime(cfg): only consider leading // as starting a comment * 9.1.0866: filetype: LLVM IR files are not recognized * 9.1.0865: filetype: org files are not recognized * 9.1.0864: message history is fixed to 200 * 9.1.0863: getcellpixels() can be further improved * runtime(sh): better function support for bash/zsh in indent script * runtime(netrw): small fixes to netrw#BrowseX * 9.1.0862: 'wildmenu' not enabled by default in nocp mode * runtime(doc): update how to report issues for mac Vim * runtime(doc): mention option-backslash at :h CompilerSet * runtime(compiler): include a Java Maven compiler plugin * runtime(racket): update Racket runtime files * runtime(doc): improve indentation in examples for netrw-handler * runtime(doc): improve examples for netrw-handler functions * runtime(idris2): include filetype,indent+syntax plugins for (L)Idris2 + ipkg * runtime(doc): clarify the use of filters and external commands * 9.1.0861: Vim9: no runtime check for object member access of any var * runtime(compiler): update pylint linter * 9.1.0860: tests: mouse_shape tests use hard code sleep value * 9.1.0859: several problems with the GLVS plugin * 9.1.0858: Coverity complains about dead code * runtime(tar): Update tar.vim to support permissions * 9.1.0857: xxd: --- is incorrectly recognized as end-of-options * 9.1.0851: too many strlen() calls in getchar.c * 9.1.0850: Vim9: cannot access nested object inside objects * runtime(tex): extra Number highlighting causes issues * runtime(vim): Fix indent after :silent! function * 9.1.0849: there are a few typos in the source * runtime(netrw): directory symlink not resolved in tree view * runtime(doc): add a table of supported Operating Systems * runtime(tex): update Last Change header in syntax script * runtime(doc): fix typo in g:termdebug_config * runtime(vim): Update base-syntax, improve :normal highlighting * runtime(tex): add Number highlighting to syntax file * runtime(doc): Tweak documentation style a bit * 9.1.0848: if_lua: v:false/v:true are not evaluated to boolean * runtime(dune): use :setl instead of :set in ftplugin * runtime(termdebug): allow to use decimal signs * translation(it): Updated Italian vimtutor * runtime(compiler): improve cppcheck * git: git-blame-ignore-revs shown as an error on Github * 9.1.0847: tests: test_popupwin fails because of updated help file * 9.1.0846: debug symbols for xxd are not cleaned in Makefile * runtime(structurizr): Update structurizr syntax * runtime(8th): updated 8th syntax * runtime(doc): Add pi_tutor.txt to help TOC * runtime(compiler): add mypy and ruff compiler; update pylint linter * runtime(netrw): fix several bugs in netrw tree listing * runtime(netrw): prevent polluting the search history * 9.1.0845: vimtutor shell script can be improved * 9.1.0844: if_python: no way to pass local vars to python * 9.1.0843: too many strlen() calls in undo.c * runtime(doc): update default value for fillchars option * runtime(compiler): fix typo in cppcheck compiler plugin * runtime(doc): simplify vimtutor manpage a bit more * runtime(matchparen): Add matchparen_disable_cursor_hl config option * 9.1.0842: not checking for the sync() systemcall * 9.1.0841: tests: still preferring python2 over python3 * 9.1.0840: filetype: idris2 files are not recognized * 9.1.0839: filetype: leo files are not recognized * runtime(cook): include cook filetype plugin * runtime(debversions): Update Debian versions * patch 9.1.0838: vimtutor is bash-specific * runtime(doc): add help specific modeline to pi_tutor.txt * Filelist: vimtutor chapter 2 is missing in Filelist * 9.1.0837: cross-compiling has some issues * runtime(vimtutor): Add a second chapter- Fix for bsc#1234333 / bsc#1234214 / bsc#1234245. These three bugs all have the same root cause: Package 'xxd' has been obsoleted by Vim, as it provides the xxd files directly. However, because the "Obsoletes" entry was versioned, depending on which version of 'xxd' that is installed, the "Obsoletes" isn't actually triggered. Thus, there is a conflict between "vim" and "xxd" in these cases. Fixing this by removing the version completely. The 'vim' package should always replace 'xxd', even if people are migrating from an older SLE15 service pack which has the exact same version.- Fix for bsc#1231373 / CVE-2024-47814. - Fix for bsc#1229238 / CVE-2024-43374. - update to 9.1.0836 * 9.1.0836: The vimtutor can be improved * 9.1.0835: :setglobal doesn't work properly for 'ffu' and 'tsrfu' * 9.1.0834: tests: 2html test fails * 9.1.0833: CI: recent ASAN changes do not work for indent tests * 9.1.0832: :set doesn't work for 'cot' and 'bkc' after :setlocal * runtime(doc): update help-toc description * runtime(2html): Make links use color scheme colors in TOhtml * 9.1.0831: 'findexpr' can't be used as lambad or Funcref * Filelist: include helptoc package * runtime(doc): include a TOC Vim9 plugin * Filelist: ignore .git-blame-ignore-revs * 9.1.0830: using wrong highlight group for spaces for popupmenu * runtime(typst): synchronize updates from the upstream typst.vim * git: ignore reformatting commit for git-blame (after v9.1.0829) * 9.1.0829: Vim source code uses a mix of tabs and spaces * 9.1.0828: string_T struct could be used more often * 9.1.0827: CI: tests can be improved * runtime(doc): remove stray sentence in pi_netrw.txt * 9.1.0826: filetype: sway files are not recognized * runtime(doc): Include netrw-gp in TOC * runtime(doc): mention 'iskeyword' at :h charclass() * runtime(doc): update help tags * 9.1.0825: compile error for non-diff builds * runtime(netrw): fix E874 when browsing remote directory which contains `~` character * runtime(doc): update coding style documentation * runtime(debversions): Add plucky (25.04) as Ubuntu release name * 9.1.0824: too many strlen() calls in register.c * 9.1.0823: filetype: Zephyr overlay files not recognized * runtime(doc): Clean up minor formatting issues for builtin functions * runtime(netrw): make :Launch/Open autoloadable * runtime(netrw): fix regression with x mapping on Cygwin * runtime(netrw): fix filetype detection for remote files * 9.1.0822: topline might be changed in diff mode unexpectedly * CI: huge linux builds should also run syntax & indent tests * 9.1.0821: 'findexpr' completion doesn't set v:fname to cmdline argument * 9.1.0820: tests: Mac OS tests are too flaky * runtime(awk): Highlight more awk comments in syntax script * runtime(netrw): add missing change for s:redir() * 9.1.0819: tests: using findexpr and imported func not tested * runtime(netrw): improve netrw's open-handling further * runtime(netrw): fix syntax error in netrwPlugin.vim * runtime(netrw): simplify gx file handling * 9.1.0818: some global functions are only used in single files * 9.1.0817: termdebug: cannot evaluate expr in a popup * runtime(defaults): Detect putty terminal and switch to dark background * 9.1.0816: tests: not clear what tests cause asan failures * runtime(doc): Remove some completed items from todo.txt * 9.1.0815: "above" virtual text causes wrong 'colorcolumn' position * runtime(syntax-tests): tiny vim fails because of line-continuation * 9.1.0814: mapset() may remove unrelated mapping * 9.1.0813: no error handling with setglobal and number types * 9.1.0812: Coverity warns about dereferencing NULL ptr * 9.1.0811: :find expansion does not consider 'findexpr' * 9.1.0810: cannot easily adjust the |:find| command * 9.1.0809: filetype: petalinux config files not recognized * 9.1.0808: Terminal scrollback doesn't shrink when decreasing 'termwinscroll' * 9.1.0807: tests: having 'nolist' in modelines isn't always desired * 9.1.0806: tests: no error check when setting global 'briopt' * 9.1.0805: tests: minor issues in gen_opt_test.vim * 9.1.0804: tests: no error check when setting global 'cc' * 9.1.0803: tests: no error check when setting global 'isk' * 9.1.0802: tests: no error check when setting global 'fdm' to empty value * 9.1.0801: tests: no error check when setting global 'termwinkey' * 9.1.0800: tests: no error check when setting global 'termwinsize' * runtime(doc): :ownsyntax also resets 'spelloptions' * 9.1.0799: tests: gettwinvar()/gettabwinvar() tests are not comprehensive * runtime(doc): Fix wrong Mac default options * 9.1.0798: too many strlen() calls in cmdhist.c * 9.1.0797: testing of options can be further improved * 9.1.0796: filetype: libtool files are not recognized * (typst): add folding to typst ftplugin * runtime(netrw): deprecate and remove netrwFileHandlers#Invoke() * 9.1.0795: filetype: Vivado memory info file are not recognized * 9.1.0794: tests: tests may fail on Windows environment * runtime(doc): improve the :colorscheme documentation * 9.1.0793: xxd: -e does add one extra space * 9.1.0792: tests: Test_set_values() is not comprehensive enough * runtime(swayconfig): add flag for bindsym/bindcode to syntax script * 9.1.0791: tests: errors in gen_opt_test.vim are not shown * runtime(compiler): check for compile_commands in build dirs for cppcheck * 9.1.0790: Amiga: AmigaOS4 build should use default runtime (newlib) * runtime(help): Update help syntax * runtime(help): fix end of sentence highlight in code examples * runtime(jinja): Support jinja syntax as secondary filetype * 9.1.0789: tests: ':resize + 5' has invalid space after '+' * 9.1.0788: 27;u is not decoded to literal Escape in kitty/foot * 9.1.0787: cursor position changed when using hidden terminal * 9.1.0786: tests: quickfix update test does not test location list * runtime(doc): add some docs for file-watcher programs * CI: uploading failed screendumps still fails on Cirrus CI * 9.1.0785: cannot preserve error position when setting quickfix list * 9.1.0784: there are several problems with python 3.13 * 9.1.0783: 'spell' option setting has problems * 9.1.0782: tests: using wrong neomuttlog file name * runtime(doc): add preview flag to statusline example * 9.1.0781: tests: test_filetype fails * 9.1.0780: MS-Windows: incorrect Win32 error checking * 9.1.0779: filetype: neomuttlog files are not recognized * 9.1.0778: filetype: lf config files are not recognized * runtime(comment): fix commment toggle with mixed tabs & spaces * runtime(misc): Use consistent "Vim script" spelling * runtime(gleam): add ftplugin for gleam files * runtime(doc): link help-writing from write-local-help * 9.1.0777: filetype: Some upstream php files are not recognized * runtime(java): Define javaBlockStart and javaBlockOtherStart hl groups * runtime(doc): mention conversion rules for remote_expr() * runtime(tutor): Fix missing :s command in spanish translation section 4.4 * 9.1.0776: test_strftime may fail because of missing TZ data * translation(am): Add Armenian language translation * 9.1.0775: tests: not enough tests for setting options * 9.1.0774: "shellcmdline" doesn't work with getcompletion() * 9.1.0773: filetype: some Apache files are not recognized * 9.1.0772: some missing changes from v9.1.0771 * 9.1.0771: completion attribute hl_group is confusing * 9.1.0770: current command line completion is a bit limited * 9.1.0769: filetype: MLIR files are not recognized * 9.1.0768: MS-Windows: incorrect cursor position when restoring screen * runtime(nasm): Update nasm syntax script * 9.1.0767: A condition is always true in ex_getln.c * runtime(skill): Update syntax file to fix string escapes * runtime(help): highlight CTRL- correctly * runtime(doc): add missing usr_52 entry to toc * 9.1.0766: too many strlen() calls in ex_getln.c * runtime(doc): correct `vi` registers 1-9 documentation error * 9.1.0765: No test for patches 6.2.418 and 7.3.489 * runtime(spec): set comments and commentstring options * NSIS: Include libgcc_s_sjlj-1.dll again * runtime(doc): clarify the effect of 'startofline' option * 9.1.0764: [security]: use-after-free when closing a buffer * runtime(vim): Update base-syntax file, improve class, enum and interface highlighting * 9.1.0763: tests: cannot run single syntax tests * 9.1.0762: 'cedit', 'termwinkey' and 'wildchar' may not be parsed correctly * 9.1.0761: :cd completion fails on Windows with backslash in path * 9.1.0760: tests: no error reported, if gen_opt_test.vim fails * 9.1.0759: screenpos() may return invalid position * runtime(misc): unset compiler in various ftplugins * runtime(doc): update formatting and syntax * runtime(compiler): add cppcheck linter compiler plugin * runtime(doc): Fix style in documents * runtime(doc): Fix to two-space convention in user manual * runtime(comment): consider &tabstop in lines after whitespace indent * 9.1.0758: it's possible to set an invalid key to 'wildcharm' * runtime(java): Manage circularity for every :syn-included syntax file * 9.1.0757: tests: messages files contains ANSI escape sequences * 9.1.0756: missing change from patch v9.1.0754 * 9.1.0755: quickfix list does not handle hardlinks well * runtime(doc): 'filetype', 'syntax' and 'keymap' only allow alphanumeric + some characters * runtime(systemd): small fixes to &keywordprg in ftplugin * CI: macos-12 runner is being sunset, switch to 13 * 9.1.0754: fixed order of items in insert-mode completion menu * runtime(comment): commenting might be off by one column * 9.1.0753: Wrong display when typing in diff mode with 'smoothscroll' * 9.1.0752: can set 'cedit' to an invalid value * runtime(doc): add `usr` tag to usr_toc.txt * 9.1.0751: Error callback for term_start() not used * 9.1.0750: there are some Win9x legacy references * runtime(java): Recognise the CommonMark form (///) of Javadoc comments * 9.1.0749: filetype: http files not recognized * runtime(comment): fix syntax error * CI: uploading failed screendump tests does not work Cirrus * 9.1.0748: :keep* commmands are sometimes misidentified as :k * runtime(indent): allow matching negative numbers for gnu indent config file * runtime(comment): add gC mapping to (un)comment rest of line * 9.1.0747: various typos in repo found * 9.1.0746: tests: Test_halfpage_longline() fails on large terminals * runtime(doc): reformat gnat example * runtime(doc): reformat ada_standard_types section * 9.1.0745: filetype: bun and deno history files not recognized * runtime(glvs): Correct the tag name of glvs-autoinstal * runtime(doc): include short form for :earlier/:later * runtime(doc): remove completed TODO * 9.1.0744: filetype: notmuch configs are not recognised * 9.1.0743: diff mode does not handle overlapping diffs correctly * runtime(glvs): fix a few issues * runtime(doc): Fix typo in :help :command-modifiers * 9.1.0742: getcmdprompt() implementation can be improved * runtime(docs): update `:set?` command behavior table * runtime(doc): update vim90 to vim91 in docs * runtime(doc): fix typo in :h dos-colors * 9.1.0741: No way to get prompt for input()/confirm() * runtime(doc): fix typo in version9.txt nrformat -> nrformats * runtime(rmd,rrst): 'fex' option not properly restored * runtime(netrw): remove extraneous closing bracket * 9.1.0740: incorrect internal diff with empty file * 9.1.0739: [security]: use-after-free in ex_getln.c * runtime(filetype): tests: Test_filetype_detection() fails * runtime(dist): do not output a message if executable is not found * 9.1.0738: filetype: rapid files are not recognized * runtime(modconf): remove erroneous :endif in ftplugin * runtime(lyrics): support multiple timestamps in syntax script * runtime(java): Optionally recognise _module_ import declarations * runtime(vim): Update base-syntax, improve folding function matches * CI: upload failed screendump tests also for Cirrus * 9.1.0737: tests: screendump tests may require a bit more time * runtime(misc): simplify keywordprg in various ftplugins * runtime(java): Optionally recognise all primitive constants in _switch-case_ labels * runtime(zsh,sh): set and unset compiler in ftplugin * runtime(netrw): using inefficient highlight pattern for 'mf' * 9.1.0736: Unicode tables are outdated * 9.1.0735: filetype: salt files are not recognized * 9.1.0734: filetype: jinja files are not recognized * runtime(zathurarc): add double-click-follow to syntax script * translation(ru): Updated messages translation * translation(it): updated xxd man page * translation(ru): updated xxd man page * 9.1.0733: keyword completion does not work with fuzzy * 9.1.0732: xxd: cannot use -b and -i together * runtime(java): Highlight javaConceptKind modifiers with StorageClass * runtime(doc): reword and reformat how to use defaults.vim * 9.1.0731: inconsistent case sensitive extension matching * runtime(vim): Update base-syntax, match Vim9 bool/null literal args to :if/:while/:return * runtime(netrw): delete confirmation not strict enough * 9.1.0730: Crash with cursor-screenline and narrow window * 9.1.0729: Wrong cursor-screenline when resizing window * 9.1.0728: [security]: heap-use-after-free in garbage collection with location list user data * runtime(doc): clarify the effect of the timeout for search()-functions * runtime(idlang): update syntax script * runtime(spec): Recognize epoch when making spec changelog in ftplugin * runtime(spec): add file triggers to syntax script * 9.1.0727: too many strlen() calls in option.c * runtime(make): add compiler/make.vim to reset compiler plugin settings * runtime(java): Recognise all available standard doclet tags * 9.1.0726: not using correct python3 API with dynamic linking * runtime(dosini): Update syntax script, spellcheck comments only * runtime(doc): Revert outdated comment in completeopt's fuzzy documentation * 9.1.0725: filetype: swiftinterface files are not recognized * runtime(pandoc): Update compiler plugin to use actual 'spelllang' * runtime(groff): Add compiler plugin for groff * 9.1.0724: if_python: link error with python 3.13 and stable ABI * 9.1.0723: if_python: dynamic linking fails with python3 >= 3.13 * 9.1.0722: crash with large id in text_prop interface * 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME * runtime(glvs): update GetLatestVimScripts plugin * runtime(doc): Fix typo in :help :hide text * runtime(doc): buffers can be re-used * 9.1.0720: Wrong breakindentopt=list:-1 with multibyte or TABs * 9.1.0719: Resetting cell widths can make 'listchars' or 'fillchars' invalid * runtime(doc): Update version9.txt and mention $MYVIMDIR - Update to 9.1.0718: * v9.1.0718: hard to know the users personal Vim Runtime Directory * v9.1.0717: Unnecessary nextcmd NULL checks in parse_command_modifiers() Maintainers: fix typo in author name * v9.1.0716: resetting setcellwidth( doesn't update the screen runtime(hcl,terraform): Add runtime files for HCL and Terraform runtime(tmux): Update syntax script * v9.1.0715: Not correctly parsing color names (after v9.1.0709) * v9.1.0714: GuiEnter_Turkish test may fail * v9.1.0713: Newline causes E749 in Ex mode * v9.1.0712: missing dependency of Test_gettext_makefile * v9.1.0711: test_xxd may file when using different xxd * v9.1.0710: popup window may hide part of Command line runtime(vim): Update syntax, improve user-command matching * v9.1.0709: GUIEnter event not found in Turkish locale runtime(sudoers): improve recognized Runas_Spec and Tag_Spec items * v9.1.0708: Recursive window update does not account for reset skipcol runtime(nu): include filetype plugin * v9.1.0707: invalid cursor position may cause a crash * v9.1.0706: test_gettext fails when using shadow dir CI: Install locales-all package * v9.1.0705: Sorting of fuzzy filename completion is not stable translation(pt): update Portuguese/Brazilian menu translation runtime(vim): Update base-syntax, match bracket mark ranges runtime(doc): Update :help :command-complete list * v9.1.0704: inserting with a count is inefficient runtime(doc): use mkdir -p to save a command * v9.1.0703: crash with 2byte encoding and glob2regpat() runtime(hollywood): update syn highlight for If-Then statements and For-In-Loops * v9.1.0702: Patch 9.1.0700 broke CI * v9.1.0701: crash with NFA regex engine when searching for composing chars * v9.1.0700: crash with 2byte encoding and glob2regpat() * v9.1.0699: "dvgo" is not always an inclusive motion runtime(java): Provide support for syntax preview features * v9.1.0698: "Untitled" file not removed when running Test_crash1_3 alone * v9.1.0697: heap-buffer-overflow in ins_typebuf * v9.1.0696: installing runtime files fails when using SHADOWDIR runtime(doc): fix typo * v9.1.0695: test_crash leaves Untitled file around translation(br): Update Brazilian translation translation(pt): Update menu_pt_br * v9.1.0694: matchparen is slow on a long line * v9.1.0693: Configure doesn't show result when not using python3 stable abi * v9.1.0692: Wrong patlen value in ex_substitute() * v9.1.0691: stable-abi may cause segfault on Python 3.11 runtime(vim): Update base-syntax, match :loadkeymap after colon and bar runtime(mane): Improve ManBS mapping * v9.1.0690: cannot set special highlight kind in popupmenu translation(pt): Revert and fix wrong Portuguese menu translation files translation(pt): revert Portuguese menu translation translation(br): Update Brazilian translations runtime(vim): Update base-syntax, improve :let-heredoc highlighting * v9.1.0689: buffer-overflow in do_search( with 'rightleft' runtime(vim): Improve heredoc handling for all embedded scripts * v9.1.0688: dereferences NULL pointer in check_type_is_value() * v9.1.0687: Makefile may not install desktop files runtime(man): Fix ManBS runtime(java): Make the bundled &foldtext function optional runtime(netrw): Change line on `mx` if command output exists runtime(netrw): Fix `mf`-selected entry highlighting runtime(htmlangular): add html syntax highlighting translation(it): Fix filemode of Italian manpages runtime(doc): Update outdated man.vim plugin information runtime(zip): simplify condition to detect MS-Windows * v9.1.0686: zip-plugin has problems with special characters runtime(pandoc): escape quotes in &errorformat for pandoc translation(it): updated Italian manpage * v9.1.0685: too many strlen( calls in usercmd.c runtime(doc): fix grammar in :h :keeppatterns runtime(pandoc): refine pandoc compiler settings * v9.1.0684: completion is inserted on Enter with "noselect" translation(ru): update man pages * v9.1.0683: mode( returns wrong value with mapping runtime(doc): remove trailing whitespace in cmdline.txt * v9.1.0682: Segfault with uninitialized funcref * v9.1.0681: Analyzing failed screendumps is hard runtime(doc): more clarification for the :keeppatterns needed * v9.1.0680: VMS does not have defined uintptr_t runtime(doc): improve typedchar documentation for KeyInputPre autocmd runtime(dist): verify that executable is in $PATH translation(it): update Italian manpages runtime(doc): clarify the effect of :keeppatterns after * v9.1.0677 runtime(doc): update Makefile and make it portable between GNU and BSD * v9.1.0679: Rename from w_closing to w_locked is incomplete runtime(colors): update colorschemes runtime(vim): Update base-syntax, improve :let-heredoc highlighting runtime(doc): Updating the examples in the xxd manpage translation(ru): Updated uganda.rux runtime(yaml): do not re-indent when commenting out lines * v9.1.0678: use-after-free in alist_add() * v9.1.0677 :keepp does not retain the substitute pattern translation(ja): Update Japanese translations to latest release runtime(netrw): Drop committed trace lines runtime(netrw): Error popup not always used runtime(netrw): ErrorMsg( may throw E121 runtime(tutor): update Makefile and make it portable between GNU and BSD translation: improve the po/cleanup.vim script runtime(lang): update Makefile and make it portable between GNU and BSD * v9.1.0676: style issues with man pages * v9.1.0675: Patch v9.1.0674 causes problems runtime(dosbatch): Show %%i as an argument in syntax file runtime(dosbatch): Add syn-sync to syntax file runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql" * v9.1.0674: compiling abstract method fails because of missing return runtime(javascript): fix a few issues with syntax higlighting runtime(mediawiki): fix typo in doc, test for b:did_ftplugin var runtime(termdebug): Fix wrong test for balloon feature runtime(doc): Remove mentioning of the voting feature runtime(doc): add help tags for json + markdown global variables * v9.1.0673: too recursive func calls when calling super-class method runtime(syntax-tests): Facilitate the viewing of rendered screendumps runtime(doc): fix a few style issues * v9.1.0672: marker folds may get corrupted on undo * v9.1.0671 Problem: crash with WinNewPre autocommand * v9.1.0670: po file encoding fails on *BSD during make translation(it): Update Italian translation translation: Stop using msgconv * v9.1.0669: stable python ABI not used by default Update .gitignore and .hgignore files * v9.1.0668: build-error with python3.12 and stable ABI translations: Update generated po files * v9.1.0667: Some other options reset curswant unnecessarily when set * v9.1.0666: assert_equal( doesn't show multibyte string correctly runtime(doc): clarify directory of Vim's executable vs CWD * v9.1.0665 :for loop runtime(proto): Add indent script for protobuf filetype * v9.1.0664: console vim did not switch back to main screen on exit runtime(zip): zip plugin does not work with Vim 9.0 * v9.1.0663: zip test still resets 'shellslash' option runtime(zip): use defer to restore old settings runtime(zip): add a generic Message function runtime(zip): increment base version of zip plugin runtime(zip): raise minimum Vim version to * v9.0 runtime(zip): refactor save and restore of options runtime(zip): remove test for fnameescape runtime(zip): use :echomsg instead of :echo runtime(zip): clean up and remove comments * v9.1.0662: filecopy( may return wrong value when readlink( fails * v9.1.0661: the zip plugin is not tested. runtime(zip): Fix for FreeBSD's unzip command runtime(doc): capitalize correctly * v9.1.0660: Shift-Insert does work on old conhost translation(it): update Italian manpage runtime(lua): add/subtract a 'shiftwidth' after '('/')' in indentexpr runtime(zip): escape '[' on Unix as well * v9.1.0659: MSVC Makefile is a bit hard to read runtime(doc): fix typo in syntax.txt runtime(doc): -x is only available when compiled with crypt feature * v9.1.0658: Coverity warns about dereferencing NULL pointer. runtime(colors): update Todo highlight in habamax colorscheme * v9.1.0657: MSVC build time can be optimized * v9.1.0656: MSVC Makefile CPU handling can be improved * v9.1.0655: goaccess config file not recognized CI: update clang compiler to version 20 runtime(netrw): honor `g:netrw_alt{o,v}` for `:{S,H,V}explore` * v9.1.0654: completion does not respect completeslash with fuzzy * v9.1.0653: Patch v9.1.0648 not completely right * v9.1.0652: too many strlen( calls in syntax.c * v9.1.0651 :append * v9.1.0650: Coverity warning in cstrncmp() * v9.1.0649: Wrong comment for "len" argument of call_simple_func() * v9.1.0648: [security] double-free in dialog_changed() * v9.1.0647: [security] use-after-free in tagstack_clear_entry runtime(doc): re-format tag example lines, mention ctags --list-kinds * v9.1.0646: imported function may not be found runtime(java): Document "g:java_space_errors" and "g:java_comment_strings" runtime(java): Cluster optional group definitions and their group links runtime(java): Tidy up the syntax file runtime(java): Tidy up the documentation for "ft-java-syntax" runtime(colors): update habamax scheme - tweak diff/search/todo colors runtime(nohlsearch): add missing loaded_hlsearch guard runtime(kivy): Updated maintainer info for syntax script Maintainers: Add maintainer for ondir ftplugin + syntax files runtime(netrw): removing trailing slash when copying files in same directory * v9.1.0645: wrong match when searching multi-byte char case-insensitive runtime(html): update syntax script to sync by 250 minlines by default * v9.1.0644: Unnecessary STRLEN( when applying mapping runtime(zip): Opening a remote zipfile don't work runtime(cuda): source c and cpp ftplugins * v9.1.0643: cursor may end up on invalid position * v9.1.0642: Check that mapping rhs starts with lhs fails if not simplified * v9.1.0641: OLE enabled in console version runtime(thrift): add ftplugin, indent and syntax scripts * v9.1.0640: Makefile can be improved * v9.1.0639: channel timeout may wrap around * v9.1.0638: E1510 may happen when formatting a message for smsg() * v9.1.0637: Style issues in MSVC Makefile - Update apparmor.vim to latest version (from AppArmor 4.0.2) - add support for "all" and "userns" rules, and new profile flags - Update to 9.1.0636: * 9.1.0636: filetype: ziggy files are not recognized * 9.1.0635: filetype: SuperHTML template files not recognized * 9.1.0634: Ctrl-P not working by default * 9.1.0633: Compilation warnings with `-Wunused-parameter` * 9.1.0632: MS-Windows: Compiler Warnings Add support for Files-Included in syntax script tweak documentation style a bit * 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion * 9.1.0630: MS-Windows: build fails with VIMDLL and mzscheme * 9.1.0629: Rename of pum hl_group is incomplete * 9.1.0628: MinGW: coverage files are not cleaned up * 9.1.0627: MinGW: build-error when COVERAGE is enabled * 9.1.0626: Vim9: need more tests with null objects include initial filetype plugin * 9.1.0625: tests: test output all translated messages for all translations * 9.1.0624: ex command modifiers not found * 9.1.0623: Mingw: errors when trying to delete non-existing files * 9.1.0622: MS-Windows: mingw-build can be optimized * 9.1.0621: MS-Windows: startup code can be improved * 9.1.0620: Vim9: segfauls with null objects * 9.1.0619: tests: test_popup fails * 9.1.0618: cannot mark deprecated attributes in completion menu * 9.1.0617: Cursor moves beyond first line of folded end of buffer * 9.1.0616: filetype: Make syntax highlighting off for MS Makefiles * 9.1.0615: Unnecessary STRLEN() in make_percent_swname() Add single-line comment syntax Add syntax test for comments Update maintainer info * 9.1.0614: tests: screendump tests fail due to recent syntax changes * 9.1.0613: tests: termdebug test may fail and leave file around Update base-syntax, improve :set highlighting Optionally highlight the :: token for method references * 9.1.0612: filetype: deno.lock file not recognized Use delete() for deleting directory escape filename before trying to delete it * 9.1.0611: ambiguous mappings not correctly resolved with modifyOtherKeys correctly extract file from zip browser * 9.1.0610: filetype: OpenGL Shading Language files are not detected Fix endless recursion in netrw#Explore() * 9.1.0609: outdated comments in Makefile update syntax script Fix flow mapping key detection Remove orphaned YAML syntax dump files * 9.1.0608: Coverity warns about a few potential issues Update syntax script and remove syn sync * 9.1.0607: termdebug: uses inconsistent style * 9.1.0606: tests: generated files may cause failure in test_codestyle * 9.1.0605: internal error with fuzzy completion * 9.1.0604: popup_filter during Press Enter prompt seems to hang translation: Update Serbian messages translation * 9.1.0603: filetype: use correct extension for Dracula * 9.1.0602: filetype: Prolog detection can be improved fix more inconsistencies in assert function docs * 9.1.0601: Wrong cursor position with 'breakindent' when wide char doesn't fit Update base-syntax, improve :map highlighting * 9.1.0600: Unused function and unused error constants * 9.1.0599: Termdebug: still get E1023 when specifying arguments correct wrong comment options fix typo "a xterm" -> "an xterm" * 9.1.0598: fuzzy completion does not work with default completion * 9.1.0597: KeyInputPre cannot get the (unmapped typed) key * 9.1.0596: filetype: devscripts config files are not recognized gdb file/folder check is now performed only in CWD. quote filename arguments using double quotes update syntax to SDC-standard 2.1 minor updates. Cleanup :match and :loadkeymap syntax test files Update base-syntax, match types in Vim9 variable declarations * 9.1.0595: make errors out with the po Makefile * 9.1.0594: Unnecessary redraw when setting 'winfixbuf' using wrong highlight for UTF-8 include simple syntax plugin * 9.1.0593: filetype: Asymptote files are not recognized add recommended indent options to ftplugin add recommended indent options to ftplugin add recommended indent options to ftplugin * 9.1.0592: filetype: Mediawiki files are not recognized * 9.1.0591: filetype: *.wl files are not recognized * 9.1.0590: Vim9: crash when accessing getregionpos() return value 'cpoptions': Include "z" in the documented default * 9.1.0589: vi: d{motion} and cw work differently than expected update included colorschemes grammar fixes in options.txt - Add "Keywords" to gvim.desktop to make searching for gvim easier - Removed patches, as they're no longer required (refreshing them deleted their contents): * vim-7.3-help_tags.patch * vim-7.4-highlight_fstab.patch - Reorganise all applied patches in the spec file. - Update to 9.1.0588: * 9.1.0588: The maze program no longer compiles on newer clang runtime(typst): Add typst runtime files * 9.1.0587: tests: Test_gui_lowlevel_keyevent is still flaky * 9.1.0586: ocaml runtime files are outdated runtime(termdebug): fix a few issues * 9.1.0585: tests: test_cpoptions leaves swapfiles around * 9.1.0584: Warning about redeclaring f_id() non-static runtime(doc): Add hint how to load termdebug from vimrc runtime(doc): document global insert behavior * 9.1.0583: filetype: *.pdf_tex files are not recognized * 9.1.0582: Printed line doesn't overwrite colon when pressing Enter in Ex mode * 9.1.0581: Various lines are indented inconsistently * 9.1.0580: :lmap mapping for keypad key not applied when typed in Select mode * 9.1.0579: Ex command is still executed after giving E1247 * 9.1.0578: no tests for :Tohtml * 9.1.0577: Unnecessary checks for v:sizeoflong in test_put.vim * 9.1.0576: tests: still an issue with test_gettext_make * 9.1.0575: Wrong comments in alt_tabpage() * 9.1.0574: ex: wrong handling of commands after bar runtime(doc): add a note for netrw bug reports * 9.1.0573: ex: no implicit print for single addresses runtime(vim): make &indentexpr available from the outside * 9.1.0572: cannot specify tab page closing behaviour runtime(doc): remove obsolete Ex insert behavior * 9.1.0571: tests: Test_gui_lowlevel_keyevent is flaky runtime(logindefs): update syntax with new keywords * 9.1.0570: tests: test_gettext_make can be improved runtime(filetype): Fix Prolog file detection regex * 9.1.0569: fnamemodify() treats ".." and "../" differently runtime(mojo): include mojo ftplugin and indent script * 9.1.0568: Cannot expand paths from 'cdpath' setting * 9.1.0567: Cannot use relative paths as findfile() stop directories * 9.1.0566: Stop dir in findfile() doesn't work properly w/o trailing slash * 9.1.0565: Stop directory doesn't work properly in 'tags' * 9.1.0564: id() can be faster * 9.1.0563: Cannot process any Key event * 9.1.0562: tests: inconsistency in test_findfile.vim runtime(fstab): Add missing keywords to fstab syntax * 9.1.0561: netbeans: variable used un-initialized (Coverity) * 9.1.0560: bindtextdomain() does not indicate an error * 9.1.0559: translation of vim scripts can be improved * 9.1.0558: filetype: prolog detection can be improved * 9.1.0557: moving in the buffer list doesn't work as documented runtime(doc): fix inconsistencies in :h file-searching * 9.1.0556: :bwipe doesn't remove file from jumplist of other tabpages runtime(htmlangular): correct comment * 9.1.0555: filetype: angular ft detection is still problematic * 9.1.0554: :bw leaves jumplist and tagstack data around * 9.1.0553: filetype: *.mcmeta files are not recognized * 9.1.0552: No test for antlr4 filetype * 9.1.0551: filetype: htmlangular files are not properly detected * 9.1.0550: filetype: antlr4 files are not recognized * 9.1.0549: fuzzycollect regex based completion not working as expected runtime(doc): autocmd_add() accepts a list not a dict * 9.1.0548: it's not possible to get a unique id for some vars runtime(tmux): Update syntax script * 9.1.0547: No way to get the arity of a Vim function * 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A runtime(hlsplaylist): include hlsplaylist ftplugin file runtime(doc): fix typo in :h ft-csv-syntax runtime(doc): Correct shell command to get $VIMRUNTIME into shell * 9.1.0545: MSVC conversion warning * 9.1.0544: filetype: ldapconf files are not recognized runtime(cmakecache): include cmakecache ftplugin file runtime(lex): include lex ftplugin file runtime(yacc): include yacc ftplugin file runtime(squirrel): include squirrel ftplugin file runtime(objcpp): include objcpp ftplugin file runtime(tf): include tf ftplugin file runtime(mysql): include mysql ftplugin file runtime(javacc): include javacc ftplugin file runtime(cabal): include cabal ftplugin file runtime(cuda): include CUDA ftplugin file runtime(editorconfig): include editorconfig ftplugin file runtime(kivy): update kivy syntax, include ftplugin runtime(syntax-tests): Stop generating redundant "*_* 99.dump" files * 9.1.0543: Behavior of CursorMovedC is strange runtime(vim): Update base-syntax, improve :match command highlighting * 9.1.0542: Vim9: confusing string() output for object functions * 9.1.0541: failing test with Vim configured without channel * 9.1.0540: Unused assignment in sign_define_cmd() runtime(doc): add page-scrolling keys to index.txt runtime(doc): add reference to xterm-focus-event from FocusGained/Lost * 9.1.0539: Not enough tests for what v9.1.0535 fixed runtime(doc): clarify how to re-init csv syntax file * 9.1.0538: not possible to assign priority when defining a sign * 9.1.0537: signed number detection for CTRL-X/A can be improved * 9.1.0536: filetype: zone files are not recognized * 9.1.0535: newline escape wrong in ex mode runtime(man): honor cmd modifiers before `g:ft_man_open_mode` runtime(man): use `nnoremap` to map to Ex commands * 9.1.0534: completion wrong with fuzzy when cycling back to original runtime(syntax-tests): Abort and report failed cursor progress runtime(syntax-tests): Introduce self tests for screen dumping runtime(syntax-tests): Clear and redraw the ruler line with the shell info runtime(syntax-tests): Allow for folded and wrapped lines in syntax test files * 9.1.0533: Vim9: need more tests for nested objects equality CI: Pre-v* 9.0.0110 versions generate bogus documentation tag entries runtime(doc): Remove wrong help tag CTRL-SHIFT-CR * 9.1.0532: filetype: Cedar files not recognized runtime(doc): document further keys that scroll page up/down * 9.1.0531: resource leak in mch_get_random() runtime(tutor): Fix wrong spanish translation runtime(netrw): fix remaining case of register clobber * 9.1.0530: xxd: MSVC warning about non-ASCII character * 9.1.0529: silent! causes following try/catch to not work runtime(rust): use shiftwidth() in indent script * 9.1.0528: spell completion message still wrong in translations * 9.1.0527: inconsistent parameter in Makefiles for Vim executable * 9.1.0526: Unwanted cursor movement with pagescroll at start of buffer runtime(doc): mention $XDG_CONFIG_HOME instead of $HOME/.config * 9.1.0525: Right release selects immediately when pum is truncated. * 9.1.0524: the recursive parameter in the *_equal functions can be removed runtime(termdebug): Add Deprecation warnings * 9.1.0523: Vim9: cannot downcast an object * 9.1.0522: Vim9: string(object) hangs for recursive references * 9.1.0521: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13 * 9.1.0520: Vim9: incorrect type checking for modifying lists runtime(manpager): avoid readonly prompt * 9.1.0519: MS-Windows: libvterm compilation can be optimized * 9.1.0518: initialize the random buffer can be improved * 9.1.0517: MS-Windows: too long lines in Make_mvc.mak runtime(terraform): Add filetype plugin for terraform runtime(dockerfile): enable spellchecking of comments in syntax script runtime(doc): rename variable for pandoc markdown support runtime(doc): In builtin overview use {buf} as param for appendbufline/setbufline runtime(doc): clarify, that register 1-* 9 will always be shifted runtime(netrw): save and restore register 0-* 9, a and unnamed runtime(termdebug): Refactored StartDebug_term and EndDebug functions runtime(java): Compose "g:java_highlight_signature" and "g:java_highlight_functions" * 9.1.0516: need more tests for nested dicts and list comparision * 9.1.0515: Vim9: segfault in object_equal() * 9.1.0514: Vim9: issue with comparing objects recursively runtime(termdebug): Change some variables to Enums runtime(vim): Update base-syntax, fix function tail comments * 9.1.0513: Vim9: segfault with object comparison - Update to 9.1.0512: * Mode message for spell completion doesn't match allowed keys * CursorMovedC triggered wrongly with setcmdpos() * update runtime files * CI: test_gettext fails on MacOS14 + MSVC Win * not possible to translate Vim script messages * termdebug plugin can be further improved * add gomod filetype plugin * hard to detect cursor movement in the command line * Optionally highlight parameterised types * filetype: .envrc & .prettierignore not recognized * filetype: Faust files are not recognized * inner-tag textobject confused about ">" in attributes * cannot use fuzzy keyword completion * Remove the group exclusion list from @javaTop * wrong return type for execute() function * MS-Windows: too much legacy code * too complicated mapping restore in termdebug * simplify mapping * cannot switch buffer in a popup * MS-Windows: doesn't handle symlinks properly * getcmdcompltype() interferes with cmdline completion * termdebug can be further improved * update htmldjango detection * Improve Turkish documentation * include a simple csv filetype and syntax plugin * include the the simple nohlsearch package * matched text is highlighted case-sensitively * Matched text isn't highlighted in cmdline pum * Fix typos in several documents * clarify when text properties are cleared * improve the vim-shebang example * revert unintended formatting changes for termdebug * Add a config variable for commonly used compiler options * Wrong matched text highlighted in pum with 'rightleft' * bump length of character references in syntax script * properly check mapping variables using null_dict * fix KdlIndent and kdlComment in indent script * Test for patch 9.1.0489 doesn't fail without the fix * Fold multi-line comments with the syntax kind of &fdm * using wrong type for PlaceSign() * filetype: Vim-script files not detected by shebang line * revert unintended change to zip#Write() * add another tag for vim-shebang feature * Cmdline pum doesn't work properly with 'rightleft' * minor style problems with patch 9.1.0487 * default completion may break with fuzzy * Wrong padding for pum "kind" with 'rightleft' * Update base-syntax, match shebang lines * MS-Windows: handle files with spaces properly * Restore HTML syntax file tests * completed item not update on fuzzy completion * filetype: Snakemake files are not recognized * make TermDebugSendCommand() a global function again * close all buffers in the same way * Matched text shouldn't be highlighted in "kind" and "menu" * fix wrong helptag for :defer * Update base-syntax, match :sleep arg * include Georgian keymap * Sorting of completeopt+=fuzzy is not stable * correctly test for windows in NetrwGlob() * glob() on windows fails with [] in directory name * rewrite mkdir() doc and simplify {flags} meaning * glob() not sufficiently tested * update return type for job_info() * termdebug plugin needs more love * correct return types for job_start() and job_status() * Update base-syntax, match :catch and :throw args * Include element values in non-marker annotations * Vim9: term_getjob() throws an exception on error * fuzzy string matching executed when not needed * fuzzy_match_str_with_pos() does unnecessary list operations * restore description of "$" in col() and virtcol() * deduplicate getpos(), line(), col(), virtcol() * Update g:vimsyn_comment_strings dump file tests * Use string interpolation instead of string concat * potential deref of NULL pointer in fuzzy_match_str_with_pos * block_editing errors out when using * Update base-syntax, configurable comment string highlighting * fix typos in syntax.txt * Cannot see matched text in popup menu * Update base-syntax, match multiline continued comments * clarify documentation for "v" position at line() * cmod_split modifier is always reset in term_start() * remove line-continuation characters * use shiftwidth() instead of &tabstop in indent script * Remove orphaned screen dump files * include syntax, indent and ftplugin files * CI: Test_ColonEight() fails on github runners * add missing Enabled field in syntax script * basic svelte ftplugin file * term_start() does not clear vertical modifier * fix mousemodel restoration by comparing against null_string * Added definitions of Vim scripts and plugins * Exclude lambda expressions from _when_ _switch-case_ label clauses * Fix saved_mousemodel check * Inconsistencies between functions for option flags * Crash when using autocmd_get() after removing event inside autocmd * Fix small style issues * add return type info for Vim function descriptions * Update Italian Vim manpage * disable the q mapping * Change 'cms' for C++ to '// %s' * fix type mismatch error * Fix wrong email address * convert termdebug plugin to Vim9 script - Update to 9.1.0470: * tests Test_ColonEight_MultiByte() fails sporadically * Cannot have buffer-local value for 'completeopt' * GvimExt does not consult HKEY_CURRENT_USER * typos in some comments * runtime(vim): Update base-syntax, allow whitespace before :substitute pattern * Missing comments for fuzzy completion * runtime(man): update Vim manpage * runtime(comment): clarify the usage of 'commentstring' option value * runtime(doc): clarify how fuzzy 'completeopt' should work * runtime(netrw): prevent accidental data loss * missing filecopy() function * no whitespace padding in commentstring option in ftplugins * no fuzzy-matching support for insert-completion * eval5() and eval7 are too complex * too many strlen() calls in drawline.c * filetype lintstagedrc files are not recognized * Vim9 import autoload does not work with symlink * Coverity complains about division by zero * tests test_gui fails on Wayland * Left shift is incorrect with vartabstop and shiftwidth=0 * runtime(doc): clarify 'shortmess' flag "S" * MS-Windows compiler warning for size_t to int conversion * runtime(doc): include some vim9 script examples in the help * minor issues in test_filetype with rasi test * filetype rasi files are not recognized * runtime(java): Improve the matching of lambda expressions * Configure checks for libelf unnecessarily * No test for escaping '<' with shellescape() * check.vim complains about overlong comment lines * translation(it): Update Italian translation * evalc. code too complex * MS-Windows Compiler warnings - Update to 9.1.0448: * compiler warning in eval.c * remove remaining css code * Add ft_hare.txt to Reference Manual TOC * re-generate vim syntax from generator * fix syntax vim bug * completion may be wrong when deleting all chars * getregionpos() inconsistent for partly-selected multibyte char * fix highlighting nested and escaped quotes in string props * remove the indent plugin since it has too many issues * update Debian runtime files * Coverity warning after 9.1.0440 * Not enough tests for getregion() with multibyte chars * Can't use blockwise selection with width for getregion() * update outdated syntax files * fix floating_modifier highlight * hare runtime files outdated * getregionpos() can't properly indicate positions beyond eol * function get_lval() is too long * Cannot filter the history * Wrong Ex command executed when :g uses '?' as delimiter * support floating_modifier none; revert broken highlighting * Motif requires non-const char pointer for XPM data * Crash when using '?' as separator for :s * filetype: cygport files are not recognized * make errors trying to access autoload/zig * Wrong yanking with exclusive selection and ve=all * add missing help tags file * Ancient XPM preprocessor hack may cause build errors * include basic rescript ftplugin file * eval.c is too long * getregionpos() doesn't handle one char selection * check for gdb file/dir before using as buffer name * refactor zig ftplugin, remove auto format * Coverity complains about eval.c refactor * Tag guessing leaves wrong search history with very short names * some issues with termdebug mapping test * update matchit plugin to v1.20 * too many strlen() calls in search.c * set commentstring option * update vb indent plugin as vim9script * filetype: purescript files are not recognized * filetype: slint files are not recognized * basic nim ftplugin file for comments * Add Arduino ftplugin and indent files * include basic typst ftplugin file * include basic prisma ftplugin file * include basic v ftplugin for comment support * getregionpos() wrong with blockwise mode and multibyte * function echo_string_core() is too long * hyprlang files are not recognized * add basic dart ftplugin file * basic ftplugin file for graphql * mention comment plugin at :h 'commentstring' * set commentstring for sql files in ftplugin * :browse oldfiles prompts even with single entry * eval.c not sufficiently tested * clarify why E195 is returned * clarify temporary file clean up * fix :NoMatchParen not working * Cannot move to previous/next rare word * add basic ftplugin file for sshdconfig * if_py: find_module has been removed in Python 3.12.0a7 * some screen dump tests can be improved * Some functions are not tested * clarify instal instructions for comment package * Unable to leave long line with 'smoothscroll' and 'scrolloff' * fix typo in vim9script help file * Remove trailing spaces * clarify {special} argument for shellescape() - update to 9.1.0413 * smoothscroll may cause infinite loop * add missing entries for the keys CTRL-W g and * update vi_diff.txt: add default value for 'flash' * typo in regexp_bt.c in DEBUG code * allow indented commands * Fix wrong define regex in ftplugin * Filter out non-Latin-1 characters for syntax tests * prefer scp over pscp * fix typo in usr_52.txt * too long functions in eval.c * warning about uninitialized variable * too many strlen() calls in the regexp engine * E16 fix, async keyword support for define * Stuck with long line and half-page scrolling * Divide by zero with getmousepos() and 'smoothscroll' * update and remove some invalid links * update translation of xxd manpage * Recursively delete directories by default with netrw delete command * Strive to remain compatible for at least Vim 7.0 * tests: xxd buffer overflow fails on 32-bit * Stop handpicking syntax groups for @javaTop * [security] xxd: buffer-overflow with specific flags * Vim9: not able to import file from start dir * filetype: mdd files detected as zsh filetype * filetype: zsh module files are not recognized * Remove hardcoded private.ppk logic from netrw * Vim9: confusing error message for unknown type * block_editing errors out when using del * add new items to scripts section in syntax plugin * Vim9: imported vars are not properly type checked * Wrong display with 'smoothscroll' when changing quickfix list * filetype: jj files are not recognized * getregionpos() may leak memory on error * The CODEOWNERS File is not useful * Remove and cleanup Win9x legacy from netrw * add MsgArea to 'highlight' option description * Cannot get a list of positions describing a region * Fix digit separator in syntax script for octals and floats * Update link to Wikipedia Vi page * clear $MANPAGER in ftplugin before shelling out * Fix typos in help documents * 'viewdir' not respecting $XDG_CONFIG_HOME * tests: Vim9 debug tests may be flaky * correct getscriptinfo() example * Vim9: could improve testing * test_sound fails on macos-12 * update Serbian menu * update Slovak menu * update Slovenian menu * update Portuguese menu * update Dutch menu * update Korean menu * update Icelandic menu * update Czech menu * update Afrikaans menu * update German menu * filetype: inko files are not recognized * filetype: templ files are not recognized * cursor() and getregion() don't handle v:maxcol well * Vim9: null value tests not sufficient * update Catalan menu * filetype: stylus files not recognized * update spanish menu localization * regenerate helptags * Vim9: crash with null_class and null_object * Add tags about lazyloading of menu * tests: vt420 terminfo entry may not be found * filetype: .out files recognized as tex files * filetype: Kbuild files are not recognized * cbuffer and similar commands don't accept a range * Improve the recognition of the "indent" method declarations * Fix a typo in usr_30.txt * remove undefined var s:save_cpoptions and add include setting * missing setlocal in indent plugin * Calculating line height for unnecessary amount of lines * improve syntax file performance * There are a few typos * Vim9: no comments allowed after class vars * CI: remove trailing white space in documentation * Formatting text wrong when 'breakindent' is set * Add oracular (24.10) as Ubuntu release name * Vim9: Trailing commands after class/enum keywords ignored * tests: 1-second delay after Test_BufEnter_botline() * update helptags for jq syntax * include syntax, ftplugin and compiler plugin * fix typo synconcealend -> synconcealed * include a simple comment toggling plugin * wrong botline in BufEnter * clarify syntax vs matching mechanism * fix undefined variable in indent plugin * ops.c code uses too many strlen() calls * Calling CLEAR_FIELD() on the same struct twice * Vim9: compile_def_function() still too long * Update Serbian messages * clarify the effect of setting the shell to powershell * Improve the recognition of the "style" method declarations * Vim9: problem when importing autoloaded scripts * compile_def_function is too long * filetype: ondir files are not recognized * Crash when typing many keys with D- modifier * tests: test_vim9_builtin is a bit slow * update documentation * change the download URL of "libsodium" * tests: test_winfixbuf is a bit slow * Add filetype, syntax and indent plugin for Astro * expanding rc config files does not work well * Vim9: vim9type.c is too complicated * Vim9: does not handle autoloaded variables well * minor spell fix in starting.txt * wrong drawing in GUI with setcellwidth() * Add include and suffixesadd * Page scrolling should place cursor at window boundaries * align command line table * minor fixes to starting.txt * fix comment definition in filetype plugin * filetype: flake.lock files are not recognized * runtime(uci): No support for uci file types * Support "g:ftplugin_java_source_path" with archived files * tests: Test_autoload_import_relative_compiled fails on Windows * Finding cmd modifiers and cmdline-specials is inefficient * No test that completing a partial mapping clears 'showcmd' * tests: test_vim9_dissamble may fail * Vim9: need static type for typealias * X11 does not ignore smooth scroll event * A few typos in test_xdg when testing gvimrc * Patch v9.1.0338 fixed sourcing a script with import * Problem: gvimrc not sourced from XDG_CONFIG_HOME * Cursor wrong after using setcellwidth() in terminal * 'showcmd' wrong for partial mapping with multibyte * tests: test_taglist fails when 'helplang' contains non-english * Problem: a few memory leaks are found * Problem: Error with matchaddpos() and empty list * tests: xdg test uses screen dumps * Vim9: import through symlinks not correctly handled * Missing entry for XDG vimrc file in :version * tests: typo in test_xdg * runtime(i3config/swayconfig): update syntax scripts * document pandoc compiler and enable configuring arguments * String interpolation fails for List type * No test for highlight behavior with 'ambiwidth' * tests: test_xdg fails on the appimage repo * tests: some assert_equal() calls have wrong order of args * make install does not install all files * runtime(doc): fix typos in starting.txt- Updated to version 9.1 with patch level 0330, fixes the following problems * Fixing bsc#1220763 - vim gets Segmentation fault after updating to version 9.1.0111-150500.20.9.1 - refreshed vim-7.3-filetype_spec.patch - refreshed vim-7.3-filetype_ftl.patch - Update spec.skeleton to use autosetup in place of setup macro. - for the complete list of changes see https://github.com/vim/vim/compare/v9.1.0111...v9.1.0330- Updated to version 9.1 with patch level 0111, fixes the following security problems * Fixing bsc#1217316 (CVE-2023-48231) - VUL-0: CVE-2023-48231: vim: Use-After-Free in win_close() * Fixing bsc#1217320 (CVE-2023-48232) - VUL-0: CVE-2023-48232: vim: Floating point Exception in adjust_plines_for_skipcol() * Fixing bsc#1217321 (CVE-2023-48233) - VUL-0: CVE-2023-48233: vim: overflow with count for :s command * Fixing bsc#1217324 (CVE-2023-48234) - VUL-0: CVE-2023-48234: vim: overflow in nv_z_get_count * Fixing bsc#1217326 (CVE-2023-48235) - VUL-0: CVE-2023-48235: vim: overflow in ex address parsing * Fixing bsc#1217329 (CVE-2023-48236) - VUL-0: CVE-2023-48236: vim: overflow in get_number * Fixing bsc#1217330 (CVE-2023-48237) - VUL-0: CVE-2023-48237: vim: overflow in shift_line * Fixing bsc#1217432 (CVE-2023-48706) - VUL-0: CVE-2023-48706: vim: heap-use-after-free in ex_substitute * Fixing bsc#1219581 (CVE-2024-22667) - VUL-0: CVE-2024-22667: vim: stack-based buffer overflow in did_set_langmap function in map.c * Fixing bsc#1215005 (CVE-2023-4750) - VUL-0: CVE-2023-4750: vim: Heap use-after-free in function bt_quickfix - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.2103...v9.1.0111- Updated to version 9.0 with patch level 2103, fixes the following security problems * Fixing bsc#1215940 (CVE-2023-5344) - VUL-0: CVE-2023-5344: vim: Heap-based Buffer Overflow in vim prior to 9.0.1969. * Fixing bsc#1216001 (CVE-2023-5441) - VUL-0: CVE-2023-5441: vim: segfault in exmode when redrawing * Fixing bsc#1216167 (CVE-2023-5535) - VUL-0: CVE-2023-5535: vim: use-after-free from buf_contents_changed() * Fixing bsc#1216696 (CVE-2023-46246) - VUL-0: CVE-2023-46246: vim: Integer Overflow in :history command * Fixing bsc#1214922 (CVE-2023-4738) - VUL-0: CVE-2023-4738: vim: heap-buffer-overflow in vim_regsub_both * Fixing bsc#1214924 (CVE-2023-4735) - VUL-0: CVE-2023-4735: vim: OOB Write ops.c * Fixing bsc#1214925 (CVE-2023-4734) - VUL-0: CVE-2023-4734: vim: segmentation fault in function f_fullcommand * Fixing bsc#1215004 (CVE-2023-4733) - VUL-0: CVE-2023-4733: vim: use-after-free in function buflist_altfpos * Fixing bsc#1215006 (CVE-2023-4752) - VUL-0: CVE-2023-4752: vim: Heap Use After Free in function ins_compl_get_exp * Fixing bsc#1215033 (CVE-2023-4781) - VUL-0: CVE-2023-4781: vim: heap-buffer-overflow in function vim_regsub_both - drop patches: disable-unreliable-tests.patch ignore-flaky-test-failure.patch vim-8.1.0297-dump3.patch - dropped %check - most of tests didn't work correctly in OBS and maintenance burden of this was getting too big - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1632...v9.0.2103- Use app icon generated from vimlogo.eps in source tarball; add higher res icons of sizes 128, 256, and 512px as png sources. Our current icons deviate from upstream flatpaks for example. - Updated to version 9.0 with patch level 1632 - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1443...v9.0.1632- Updated to version 9.0 with patch level 1572, fixes the following security problems * Fixing bsc#1210996 (CVE-2023-2426) - VUL-0: CVE-2023-2426: vim: Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 9.0.1499. * Fixing bsc#1211256 (CVE-2023-2609) - VUL-1: CVE-2023-2609: vim: NULL Pointer Dereference prior to 9.0.1531 * Fixing bsc#1211257 (CVE-2023-2610) - VUL-1: CVE-2023-2610: vim: Integer Overflow or Wraparound prior to 9.0.1532 - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1443...v9.0.1572- Fixing bsc#1211461 - L3: vim "eats" first character from prompt in xterm * Add: reorder-exit-raw-mode.patch * Swaps out_str_t_TE() and cursor_on() during exit to prevent missing characters in xterm prompt on exit.- Fixing bsc#1211144 - [Build 96.1] openQA test fails in zypper_migration - conflict between xxd and vim * Revert the creation standalone xxd packages- Updated to version 9.0 with patch level 1443, fixes the following security problems * Fixing bsc#1209042 (CVE-2023-1264) - VUL-0: CVE-2023-1264: vim: NULL Pointer Dereference vim prior to 9.0.1392 * Fixing bsc#1209187 (CVE-2023-1355) - VUL-0: CVE-2023-1355: vim: NULL Pointer Dereference prior to 9.0.1402. * Fixing bsc#1208828 (CVE-2023-1127) - VUL-1: CVE-2023-1127: vim: divide by zero in scrolldown() - drop vim-8.0-ttytype-test.patch as it changes test_options.vim which we remove during %prep anyway. And this breaks quilt setup. - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1386...v9.0.1443- Updated to version 9.0 with patch level 1386, fixes the following security problems * Fixing bsc#1207780 - (CVE-2023-0512) VUL-0: CVE-2023-0512: vim: Divide By Zero in GitHub repository vim/vim prior to 9.0.1247 * Fixing bsc#1208957 - (CVE-2023-1175) VUL-0: CVE-2023-1175: vim: Incorrect Calculation of Buffer Size * Fixing bsc#1208959 - (CVE-2023-1170) VUL-0: CVE-2023-1170: vim: Heap-based Buffer Overflow in vim prior to 9.0.1376 * Fixing bsc#1208828 - (CVE-2023-1127) VUL-1: CVE-2023-1127: vim: divide by zero in scrolldown() - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1234...v9.0.1386- Updated to version 9.0 with patch level 1234, fixes the following security problems * Fixing bsc#1207396 VUL-0: CVE-2023-0433: vim: Heap-based Buffer Overflow in vim prior to 9.0.1225 * Fixing bsc#1207162 VUL-1: CVE-2023-0288: vim: Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1189. * Fixing bsc#1206868 VUL-1: CVE-2023-0054: vim: Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1145. * Fixing bsc#1206867 VUL-1: CVE-2023-0051: vim: Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1144. * Fixing bsc#1206866 VUL-1: CVE-2023-0049: vim: Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.1143. - refreshed vim-7.4-highlight_fstab.patch - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.1040...v9.0.1234- Updated to version 9.0 with patch level 1040, fixes the following security problems * Fixing bsc#1206028 VUL-0: CVE-2022-3491: vim: Heap-based Buffer Overflow prior to 9.0.0742 * Fixing bsc#1206071 VUL-0: CVE-2022-3520: vim: Heap-based Buffer Overflow * Fixing bsc#1206072 VUL-0: CVE-2022-3591: vim: Use After Free * Fixing bsc#1206075 VUL-0: CVE-2022-4292: vim: Use After Free in GitHub repository vim/vim prior to 9.0.0882. * Fixing bsc#1206077 VUL-0: CVE-2022-4293: vim: Floating Point Comparison with Incorrect Operator in GitHub repository vim/vim prior to 9.0.0804. * Fixing bsc#1205797 VUL-0: CVE-2022-4141: vim: heap-buffer-overflow in alloc.c 246:11 * Fixing bsc#1204779 VUL-0: CVE-2022-3705: vim: use after free in function qf_update_buffer of the file quickfix.c - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.814...v9.0.1040- Updated to version 9.0 with patch level 0814, fixes the following problems * Fixing bsc#1192478 VUL-1: CVE-2021-3928: vim: vim is vulnerable to Stack-based Buffer Overflow * Fixing bsc#1203508 VUL-0: CVE-2022-3234: vim: Heap-based Buffer Overflow prior to 9.0.0483. * Fixing bsc#1203509 VUL-1: CVE-2022-3235: vim: Use After Free in GitHub prior to 9.0.0490. * Fixing bsc#1203820 VUL-0: CVE-2022-3324: vim: Stack-based Buffer Overflow in prior to 9.0.0598. * Fixing bsc#1204779 VUL-0: CVE-2022-3705: vim: use after free in function qf_update_buffer of the file quickfix.c * Fixing bsc#1203152 VUL-1: CVE-2022-2982: vim: use after free in qf_fill_buffer() * Fixing bsc#1203796 VUL-1: CVE-2022-3296: vim: stack out of bounds read in ex_finally() in ex_eval.c * Fixing bsc#1203797 VUL-1: CVE-2022-3297: vim: use-after-free in process_next_cpt_value() at insexpand.c * Fixing bsc#1203110 VUL-1: CVE-2022-3099: vim: Use After Free in ex_docmd.c * Fixing bsc#1203194 VUL-1: CVE-2022-3134: vim: use after free in do_tag() * Fixing bsc#1203272 VUL-1: CVE-2022-3153: vim: NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0404. * Fixing bsc#1203799 VUL-1: CVE-2022-3278: vim: NULL pointer dereference in eval_next_non_blank() in eval.c * Fixing bsc#1203924 VUL-1: CVE-2022-3352: vim: vim: use after free * Fixing bsc#1203155 VUL-1: CVE-2022-2980: vim: null pointer dereference in do_mouse() * Fixing bsc#1202962 VUL-1: CVE-2022-3037: vim: Use After Free in vim prior to 9.0.0321 - ignore-flaky-test-failure.patch: Ignore failure of flaky tests - disable-unreliable-tests-arch.patch: Removed - for the complete list of changes see https://github.com/vim/vim/compare/v9.0.0313...v9.0.0814- Updated to version 9.0 with patch level 0313, fixes the following problems * Fixing bsc#1200884 Vim: Error on startup * Fixing bsc#1200902 VUL-0: CVE-2022-2183: vim: Out-of-bounds Read through get_lisp_indent() Mon 13:32 * Fixing bsc#1200903 VUL-0: CVE-2022-2182: vim: Heap-based Buffer Overflow through parse_cmd_address() Tue 08:37 * Fixing bsc#1200904 VUL-0: CVE-2022-2175: vim: Buffer Over-read through cmdline_insert_reg() Tue 08:37 * Fixing bsc#1201249 VUL-0: CVE-2022-2304: vim: stack buffer overflow in spell_dump_compl() * Fixing bsc#1201356 VUL-1: CVE-2022-2343: vim: Heap-based Buffer Overflow in GitHub repository vim prior to 9.0.0044 * Fixing bsc#1201359 VUL-1: CVE-2022-2344: vim: Another Heap-based Buffer Overflow vim prior to 9.0.0045 * Fixing bsc#1201363 VUL-1: CVE-2022-2345: vim: Use After Free in GitHub repository vim prior to 9.0.0046. * Fixing bsc#1201620 PUBLIC SUSE Linux Enterprise Server 15 SP4 Basesystem zbalogh@suse.com NEW --- SLE-15-SP4-Full-x86_64-GM-Media1 and vim-plugin-tlib-1.27-bp154.2.18.noarch issue * Fixing bsc#1202414 VUL-1: CVE-2022-2819: vim: Heap-based Buffer Overflow in compile_lock_unlock() * Fixing bsc#1202552 VUL-1: CVE-2022-2874: vim: NULL Pointer Dereference in generate_loadvar() * Fixing bsc#1200270 VUL-1: CVE-2022-1968: vim: use after free in utf_ptr2char * Fixing bsc#1200697 VUL-1: CVE-2022-2124: vim: out of bounds read in current_quote() * Fixing bsc#1200698 VUL-1: CVE-2022-2125: vim: out of bounds read in get_lisp_indent() * Fixing bsc#1200700 VUL-1: CVE-2022-2126: vim: out of bounds read in suggest_trie_walk() * Fixing bsc#1200701 VUL-1: CVE-2022-2129: vim: out of bounds write in vim_regsub_both() * Fixing bsc#1200732 VUL-1: CVE-2022-1720: vim: out of bounds read in grab_file_name() * Fixing bsc#1201132 VUL-1: CVE-2022-2264: vim: out of bounds read in inc() * Fixing bsc#1201133 VUL-1: CVE-2022-2284: vim: out of bounds read in utfc_ptr2len() * Fixing bsc#1201134 VUL-1: CVE-2022-2285: vim: negative size passed to memmove() due to integer overflow * Fixing bsc#1201135 VUL-1: CVE-2022-2286: vim: out of bounds read in ins_bytes() * Fixing bsc#1201136 VUL-1: CVE-2022-2287: vim: out of bounds read in suggest_trie_walk() * Fixing bsc#1201150 VUL-1: CVE-2022-2231: vim: null pointer dereference skipwhite() * Fixing bsc#1201151 VUL-1: CVE-2022-2210: vim: out of bounds read in ml_append_int() * Fixing bsc#1201152 VUL-1: CVE-2022-2208: vim: null pointer dereference in diff_check() * Fixing bsc#1201153 VUL-1: CVE-2022-2207: vim: out of bounds read in ins_bs() * Fixing bsc#1201154 VUL-1: CVE-2022-2257: vim: out of bounds read in msg_outtrans_special() * Fixing bsc#1201155 VUL-1: CVE-2022-2206: vim: out of bounds read in msg_outtrans_attr() * Fixing bsc#1201863 VUL-1: CVE-2022-2522: vim: out of bounds read via nested autocommand * Fixing bsc#1202046 VUL-1: CVE-2022-2571: vim: Heap-based Buffer Overflow related to ins_comp_get_next_word_or_line() * Fixing bsc#1202049 VUL-1: CVE-2022-2580: vim: Heap-based Buffer Overflow related to eval_string() * Fixing bsc#1202050 VUL-1: CVE-2022-2581: vim: Out-of-bounds Read related to cstrchr() * Fixing bsc#1202051 VUL-1: CVE-2022-2598: vim: Undefined Behavior for Input to API related to diff_mark_adjust_tp() and ex_diffgetput() * Fixing bsc#1202420 VUL-1: CVE-2022-2817: vim: Use After Free in f_assert_fails() * Fixing bsc#1202421 VUL-1: CVE-2022-2816: vim: Out-of-bounds Read in check_vim9_unlet() * Fixing bsc#1202511 VUL-1: CVE-2022-2862: vim: use-after-free in compile_nested_function() * Fixing bsc#1202512 VUL-1: CVE-2022-2849: vim: Invalid memory access related to mb_ptr2len() * Fixing bsc#1202515 VUL-1: CVE-2022-2845: vim: Buffer Over-read related to display_dollar() * Fixing bsc#1202599 VUL-1: CVE-2022-2889: vim: use-after-free in find_var_also_in_script() in evalvars.c * Fixing bsc#1202687 VUL-1: CVE-2022-2923: vim: NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0240 * Fixing bsc#1202689 VUL-1: CVE-2022-2946: vim: use after free in function vim_vsnprintf_typval * Fixing bsc#1202862 VUL-1: CVE-2022-3016: vim: Use After Free in vim prior to 9.0.0285 Mon 12:00- Deleted patches: * restrict-shell-commands.patch * source-check-sandbox.patch * vim-8.0.1568-CVE-2021-3778.patch * vim-8.0.1568-CVE-2021-3796.patch * vim-8.0.1568-CVE-2021-3872.patch * vim-8.0.1568-CVE-2021-3927.patch * vim-8.0.1568-CVE-2021-3928.patch * vim-8.0.1568-CVE-2021-3984.patch * vim-8.0.1568-CVE-2021-4019.patch * vim-8.0.1568-CVE-2021-4193.patch * vim-8.0.1568-CVE-2021-46059.patch * vim-8.0.1568-CVE-2022-0319.patch * vim-8.0.1568-CVE-2022-0351.patch * vim-8.0.1568-CVE-2022-0361.patch * vim-8.0.1568-CVE-2022-0413.patch * vim-8.0.1568-globalvimrc.patch - Added patches: * vim-8.1.0297-dump3.patch * vim-8.2.2411-globalvimrc.patch * disable-unreliable-tests-arch.patch - Updated patches: * disable-unreliable-tests.patch * vim-7.3-filetype_changes.patch * vim-7.3-filetype_ftl.patch * vim-7.3-filetype_spec.patch * vim-7.3-gvimrc_fontset.patch * vim-7.3-help_tags.patch * vim-7.3-mktemp_tutor.patch * vim-7.3-name_vimrc.patch * vim-7.3-sh_is_bash.patch * vim-7.3-use_awk.patch * vim-7.4-disable_lang_no.patch * vim-7.4-filetype_apparmor.patch * vim-7.4-filetype_mine.patch * vim-7.4-highlight_fstab.patch * vim-8.0-ttytype-test.patch * vim-8.0.1568-defaults.patch * vim73-no-static-libpython.patch - Updated to version 8.2 with patch level 5038, fixes the following problems * Fixing bsc#1191770 VUL-0: CVE-2021-3875: vim: heap-based buffer overflow * Fixing bsc#1192167 VUL-0: CVE-2021-3903: vim: heap-based buffer overflow * Fixing bsc#1192902 VUL-0: CVE-2021-3968: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1192903 VUL-0: CVE-2021-3973: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1192904 VUL-0: CVE-2021-3974: vim: vim is vulnerable to Use After Free * Fixing bsc#1193466 VUL-1: CVE-2021-4069: vim: use-after-free in ex_open() in src/ex_docmd.c * Fixing bsc#1193905 VUL-0: CVE-2021-4136: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1194093 VUL-1: CVE-2021-4166: vim: vim is vulnerable to Out-of-bounds Read * Fixing bsc#1194216 VUL-1: CVE-2021-4193: vim: vulnerable to Out-of-bounds Read * Fixing bsc#1194217 VUL-0: CVE-2021-4192: vim: vulnerable to Use After Free * Fixing bsc#1194872 VUL-0: CVE-2022-0261: vim: Heap-based Buffer Overflow in vim prior to 8.2. * Fixing bsc#1194885 VUL-0: CVE-2022-0213: vim: vim is vulnerable to Heap-based Buffer Overflow * Fixing bsc#1195004 VUL-0: CVE-2022-0318: vim: Heap-based Buffer Overflow in vim prior to 8.2. * Fixing bsc#1195203 VUL-0: CVE-2022-0359: vim: heap-based buffer overflow in init_ccline() in ex_getln.c * Fixing bsc#1195354 VUL-0: CVE-2022-0407: vim: Heap-based Buffer Overflow in Conda vim prior to 8.2. * Fixing bsc#1198596 VUL-0: CVE-2022-1381: vim: global heap buffer overflow in skip_range * Fixing bsc#1199331 VUL-0: CVE-2022-1616: vim: Use after free in append_command * Fixing bsc#1199333 VUL-0: CVE-2022-1619: vim: Heap-based Buffer Overflow in function cmdline_erase_chars * Fixing bsc#1199334 VUL-0: CVE-2022-1620: vim: NULL Pointer Dereference in function vim_regexec_string * Fixing bsc#1199747 VUL-0: CVE-2022-1796: vim: Use After in find_pattern_in_path * Fixing bsc#1200010 VUL-0: CVE-2022-1897: vim: Out-of-bounds Write in vim * Fixing bsc#1200011 VUL-0: CVE-2022-1898: vim: Use After Free in vim prior to 8.2 * Fixing bsc#1200012 VUL-0: CVE-2022-1927: vim: Buffer Over-read in vim prior to 8.2 * Fixing bsc#1070955 VUL-1: CVE-2017-17087: vim: Sets the group ownership of a .swp file to the editor's primary group, which allows local users to obtain sensitive information * Fixing bsc#1194388 VUL-1: CVE-2022-0128: vim: vim is vulnerable to Out-of-bounds Read * Fixing bsc#1195332 VUL-1: CVE-2022-0392: vim: Heap-based Buffer Overflow in vim prior to 8.2 * Fixing bsc#1196361 VUL-1: CVE-2022-0696: vim: NULL Pointer Dereference in vim prior to 8.2 * Fixing bsc#1198748 VUL-1: CVE-2022-1420: vim: Out-of-range Pointer Offset * Fixing bsc#1199651 VUL-1: CVE-2022-1735: vim: heap buffer overflow * Fixing bsc#1199655 VUL-1: CVE-2022-1733: vim: Heap-based Buffer Overflow in cindent.c * Fixing bsc#1199693 VUL-1: CVE-2022-1771: vim: stack exhaustion in vim prior to 8.2. * Fixing bsc#1199745 VUL-1: CVE-2022-1785: vim: Out-of-bounds Write * Fixing bsc#1199936 VUL-1: CVE-2022-1851: vim: out of bounds read- Minimal fix for Bug 1195004 - (CVE-2022-0318) VUL-0: CVE-2022-0318: vim: Heap-based Buffer Overflow in vim prior to 8.2. / vim-8.0.1568-CVE-2022-0413.patch - Fixing bsc#1190570 CVE-2021-3796: vim: use-after-free in nv_replace() in normal.c / vim-8.0.1568-CVE-2021-3796.patch - Fixing bsc#1191893 CVE-2021-3872: vim: heap-based buffer overflow in win_redr_status() drawscreen.c / vim-8.0.1568-CVE-2021-3872.patch - Fixing bsc#1192481 CVE-2021-3927: vim: vim is vulnerable to Heap-based Buffer Overflow / vim-8.0.1568-CVE-2021-3927.patch - Fixing bsc#1192478 CVE-2021-3928: vim: vim is vulnerable to Stack-based Buffer Overflow / vim-8.0.1568-CVE-2021-3928.patch - Fixing bsc#1193294 CVE-2021-4019: vim: vim is vulnerable to Heap-based Buffer Overflow / vim-8.0.1568-CVE-2021-4019.patch - Fixing bsc#1193298 CVE-2021-3984: vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow / vim-8.0.1568-CVE-2021-3984.patch - Fixing bsc#1190533 CVE-2021-3778: vim: Heap-based Buffer Overflow in regexp_nfa.c / vim-8.0.1568-CVE-2021-3778.patch - Fixing bsc#1194216 CVE-2021-4193: vim: vulnerable to Out-of-bounds Read / vim-8.0.1568-CVE-2021-4193.patch - Fixing bsc#1194556 CVE-2021-46059: vim: A Pointer Dereference vulnerability exists in Vim 8.2.3883 via the vim_regexec_multi function at regexp.c, which causes a denial of service. / vim-8.0.1568-CVE-2021-46059.patch - Fixing bsc#1195066 CVE-2022-0319: vim: Out-of-bounds Read in vim/vim prior to 8.2. / vim-8.0.1568-CVE-2022-0319.patch - Fixing bsc#1195126 CVE-2022-0351: vim: uncontrolled recursion in eval7() / vim-8.0.1568-CVE-2022-0351.patch - Fixing bsc#1195202 CVE-2022-0361: vim: Heap-based Buffer Overflow in vim prior to 8.2. / vim-8.0.1568-CVE-2022-0361.patch - Fixing bsc#1195356 CVE-2022-0413: vim: use after free in src/ex_cmds.c / vim-8.0.1568-CVE-2022-0413.patch- install suse vimrc in /usr (boo#1182324, vim-8.0.1568-globalvimrc.patch)- source correct suse.vimrc file (boo#1182324)- stop owning /etc/vimrc so the old, distro provided config actually gets removed. Leaving it around leads to a duplicated autocmd for * .spec, leading to spec file template inserted twice. - own some dirs in vim-data-common so installation of vim-small doesn't leave not owned directories (boo#1173256). - Add vi as slave to update-alternatives so that every package has a matching "vi" symlink (bsc#1174564, boo#1176549).- Add restrict-shell-commands.patch to disable using interfaces in restricted mode, fixes bsc#1172225 CVE-2019-20807- introduce vim-small package with reduced requirements for small installations (boo#1166602). - BuildRequire pkg-config(krb5) instead of krb5-mini to be able to build against Tumbleweed repo.- Add source-check-sandbox.patch to fix CVE-2019-12735 boo#1137443- Pre-convert gvim icons, otherwise building vim depends on rsvg-convert -> librsvg -> cargo -> Rust -> LLVM - Cleanup SVG icon, make lines pixel-grid aligned - Correct RPM Group- Use %license instead of %doc [bsc#1082318]- instead of explicitly unsetting mouse, remove it from the defaults in the first place (boo#1079185, vim-8.0.1568-defaults.patch)- Switch to make -j1 clean to see if it fixes random build failures on Leap/SLE 15.- Updated to revision 1568, fixes the following problems * No test using a screen dump yet. * Screen dump test fails on MS-Windows. * Dead code found. * Assert_equalfile() does not close file descriptors. (Coverity) * Dump test fails when using a shadow directory. * Cannot use 24 bit colors in MS-Windows console. * Compiler warnings without termguicolors feature. * Libterm doesn't support requesting fg and bg color. * C syntax test fails when using gvim * C syntax test still fails when using gvim. * Quotestar test is flaky when using the GUI. * Xxd does not skip NUL lines when using ebcdic. * Popupmenu is too far left when completion is long. (Linwei) * No test for the popup menu positioning. * Popup menu positioning fails with longer string. * synpat_T is taking too much memory. * Terminal screen dump does not include cursor position. * With 'termguicolors' Normal color doesn't work correctly. * When using 'termguicolors' SpellBad doesn't show. * Screen dumps not included in distribution. * Using feedkeys() in a terminal window may trigger mappings. (Charles Sheridan) * Undo in the options window makes it empty. * Screen dump test script not included in distribution. * Various small problems in test files. * Various small problems in source files. * On Mac 'maxmemtot' is set to a weird value. * May leak file descriptors when executing job. * Cannot see what digraph is used to insert a character. * Custom plugins loaded with --clean. * Build error for some combination of features. * May not parse the t_RS response correctly, resulting in wrong characters in the input stream. * printf() does not work with only one argument. (Daniel Hahler) * No right-click menu in a terminal. * Build failure without GUI. * Build failure without GUI on MS-Windows. * Crash with rust syntax highligting. (Edd Barrett) * The terminal debugger can't set a breakpoint with the mouse. * Timeout of getwinposx() can be too short. (lilydjwg) * Too many #ifdefs. * Can't build Mac version without GUI. * Too many #ifdefs. * Cannot build Win32 GUI without IME. (John Marriott) * Can't build on older Mac, header file is missing.- Recommend vim-data so that colors can work by default- Updated to revision 1525, fixes the following problems * Compiler complains about uninitialized variable. (Tony Mechelynck) * Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is compiled with it. * Cannot act on edits in the command line. * Acessing freed memory after window command in auto command. (gy741) * Still too many old style tests. * Segmentation fault when Ruby throws an exception inside :rubyfile command. * Slow redrawing with DirectX. * Endless loop when gui_mch_stop_blink() is called while blink_state is BLINK_OFF. (zdohnal) * It is difficult to set the python home directory properly for Python 2.7 and 3.5 since both use $PYTHONHOME. * Terminal test fails on some systems. (jonathonf) * Terminal test fails on some slow terminals. * When in silent mode too much output is buffered. * If $SHELL contains a space then the default value of 'shell' is incorrect. (Matthew Horan) * Timer test on travis Mac is still flaky. * Clojure now supports a shebang line. * Filetype detection test does not check all scripts. * Cannot handle change of directory. * Missing file in patch. * Missing another file in patch. * Missing yet another file in patch. * Test fails without 'autochdir' option. * Completing directory after :find does not add slash. * Python2 and python3 detection not tested. (Matej Cepl) * Older GTK versions don't have gtk_entry_get_text_length(). * Libvterm doesn't handle illegal byte sequence correctly. * Illegal memory access in del_bytes(). * When package path is a symlink adding it to 'runtimepath' happens at the end. * Integer overflow when using regexp pattern. (geeknik) * On MS-Windows CursorIM highlighting no longer works. * MS-Windows: nsis installer is a bit slow. * MS-Windows: D&D fails between 32 and 64 bit apps. * Visual C 2017 has multiple MSVCVER numbers. * Invalid memory access in read_redo(). (gy741) * Screen isn't always updated right away. * Redraw flicker when moving the mouse outside of terminal window. * Unnecessary condition for "len" being zero. * Insert mode completion state is confusing. * Patch missing change. * Clearing a pointer takes two lines. * Using feedkeys() does not work to test Insert mode completion. (Lifepillar) * Searchpair() might return an invalid value on timeout. * Reduntant conditions. * Weird autocmd may cause arglist to be changed recursively. * Accessing invalid memory with "it". (Dominique Pelle) * Test 14 fails. * Emacs tags no longer work. (zdohnal) * There is no easy way to get the global directory, esp. if some windows have a local directory. * Number of spell regions is spread out through the code. * The minimum width of the popup menu is hard coded. * Memory leak in balloon_split(). * Completion items cannot be annotated. * No autocmd triggered in Insert mode with visible popup menu. * Having 'pumwidth' default to zero has no merit. * Clearing a pointer takes two lines. * Getting the jump list requires parsing the output of :jumps. * Getjumplist() returns duplicate entries. (lacygoill) * Out-of-memory situation not correctly handled. (Coverity) * Possible NULL pointer dereference. (Coverity) * Out-of-memory situation not correctly handled. (Coverity) * In out-of-memory situation character is not restored. (Coverity) * Access memory beyond end of string. (Coverity) * Win32: the screen may be cleared on startup. * Debugger can't break on a condition. (Charles Campbell) * New version of HP NonStop (Tandem) doesn't like the default header for setenv(). * Timer test is a bit flaky. * The :drop command is not always available. * Test for failing drag-n-drop command no longer fails. * Cannot test if a command causes a beep. * Some code for the debugger watch expression is clumsy. * Warning for possibly using NULL pointer. (Coverity) * The jumplist is not always properly cleaned up. * Getting the list of changes is not easy. * BufWinEnter event fired when opening hidden terminal. * Errors for job options are not very specific. * Invalid memory acces with pattern using look-behind match. (Dominique Pelle) * Error messages suppressed after ":silent! try". (Ben Reilly) * Getchangelist() does not use argument as bufname(). * Cursor is in the wrong line when using a WinBar in a Terminal window. * Shift-Tab does not work in a terminal window. * Popup menu is positioned in the wrong place. (Davit Samvelyan, Boris Staletic) * Cannot write and read terminal screendumps. * Compiler warnings for uninitialized variables. (Tony Mechelynck) * Using :wqa exits even if a job runs in a terminal window. (Jason Felice)- Split vim-data into vim-data-common package for low-disk usage scenarios bsc#1078722 bsc#1078554 bsc#1075541 - Make set mouse= default in suse.vimrc bsc#1079185 bsc#1078564 bsc#1067890 bsc#1064068 bsc#1062691- Updated to revision 1442, fixes the following problems * Crash when calling term_start() with empty argument. * Crash when term_start() fails. * MS-Windows: vimtutor fails if %TMP% has special chars. * After ":copen" can't get the window-ID of the quickfix window. (FalacerSelene) * Illegal memory access after undo. (Dominique Pelle) * GTK: :promtfind does not put focus on text input. (Adam Novak) * Memory leak in test_arabic. * Not enough information about what Python version may work. * Pkg-config doesn't work with cross compiling. * Filetype detection test not updated for change. * If cscope fails a search Vim may hang. * Terminal window: some vterm responses are delayed. * Using ":undo 0" leaves undo in wrong state. * Using pointer before it is set.- Make vim require vim-data bsc#1077352 bsc#1075541 bsc#1074790- Sort with spec-cleaner - Add conditional to build with python2 in order to build with py3 only enviroment - Convert dependencies to pkgconfig style- Updated to revision 1428, fixes the following problems * No test for expanding backticks. * Cursor column is not updated after ]s. (Gary Johnson) * Accessing freed memory in vimgrep. * Accessing invalid memory with overlong byte sequence. * No fallback to underline when undercurl is not set. (Ben Jackson) * Error in return not caught by try/catch. * The timer_pause test is flaky on Travis. * execute() does not work in completion of user command. (thinca) * "gf" and don't accept ? and & in URL. (Dmitrii Tcyganok) * The :leftabove modifier doesn't work for :copen. * Compiler warning on 64 bit MS-Windows system.- ignore make check transient errors for PowerPC bypass boo#1072651- Update apparmor.vim (taken from AppArmor 2.12) * add support for the "smc" network keyword- Updated to revision 1417, fixes the following problems * Encoding empty string to JSON sometimes gives "null". * Build fails with --with-features=huge --disable-channel. * Too much highlighting with 'hlsearch' and 'incsearch' set. * Cannot intercept a yank command. * It is not easy to see if a colorscheme is well written. * Memory leak when CTRL-G in search command line fails. * Pattern with \& following nothing gives an error. * :packadd does not load packages from the "start" directory. * Warnings and errors when building tiny version. (Tony Mechelynck) * Color scheme check script shows up as color scheme. * Cannot build with GTK but without XIM. (Guido) * Crash with nasty autocommand. (gy741, Dominique Pelle) * Using freed buffer in grep command. (gy741, Dominique Pelle) * Invalid memory access on exit when autocommands wipe out a buffer. * Duplicated code for getting a typed character. CursorHold is called too often in the GUI. (lilydjwg) * Difficult to track changes to a quickfix list. * GUI: CursorHold may trigger before 'updatetime' when using timers. * Crash in setqflist(). * Buffer overflow in :tags command. * Hang when using count() with an empty string. * Reading invalid memory with CTRL-W :. * Using free memory using setloclist(). (Dominique Pelle) * Accessing freed memory in :cbuffer. * Accessing freed memory in :lfile. * Warning for unused function without timers feature. * Crash when searching for a sentence. * Test doesn't search for a sentence. Still fails when searching for start of sentence. (Dominique Pelle)- Updated to revision 1390, fixes the following problems * Balloon shows when cursor is in WinBar. * terminal test hangs, executing abcde. (Stucki) * Cannot drag status line or vertical separator of new terminal window. (UncleBill) * MS-Windows: drawing underline, curl and strike-throw is slow, mFallbackDC not properly updated. * Channel test for callback is flaky. * Shift-Insert doesn't always work in MS-Windows console. * Profile log may be truncated halfway a character. * No error when settting 'renderoptions' to an invalid value before starting the GUI. * CTRL-A does not work with an empty line. (Alex) * Window size wrong after maximizing with WinBar. (Lifepillar) * Cursor in terminal not always updated. * Cannot call a dict function in autoloaded dict. * Autoload script sources itself when defining function. * Configure check for selinux does not check for header file. * When recovering a file with "vim -r swapfile" the hit-enter prompt is at the top of the window. * ch_readraw() waits for NL if channel mode is NL. * Get "no write since last change" message if a terminal is open. * Local additions in help skips some files. (joshklod) * Not enough quickfix help; confusing winid. * Python 3.5 is getting old. * Cannot select modified buffers with getbufinfo(). * Wordcount test is old style. * Char not overwritten with ambiguous width char, if the ambiguous char is single width but we reserve double-width space. * getqflist() items are missing if not set, that makes it more difficult to handle the values. * DirectX scrolling can be slow, vertical positioning is off.- Updated to revision 1365, fixes the following problems * Libvterm ANSI colors can not always be recognized from the RGB values. The default color is wrong when t_RB is empty. * The Terminal highlighting doesn't work in a terminal. * Some users don't want to diff with hidden buffers. * Terminal window colors wrong when using Terminal highlighting. * Recovering does not work when swap file ends in .stz. * There is no easy way to get the window position. * When one channel test fails others fail as well.- Update to revision 1358 * Too many changes to list - Fixes CVE-2017-1000382 bsc#1065958 - Refresh patches: * disable-unreliable-tests.patch * vim-7.3-filetype_spec.patch * vim-7.4-disable_lang_no.patch * vim-7.4-highlight_fstab.patch * vim-8.0-ttytype-test.patch- Explicitly require python2-devel- Add disable-unreliable-tests.patch to disable unreliable tests bsc#1054723- Bump priorities so we can upgrade from 12.3- Updated to revision 627, fixes the following problems * Call for requesting color and ambiwidth is too early. (Hirohito Higashi) * "1gd" may hang. * Bracketed paste is still enabled when executing a shell command. (Michael Smith) * Can't run make with several jobs, creating directories has a race condition. * The cursor line number becomes negative when using :z^ in an empty buffer. (neovim #6557) * Building the command table requires Perl. * Running parallel make after distclean fails. (Manuel Ortega) * Get only one quickfix list after :caddbuf. * Using freed memory when resetting 'indentexpr' while evaluating it. (Dominique Pelle) * Can't build when configure choses "install-sh". (Daniel Hahler) * Warning for uninitialized variable. (John Marriott) * :simalt on MS-Windows does not work properly. * Duplicate test case for quickfix. * Cannot set the valid flag with setqflist(). * Moving folded text is sometimes not correct. * Illegal memory access with z= command. (Dominique Pelle) * Fold test hangs on MS-Windows. * Memory leak when executing quickfix tests. * Test_options fails when run in the GUI. * No test for mapping timing out. * Configure check for return value of tgetent is skipped. * job_stop() often assumes the channel will be closed, while the job may not actually be stopped. (Martin Gammelsæter) * :simalt still does not work. * Cannot add a context to locations. * Changes to eval functionality not documented. * If a job writes to a buffer and the user is typing a command, the screen isn't updated. When a message is displayed the changed buffer may cause it to be cleared. (Ramel Eshed) * Duplication of code for adding a list or dict return value. * Build failure when windows feature is missing. * Coverity warning for not checking return value of dict_add(). * Crash when complete() is called after complete_add() in 'completefunc'. (Lifepillar) * Off-by-one error in buffer size computation. * Building with gcc 7.1 yields new warnings. * diff mode is insufficiently tested * test_recover fails on some systems. * No test coverage for :spellrepall. * When gF fails to edit the file the cursor still moves to the found line number. * gF test fails on MS-Windows. * gF test fails still on MS-Windows. * The buffer that quickfix caches for performance may become invalid. (Daniel Hahler) * Cannot set the context for a specified quickfix list. * When creating a bufref, then using :bwipe and :new it might get the same memory and bufref_valid() returns true. * Cannot manipulate other than the current quickfix list. * For some people the hint about quitting is not sufficient. * The screen is redrawn when t_BG is set and used to detect the value for 'background'. * When t_u7 is sent a few characters in the second screen line are overwritten and not redrawn later. (Rastislav Barlik) * Package directories are added to 'runtimepath' only after loading non-package plugins. * The conf filetype detection is done before ftdetect scripts from packages that are added later. * float2nr() is not exactly right. * Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov) * When setting the cterm background with ":hi Normal" the value of 'background' may be set wrongly. * Hardcopy test hangs on MS-Windows. * NFA regex engine handles [0-z] incorrectly. * In the GUI, when a timer uses feedkeys(), it still waits for an event. (Raymond Ko) * Since we only support GTK versions that have it, the ckeck for HAVE_GTK_MULTIHEAD is no longer needed. * The ":stag" command does not respect 'switchbuf'. * Using a text object to select quoted text fails when 'selection' is set to "exclusive". (Guraga) * The message "Invalid range" is used for multiple errors. * Warning for unused variable in tiny build. (Tony Mechelynck) * shellescape() always escapes a newline, which does not work with some shells. (Harm te Hennepe) * In the GUI the cursor may flicker. * When 'wrapscan' is off "gn" does not select the whole pattern when it's the last one in the text. (KeyboardFire)- Extend vimrc with mappings for 8-bit controls key escape sequences- Conflict with old vim versions to fix the upgrade from 12.3 boo#1036583- Updated to revision 566, fixes the following problems * :windo allows for ! but it's not supported. * Undefined behavior when using backslash after empty line. * Not enough test coverage for syntax commands. * Crash when getting the window position in tmux. * Cannot detect Bazel BUILD files on some systems. * Using freed memory in :caddbuf after clearing quickfix list. * Setting nocompatible for the tiny version moves the cursor. - Refresh and re-add vim-8.0-ttytype-test.patch- Updated to revision 559, fixes the following problems * Test_edit causes older xfce4-terminal to close. (Dominique Pelle) * Cppcheck warnings. * Edit test may fail on some systems. * Swap file exists briefly when opening the command window. * Extra line break in verbosefile when using ":echomsg". (Ingo Karkat) * Saving the redo buffer only works one time, resulting in the "." command not working well for a function call inside another function call. * No test for the 8g8 command. * Some etags format tags file use 0x01, breaking the parsing. * The typeahead buffer is reallocated too often. * Toupper and tolower don't work properly for Turkish when 'casemap' is empty. (Bjorn Linse) * Toupper/tolower test with Turkish locale fails on Mac. * Toupper and tolower don't work properly for Turkish when 'casemap' contains "keepascii". (Bjorn Linse) * Toupper/tolower test fails on OSX without Darwin. * Getting the window position fails if both the GUI and term code is built in. * GTK: using static gravities is not useful. * The :ownsyntax command is not tested. * Setting ttytype to xxx does not always fail as expected. - Remove vim-8.0-ttytype-test.patch, fixed upstream.- Update the update-alternatives code- Updated to revision 542, fixes the following problems * ml_get errors in silent Ex mode. (Dominique Pelle) * A large count on a normal command causes trouble. (Dominique Pelle) * There is no way to remove quickfix lists (for testing). * Storing a zero byte from a multi-byte character causes fold text to show up wrong. * Character classes are not well tested. They can differ between platforms. * Using a function pointer instead of the actual function, which we know. * GtkForm handling is outdated. * MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a :global command. * dv} deletes part of a multi-byte character. (Urtica Dioica) * Folds are messed up when 'encodin' is "utf-8". * Coverity complains about possible negative value. * RISC OS support was removed long ago, but one file is still included. * When 'wildmenu' is set and 'wildmode' has "longest" then the first file name is highlighted, even though the text shows the longest match. * Line in test commented out. * Buffer overflow when 'columns' is very big. (Nikolai Pavlov) * Test with long directory name fails on non-unix systems. * Test with long directory name fails on Mac. * Abbreviation doesn't work after backspacing newline. (Hkonrk) * Defaults.vim does not work well with tiny features. (crd477) * Memory leak when exiting from within a user function. * Quickfix window not updated when freeing quickfix stack. * Illegal memory access with :z and large count. * No test for falling back to default term value. * Startup test fails on Mac. * Building unit tests fails. * Compiler warning on MS-Windows. * getpos() can return a negative line number. (haya14busa)- Update spec.skeleton with spec-cleaner- Updated to revision 514, fixes the following problems * Insufficient testing for statusline. * 'makeencoding' missing from the options window. * Git and hg see new files after running tests. (Manuel Ortega) * Options test does not always test everything. * Options test fails or hangs on MS-Windows. * 'cinoptions' cannot set indent for extern block. * "make shadow" creates an invalid link. * Quite a few beeps when running tests. * Clang version not correctly detected. * Some functions are not tested. * Running the options test sometimes resizes the terminal. * The packadd test does not create the symlink correctly and does not test the right thing. * The fnamemodify test changes 'shell' in a way later tests may not be able to use system(). * Using ":%argdel" while the argument list is already empty gives an error. (Pavol Juhas) * Not enough test coverage in Insert mode. * Dead code in #ifdef. * Patch shell command uses double quotes around the argument, which allows for $HOME to be expanded. (Etienne) * Terminal width is set to 80 in test3. * Diffpatch fails when the file name has a quote. * Getpgid is not supported on all systems. * The ";" command does not work after characters with a lower byte that is NUL. * Getting font name does not work on X11. * Some macros are in lower case, which can be confusing. * Part of fold patch accidentally included. * v:progpath is not reliably set. * Some macros are in lower case. * Some macros are in lower case. * Adding fold marker creates new comment. * Compiler warnings for comparing unsigned char with 256 always being true. (Manuel Ortega) * The mode test may hang in Test_mode(). (Michael Soyka) * Typo in MinGW test makefile. * Using :move messes up manual folds. * Potential crash if adding list or dict to dict fails. * Old fix for :move messing up folding no longer needed, now that we have a proper solution. * Can't build on HPUX. * Test 45 hangs on MS-Windows. * If an MS-Windows tests succeeds at first and then fails in a way it does not produce a test.out file it looks like the test succeeded. * Resetting 'compatible' in defaults.vim has unexpected side effects. (David Fishburn) * Can't find executable name on Solaris and FreeBSD. * Off-by-one error in using :move with folding. * There are still a few macros that should be all-caps. * Using g< after :for does not show the right output. (Marcin Szamotulski) * After aborting an Ex command g< does not work. (Marcin Szamotulski) * Compiler warnings on MS-Windows. * Not enough testing for help commands. * Exit callback test sometimes fails. * When a test fails and test.log is created, Test_edit_CTRL_I matches it instead of test1.in. * No test covering arg_all(). * The client-server feature is not tested. * Not enough testing for the client-server feature. * Missing change to main.c. * The client-server test may hang when failing. * Tests use assert_true(0) and assert_false(1) to report errors. * remote_peek() is not tested. * The remote_peek() test fails on MS-Windows. * Unnecessary if statement. * The setbufvar() function may mess up the window layout. (Kay Z.) * Illegal memory access when using :all. (Dominique Pelle) * Using :lhelpgrep with an argument that should fail does not produce an error if the previous :helpgrep worked. * Not all windows commands are tested. * Crash and endless loop when closing windows in a SessionLoadPost autocommand. * The autocmd test hangs on MS-Windows. * Running tests leaves an "xxx" file behind. * Clipboard and "* register is not tested. * Splitting a 'winfixwidth' window vertically makes it one column smaller. (Dominique Pelle) * The quotestar test fails when a required feature is missing. * A failing client-server request can make Vim hang. * Crash with cd command with very long argument. * Build failure with older compiler on MS-Windows. * The quotestar test uses a timer instead of a timeout, thus it cannot be rerun like a flaky test. * Insufficient testing for folding. * Arabic support is not fully tested. * Two autocmd tests are skipped on MS-Windows. * taglist() does not prioritize tags for a buffer. * Quotestar test is still a bit flaky. * On MS-Windows ":!start" does not work as expected. * Coverity complains about possible NULL pointer. * Endless loop in updating folds with 32 bit ints. * Looking up an Ex command is a bit slow. * Failed window split for :stag not handled. (Coverity CID 99204) * Can't build with ANSI C. * Client-server tests fail when $DISPLAY is not set. * Coveralls no longer shows per-file coverage. * No link to codecov.io results. * Typo in link to codecov.io results. * Menuage for skipping client-server tests is unclear. * Check for available characters takes too long. * Getting name of cleared highlight group is wrong. (Matt Wozniski) * Script for creating cmdidxs can be improved.- Disable term=xxx test, does not work with any vim version * vim-8.0-ttytype-test.patch- Update apparmor.vim (taken from AppArmor 2.11) * add support for the "kcm" and "qipcrtr" network keywords * update change_profile rule highlighting- Build default vim without X11 support, use update-alternatives to prefer gvim if installed for X11 support.- Updated to revision 425, fixes the following problems * Packadd test does not clean up symlink. * Packadd test uses wrong directory name. * The E11 error message in the command line window is not translated. * The "zero count" error doesn't have a number. (Hirohito Higashi) * Xfontset and guifontwide are not tested. * Illegal memory access after "vapo". (Dominique Pelle) * Restoring help snapshot accesses freed memory. (Dominique Pelle) * GUI test fails on some systems. * Illegal memory access when 'complete' ends in a backslash. * Can't access b:changedtick from a dict reference. * Functions test fails. * Flags of :substitute not sufficiently tested. * Invalid memory access in :recover command. * :recover test fails on MS-Windows. * Illegal memory access with vi' * Not checking return valud of dict_add(). (Coverity) * When using complete() and typing a character undo is saved after the character was inserted. (Shougo) * Double free when compiled with EXITFREE and setting 'ttytype'. * b:changedtick can be unlocked, even though it has no effect. * Unlet command leaks memory. (Nikolai Pavlov) * islocked('d.changedtick') does not work. * Vim relies on limits.h to be included indirectly, but on Solaris 9 it may not be. (Ben Fritz) * When using CTRL-X CTRL-U inside a comment, the use of the comment leader may not work. (Klement) * When building with a shadow directory on macOS lacks the +clipboard feature. * Redrawing errors with GTK 3. * Not enough test coverage for Perl. * No test for concatenating an empty string that results from out of bounds indexing. * The condition for when a typval needs to be cleared is too complicated. * If [RO] in the status line is translated to a longer string, it is trunctted to 4 bytes. * Test to check that setting termcap key fails sometimes. * Using uninitialized memory when 'isfname' is empty. * Leaking memory when setting 'ttytype'. * Crash when setting 'guicursor' to weird value. * Invalid memory access in C-indent code. * 'number' and 'relativenumber' are not properly tested. * Sometimes VimL is used, which is confusing. * GUI initialisation is not sufficiently tested. * Tests fail on MS-Windows. * Travis is too slow to keep up with patches. * ]s does not move cursor with two spell errors in one line. * Might free a dict item that wasn't allocated. * Build fails with tiny features. * If configure defines _LARGE_FILES some include files are included before it is defined. * Not all options are tested with a range of values. * The 'balloondelay', 'ballooneval' and 'balloonexpr' options are not defined without the +balloon_eval feature. Testing that an option value fails does not work for unsupported options. * Invalid memory access when setting wildchar empty. * Leaking memory when setting v:completed_item. * More options are not always defined. * Build fails without +folding. * Invalid memory access when using :sc in Ex mode. (Dominique Pelle) * The "+ register is not tested. * Size computations in spell file reading are not exactly right. * Possible overflow when reading corrupted undo file. CVE-2017-6349 bsc#1027057 * Another possible overflow when reading corrupted undo file. CVE-2017-6350 bsc#1027053 * CTRL-Z and mouse click use CTRL-O unnecessary. * With 'linebreak' set and 'breakat' includes ">" a double-wide character results in "<<" displayed. * Diff mode is not sufficiently tested. * Warning in tiny build for unused variable. (Tony Mechelynck) * Misplaced #ifdef. (Christ van Willigen) * Timer test failed for no apparent reason. * No tests for arabic. * Tiny build has a problem with generating the options test. * compiler warnings * filtering lines through "cat", without changing the line count, changes manual folds. * Test for arabic does not check what is displayed. * When the window scrolls horizontally when the popup menu is displayed part of it may not be cleared. (Neovim issue #6184) * Arabic support is verbose and not well tested. * GUI test fails with Athena and Motif. * When the same tag appears more than once, the order is unpredictable. (Charles Campbell) * Tabs are not aligned when scrolling horizontally and a Tab doesn't fit. (Axel Bender) * Testing the + register fails with Motif. * 'balloonexpr' only works synchronously. * Cannot build with the viminfo feature but without the eval feature. * Illegal memory access with "t". * Crash when using balloon_show() when not supported. (Hirohito Higashi) * Some tests have a one second delay. * Test fails with missing balloon feature. * :map completion does not have . (Dominique Pelle) * GUI tests may fail. * Not enough testing for quickfix. * v:progpath may become invalid after ":cd". * The arabic shaping code is verbose. * Filtering folds with marker method not tested. * Updating folds does not work properly when inserting a file and a few other situations. * set_progpath is defined but not always used * Newer gettext/iconv library has extra dll file. * We can't change the case in menu entries, it breaks translations. * Menu test fails on MS-Windows. * Menu test fails on MS-Windows using gvim. * Balloon eval is not tested. * Balloon test fails on MS-Windows. * Setting v:progpath is not quite right. * Test for the clipboard fails sometimes. * ASAN logs are disabled and don't cause a failure. * Test for v:progpath fails on MS-Windows. * When running :make the output may be in the system encoding, different from 'encoding'. * Diff mode is displayed wrong when adding a line at the end of a buffer. * Python test fails with Python 3.6. * The effect of adding "#" to 'cinoptions' is not always removed. * Compiler warnings on MS-Windows. (Ajit Thakkar) * Build errors when building without folding. - Drop test87-python36.patch, fixed upstream.- Add test87-python36.patch to update test results for Python 3.6- Updated to revision 324, fixes the following problems * When a json message arrives in pieces, the start is dropped and the decoding fails. * Not enough testing for GUI functionality. * getcmdtype(), getcmdpos() and getcmdline() are not tested. * ":help :[range]" does not work. (Tony Mechelynck) * ":help z?" does not work. (Pavol Juhas) * No test for setting 'guifont'. * Small mistake in 7x13 font name. * Insert mode completion does not respect "start" in 'backspace'. * Warning for unused variable with small build. * When using the tiny version trying to load the matchit plugin gives an error. On MS-Windows some default mappings fail. * Possible overflow with spell file where the tree length is corrupted. CVE-2017-5953 bsc#1024724 * When running the command line tests there is a one second wait. * Illegal memory access with "1;y".- Updated to revision 311, fixes the following problems * Double free on exit when using a closure. (James McCoy) * Ex command range with repeated search does not work. (Bruce DeVisser) * When the GUI window is resized Vim does not always take over the new size. (Luchr) * Cannot stop diffing hidden buffers. (Daniel Hahler) * No tests for ":set completion" and various errors of the :set command. * Cannot set terminal key codes with :let. * Bracketed paste does not work in Visual mode. * Assign test fails in the GUI. * Invalid memory access when option has duplicate flag. * mode() not sufficiently tested. * Asan detects a memory error when EXITFREE is defined. (Dominique Pelle) * When using a symbolic link, the package path will not be inserted at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi) * Cannot use an empty key in json. * Not enough testing for GUI functionality. * Linebreak tests are old style.- Updated to revision 296, fixes the following problems * Jumping to a tag that is a static item in the current file fails. (Kazunobu Kuriyama) * The test for :profile is slow and does not work on MS-Windows. * On MS-Windows the system() test skips a few parts. * Some syntax arguments take effect even after "if 0". (Taylor Venable) * Warning for an unused parameter when the libcall feature is disabled. Warning for a function type cast when compiling with -pedantic. * Some syntax arguments are not tested. * When completing a group name for a highlight or syntax command cleared groups are included. * No test for invalid syntax group name. * Order of complication flags is sometimes wrong. * Compiler warns for uninitialized variable. (Tony Mechelynck) * After :undojoin some commands don't work properly, such as :redo. (Matthew Malcomson) * Test coverage for :retab insufficient. * Leaking file descriptor when system() cannot find the buffer. (Coverity) * Internally used commands for CTRL-Z and mouse click end up in history. (Matthew Malcomson) * When using :substitute with the "c" flag and 'cursorbind' is set the cursor is not updated in other windows. * Vim does not support bracketed paste, as implemented by xterm and other terminals. * Build fails if the multi-byte feature is disabled. * The buffer used to store a key name theoreticaly could be too small. (Coverity) * The Netbeans "specialKeys" command does not check if the argument fits in the buffer. (Coverity) * Leaking memory when syntax cluster id is unknown. (Coverity) * When a Cscope line contains CTRL-L a NULL pointer may be used. (Coverity) * When decoding JSON with a JS style object the JSON test may use a NULL pointer. (Coverity) * Build fails without the cscope feature. * No command line completion for :cexpr, :cgetexpr, :caddexpr, etc. * Ubsan reports errors for integer overflow. * Completion for :match does not show "none" and other missing highlight names. * Checking if PROTO is defined inside a function has no effect. * When a multi-byte character ends in a zero byte, putting blockwise text puts it before the character instead of after it. * Coverity gets confused by the flags passed to find_tags() and warnts for an uninitialized variable. * When 'fileformats' is changed in a BufReadPre auto command, it does not take effect in readfile(). (Gary Johnson) * When a block is visually selected and put is used on the end of the selection only one line is changed. * The test for patch 8.0.0224 misses the CR characters and passes even without the fix. (Christian Brabandt) * Crash when 'fileformat' is forced to "dos" and the first line in the file is empty and does not have a CR character. * When pasting test in an xterm on the command line it is surrounded by and . (Johannes Kaltenbach) * When freeing a buffer the local value of the 'formatprg' option is not cleared. * When using bracketed paste line breaks are not respected. * There are no tests for bracketed paste mode. * Pasting in Insert mode does not work when bracketed paste is used and 'esckeys' is off. * The paste test fails if the GUI is being used. * When several lines are visually selected and one of them is short, using put may cause a crash. (Axel Bender) * Memory leak detected when running tests for diff mode. * Gcc complains that a variable may be used uninitialized. Confusion between variable and label name. (John Marriott) * When setting wildoptions=tagfile the completion context is not set correctly. (desjardins) * When using bracketed paste autoindent causes indent to be increased. * The address sanitizer sometimes finds errors, but it needs to be run manually. * The clang build on CI fails with one configuration. * Vim defines a mch_memmove() function but it doesn't work, thus is always unused. * Completion of user defined functions is not covered by tests. * When making a character lower case with tolower() changes the byte cound, it is not made lower case. * When the user sets t_BE empty after startup to disable bracketed paste, this has no direct effect. * The generated zh_CN.cp936.po message file is not encoded properly. * Compiler warnings for int to pointer conversion. * Under some circumstances, one needs to type Ctrl-N or Ctrl-P twice to have a menu entry selected. (Lifepillar) * vim_strcat() cannot handle overlapping arguments. * When two submits happen quick after each other, the tests for the first one may error out. * When virtcol() gets a column that is not the first byte of a multi-byte character the result is unpredictable. (Christian Ludwig) * It is not so easy to write a script that works with both Python 2 and Python 3, even when the Python code works with both. * Characters below 256 that are not one byte are not always recognized as word characters. * When creating a session when winminheight is 2 or larger and loading that session gives an error. * When using an assert function one can either specify a message or get a message about what failed, not both. * When calling setpos() with a buffer argument it often is ignored. (Matthew Malcomson) * Tests fail because some changes were not included. * The keyword test file is not included in the archive. * The keyword test file is not included in the archive. * Tab commands do not handle count correctly. (Ken Hamada) * Build fails with tiny features. * Not enough test coverage for eval functions. * Farsi support is barely tested. * Farsi support is not tested enough. * Memory error reported by ubsan, probably for using the string returned by execute(). * May get ml_get error when :pydo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * Compiler warning for using uninitialized variable. * A channel test sometimes fails on Mac. * May get ml_get error when :luado deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :perldo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :rubydo deletes lines or switches to another buffer. (Nikolai Pavlov, issue #1421) * May get ml_get error when :tcldo deletes lines or switches to another buffer. (Nikolai Pavlov, closes #1421) * Crash on exit is not detected when running tests. * Dead code detected by Coverity when not using gnome. * When update_single_line() is called recursively, or another screen update happens while it is busy, errors may occur. * When checking for CTRL-C typed the GUI may detect a screen resize and redraw the screen, causing trouble. * Checking for FEAT_GUI_GNOME inside GTK 3 code is unnecessary. * The GUI test may trigger fontconfig and take a long time. * GUI test fails on MS-Windows. * With MSVC 2015 the dll name is vcruntime140.dll. * On MS-Windows setting an environment variable with multi-byte strings does not work well. * MS-Windows files are still using ARGSUSED while most other files have UNUSED. * When doing a Visual selection and using "I" to go to insert mode, CTRL-O needs to be used twice to go to Normal mode. (Coacher) * The return value of mode() does not indicate that completion is active in Replace and Insert mode. (Zhen-Huan (Kenny) Hu) * The Test_collapse_buffers() test failed once, looks like it is flaky. * Tests fail with tiny build on Unix. * When concealing is active and the screen is resized in the GUI it is not immediately redrawn. * Cannot access the arguments of the current function in debug mode. (Luc Hermitte) * Errors reported while running tests. * No test for "ga" and :ascii. * If a wide character doesn't fit at the end of the screen line, and the line doesn't fit on the screen, then the cursor position may be wrong. (anliting) * Visual block insertion does not insert in all lines. * The stat test is a bit slow. * Some tests have a one or three second wait. * Argument list is not stored correctly in a session file. (lgpasquale) * test_viml hangs. * Bracketed paste can only append, not insert.- Improve summary bsc#1021040- Add missing %changelog to spec.skeleton- Updated to revision 194, fixes the following problems * When compiling with EBCDIC defined the build fails. (Yaroslav Kuzmin) * For completion "locale -a" is executed on MS-Windows, even though it most likely won't work. * Setting language in gvim on MS-Windows does not work when libintl.dll is dynamically linked with msvcrt.dll. * Using :change in between :function and :endfunction fails. * When opening a buffer on a directory and inside a try/catch then the BufEnter event is not triggered. * test_command_count may fail when a previous test interferes, seen on MS-Windows. * 'formatprg' is a global option but the value may depend on the type of buffer. (Sung Pae) * Error E937 is used both for duplicate key in JSON and for trying to delete a buffer that is in use. * When 'cursorbind' and 'cursorcolumn' are both on, the column highlignt in non-current windows is wrong. * When 'cursorbind' and 'cursorline' are set, but 'cursorcolumn' is not, then the cursor line highlighting is not updated. (Hirohito Higashi) * Ubsan warns for using a pointer that is not aligned. * When in Ex mode and an error is caught by try-catch, Vim still exits with a non-zero exit code. * The system() test fails on MS-Windows. * The error message from assert_notequal() is confusing. * Building with a new Ruby version fails. * Using NOT_VALID for redraw_later() to update the cursor line/column highlighting is not efficient. * There are no tests for the :profile command. * Detecting duplicate tags uses a slow linear search. * Some systems do not have ruby_sysinit(), causing the build to fail. * Build fails with tiny features. * Accidentally removed #ifdef. * Profile tests fails if total and self time are equal.- Updated to revision 172, fixes the following problems * When a C preprocessor statement has two line continuations the following line does not have the right indent. (Ken Takata) * ":earlier" and ":later" do not work after startup or reading the undo file. * When the pattern of :filter does not have a separator then completion of the command fails. * To pass buffer content to system() and systemlist() one has to first create a string or list. * Running the channel test creates channellog. * system() test fails on MS-Windows. * system() test fails on OS/X. * When sorting zero elements a NULL pointer is passed to qsort(), which ubsan warns for. * Several float functions are not covered by tests. * No command line completion for ":syntax spell" and ":syntax sync". * On MS-Windows some float functions return a different value when passed unusual values. strtod() doesn't work for "inf" and "nan". * Using a NULL pointer when using feedkeys() to trigger drawing a tabline. * EMSG() is sometimes used for internal errors. * Build fails when using small features. * Build error on Fedora 23 with small features and gnome2. * Ruby 2.4 no longer supports rb_cFixnum. * Outdated and misplaced comments. * Ubsan warns for integer overflow. * JSON with a duplicate key gives an internal error. (Lcd) * str2nr() and str2float() do not always work with negative values. * Still some float functionality is not covered by tests. * For complicated string json_decode() may run out of stack space. * Channel test fails for using freed memory. * JS style JSON does not support single quotes. * The command selected in the command line window is not executed. (Andrey Starodubtsev)- Updated to revision 147, fixes the following problems * Not enough test coverage for syntax commands. * Test fails because of using :finish. * "2;'(" causes ml_get errors in an empty buffer. * Null pointer access reported by UBsan. * An address relative to the current line, ":.,+3y", does not work properly on a closed fold. * When using indent folding and changing indent the wrong fold is opened. * When 'maxfuncdepth' is set above 200 the nesting is limited to 200. * Small build fails. * Warning for unused argument. * Pasting inserted text in Visual mode does not work properly. * Nested function test fails on AppVeyor. * Normal colors are wrong with 'termguicolors'. * Line number of current buffer in getbufinfo() is wrong. * When using MSVC the GvimExt directory is cleaned twice. * Running tests on MS-Windows is a little bit noisy. * When using 'termguicolors' on MS-Windows the RGB definition causes the colors to be wrong. * searchpair() does not work when 'magic' is off.- Updated to revision 130, fixes the following problems * Not enough testing for entering Ex commands. * Display problem with 'foldcolumn' and a wide character. (esiegerman) * Cancelling completion still inserts text when formatting is done for 'textwidth'. (lacygoill) * Display test fails on MS-Windows. * Parallel make still doesn't work. (Lewis Muir) * Configure uses "ushort" while the Vim code doesn't.- Updated to revision 124, fixes the following problems * May not process channel readahead. (skywind) * Value of 'thesaurus' option not checked properly. * When using ch_read() with zero timeout, can't tell the difference between reading an empty line and nothing available. * Cannot use a semicolon in 'backupext'. (Jeff) * When reading channel output in a timer, messages may go missing. (Skywind) * The channel "drop" option is not tested. * Still checking if memcmp() exists while every system should have it now. * Drop command doesn't use existing window. * The :history command is not tested. * Tests 92 and 93 are old style. * When reading English help and using CTRl-] the language from 'helplang' is used. * Parallel make fails. (J. Lewis Muir) * No test for using CTRL-R on the command line. * Setting 'cursorline' changes the curswant column. (Daniel Hahler) * Internal error for assert_inrange(1, 1).- Updated to revision 101, fixes the following problems * When the input or output is not a tty Vim appears to hang. * When a channel callback consumes a lot of time Vim becomes unresponsive. (skywind) * Can't build on MS-Windows. * Popup menu always appears above the cursor when it is in the lower half of the screen. (Matt Gardner) * Options that are a file name may contain non-filename characters. * Some options are not strictly checked. * (after 8.0.0101) cannot set 'dictionary' to a path- Updated to revision 95, fixes the following problems * Problems with GTK 3.22.2 fixed in 3.22.4.- Export "TERM=linux" before running the test suite: vim does quite an extensive test relying on a full fledged terminal inside OBS, stdio is redirected to a serial console (where the build log is being recorded/extracted. Systemd set non-local tty by default to vt220 in upcoming versions (which the vi test suite fails to run on; this should be considered a vim bug).- Updated to revision 92, fixes the following problems * Using NUL instead of NULL. * Crash when using the preview window from an unnamed buffer. (lifepillar) * On Windows job_stop() stops cmd.exe, not the processes it runs. (Linwei) * When a match ends in part of concealed text highlighting, it might mess up concealing by resetting prev_syntax_id. * An exiting job is detected with a large latency. * New code for job_stop() breaks channel test on AppVeyor. * Conceal test passes even without the bug fix. * No test for what 8.0.0047 fixes. * On Windows job_stop() stops cmd.exe, not the processes it runs. (Linwei) * Minor comment and style deficiencies. * When setting 'filetype' there is no check for a valid name. * Tests fail without the 'keymap' features. * Positioning of the popup menu is not good. * Vim does not build on VMS systems. * When using an Ex command for 'keywordprg' it is escaped as with a shell command. (Romain Lafourcade) * Compiler warning for unused variable. * No digraph for HORIZONTAL ELLIPSIS. * Compiler warning for comparing with unsigned. (Zoltan Arpadffy) * Normal test fails on MS-Windows. * Compiler warning for unused function in tiny build. (Tony Mechelynck) * when calling an operator function when 'linebreak' is set, it is internally reset before calling the operator function. * VMS has a problem with infinity. * Checking did_throw after executing autocommands is wrong. (Daniel Hahler) * Compiler warning for self-comparison. * Tests referred in Makefile that no longer exist. * Exit value from a shell command is wrong. (Hexchain Tong) * MS-Windows: Crash with long font name. (Henry Hu) * More comparisons between firstwin and lastwin. * Cannot make Vim fail on an internal error. * Using number for exception type lacks type checking. * Channel log has double parens ()(). * The GUI code is not tested by Travis. * Accessing freed memory in quickfix. * Accessing freed memory in quickfix. (Domenique Pelle) * The OS X build fails on Travis. * Inconsistent function names. * Extension for configure should be ".ac". * Using freed memory with win_getid(). (Domenique Pelle) * Using freed memory when adding to a quickfix list. (Domenique Pelle) * Using freed memory with recursive function call. (Dominique Pelle) * Cannot add a comment after ":hide". (Norio Takagi) * When the channel callback gets job info the job may already have been deleted. (lifepillar) * When a test fails in Setup or Teardown the problem is not reported. * Various problems with GTK 3.22.2. * Cursor moved after last character when using 'breakindent'. * Test_help_complete sometimes fails in MS-Windows console. * C indenting does not support nested namespaces that C++ 17 has. - Drop bsc-1008800.patch, fixed upstream.- Add bsc-1008800.patch to fix gvim rendering with recent gtk+ update. Fixes bsc#1008800. Patch by Jan Alexander Steffens.- Updated to revision 45, fixes the following problems * Cannot use overlapping positions with matchaddpos(). * No completion for ":messages". * Order of matches for 'omnifunc' is messed up. (Danny Su) * Detecting that a job has finished may take a while. * Get E924 when switching tabs. * OPEN_CHR_FILES not defined for FreeBSD using Debian userland files. * When Vim 8 reads an old viminfo and exits, the next time marks are not read from viminfo. (Ned Batchelder) * Whole line highlighting with matchaddpos() does not work. * When using Insert mode completion but not actually inserting anything an undo item is still created. (Tommy Allen) * When using Insert mode completion with 'completeopt' containing "noinsert" change is not saved for undo. (Tommy Allen) * When using Insert mode completion with 'completeopt' containing "noinsert" with CTRL-N the change is not saved for undo. (Tommy Allen) * In diff mode the cursor may end up below the last line, resulting in an ml_get error. * Calling job_stop() right after job_start() does not work.- Updated to revision 32, fixes the following problems * getwinvar() returns wrong Value of boolean and number options, especially non big endian systems. (James McCoy) * A string argument for function() that is not a function name results in an error message with NULL. (Christian Brabandt) * Netbeans test fails with Python 3. (Jonathonf) * ":lb" is interpreted as ":lbottom" while the documentation says it means ":lbuffer". * Vim 7.4 is still mentioned in a few places. * Popup complete test is disabled. * Unnecessary workaround for AppVeyor. * Crash when editing file that starts with crypt yeader. (igor2x) * On OSX Test_pipe_through_sort_all() sometimes fails. * Typos in comments. * Missing comma in list. * Crypt tests are old style. * Can't tell which part of a channel has "buffered" status. * Build fails. * Cannot get the number of the current quickfix or location list. * When using ":sleep" channel input is not handled. * Test_command_count is old style. * The regexp engines are not reentrant. * In the GUI when redrawing the cursor it may be on the second half of a double byte character. * If a channel in NL mode is missing the NL at the end the remaining characters are dropped. * "gd" and "gD" may find a match in a comment or string. * When the netbeans channel closes, "DETACH" is put in the output part. (Ozaki Kiichi) * Inconsistent use of spaces vs tabs in gd test. * Error format with %W, %C and %Z does not work. (Gerd Wachsmuth) * A channel is closed when reading on stderr or stdout fails, but there may still be something to read on another part. * Superfluous semicolons. * Code for MS-Windows is complicated because of the exceptions for old systems. * Mouse mode is not automatically detected for tmux. * After ":bwipeout" 'fileformat' is not set to the right default.- Updated to revision 3, fixes the following problems * getwinvar() returns wrong Value of boolean and number options, especially non big endian systems. (James McCoy)- Updated to revision 2, fixes the following problems * Intro screen still mentions version7. (Paul) * The netrw plugin does not work.- Update to version 8.0 * Crash on exit when EXITFREE is defined. (Dominique Pelle) * Valgrind reports using uninitialzed memory. (Dominique Pelle) * Test 86 and 87 fail with some version of Python. * Netbeans test fails when run from unpacked MS-Windows sources. * Netbeans test fails in shadow directory. * Not enough test coverage for Normal mode commands. * The example that explains nested backreferences does not work properly with the new regexp engine. (Harm te Hennepe) * Regexp fails to match when using "\>\)\?". (Ramel) * Reading past end of line when using previous substitute pattern. (Dominique Pelle) * Attempt to read history entry while not initialized. * Compiler warnings with Solaris Studio when using GTK3. * Memory leak in timer_start(). * Invalid memory access when formatting. (Dominique Pelle) * Checking for last_timer_id to overflow is not reliable. (Ozaki Kiichi) * Illegal memory access with ":1@". (Dominique Pelle) * Superfluous function prototypes. * Sort test sometimes fails. * Needless line break. Confusing directory name. * MS-Windows gvim.exe does not have DirectX support. * Test runner misses a comma.- Updated to revision 2347, fixes the following problems * submatch() does not check for a valid argument. * The 'langnoremap' option leads to double negatives. And it does not work for the last character of a mapping. * Can't use "." and "$" with ":tab". * With SGR mouse reporting (suckless terminal) the mouse release and scroll up/down is confused. * Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) * Tests using the sleep time can be flaky. * Timer test sometimes fails. * Timer test sometimes fails. * Warning for assigning negative value to unsigned. (Danek Duvall) * Adding pattern to ":oldfiles" is not a generic solution. * Filter test fails. * Oldfiles test fails. * Tiny build fails. (Tony Mechelynck) * When cancelling the :ptjump prompt a preview window is opened for a following command. * Missing colon in error message. * Some error message cannot be translated. * In rare cases diffing 4 buffers is not enough. * Compiler warnings for signed/unsigned in expression. * Check for Windows 3.1 will always return false. (Christian Brabandt) * Compiler warnings in MzScheme code. * The script that checks translations can't handle plurals. * Coverity complains about null pointer check. * Coverity complains about not checking for NULL. * Two JSON messages are sent without a separator. * With 'incsearch' can only see the next match. * Channel test is flaky. * Build fails with small features. * Fail to read register content from viminfo if it is 438 characters long. (John Chen) * :filter does not work for many commands. Can only get matching messages. * When adding entries to an empty quickfix list the title is reset. * printf() isn't tested much. * printf() test fails on Windows. "-inf" is not used. * Build fails on MS-Windows. * Using CTRL-N and CTRL-P for incsearch shadows completion keys. * Using 'hlsearch' highlighting instead of matchpos if there is no search match. * Insufficient testing for NUL bytes on a raw channel. * Netbeans test doesn't read settings from file. * getbufinfo(), getwininfo() and gettabinfo() are inefficient. * getwininfo() and getbufinfo() are inefficient. * Command line completion on "find **/filename" drops sub-directory. * ":diffoff!" does not remove filler lines. * Command line test fails on Windows when run twice. * Memory leak in getbufinfo() when there is a sign. (Dominique Pelle) * New users have no idea of the 'scrolloff' option. * Starting diff mode with the cursor in the last line might end up only showing one closed fold. (John Beckett) * printf() doesn't handle infinity float values correctly. * Timer test fails sometimes. * When a child process is very fast waiting 10 msec for it is noticeable. (Ramel Eshed) * Part of ":oldfiles" command isn't cleared. (Lifepillar) * Comment in scope header file is outdated. (KillTheMule) * Generated files are outdated. * The tee program isn't included. Makefile contains build instructions that don't work. * The callback passed to ch_sendraw() is not used. * MS-Windows build instructions are clumsy. "dosbin" doesn't build. * When installing and $DESTDIR is set the icons probably won't be installed. * Compiler warning in tiny build. (Tony Mechelynck) * printf() handles floats wrong when there is a sign. * Not all systems understand %F in printf(). * Modelines in source code are inconsistent. * Sign test fails on MS-Windows when using the distributed zip archives. * Cscope test fails. * No tests for :undolist and "U" command. * When starting a job that reads from a buffer and reaching the end, the job hangs. * It is not possible to close the "in" part of a channel. * QuickFixCmdPre and QuickFixCmdPost autocommands are not always triggered. * Get warning for deleting autocommand group when the autocommand using the group is scheduled for deletion. (Pavol Juhas) * MS-Windows: some files remain after testing. * Default interface versions for MS-Windows are outdated. * When using "is" the mode isn't always updated. * In a timer callback the timer itself can't be found or stopped. (Thinca) * Marks, writefile and nested function tests are old style. * Default value for 'langremap' is wrong. * Several tests are old style. * Old charsearch test still listed in Makefile. * Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle) * Accessing freed memory when a timer does not repeat. * Appveyor 64 bit build still using Python 3.4 * Crash when autocommand moves to another tab. (Dominique Pelle) * Crash when deleting an augroup and listing an autocommand. (Dominique Pelle) * No error when deleting an augroup while it's the current one. * Insufficient testing for Normal mode commands. * Channel sort test is flaky. * Normal mode tests fail on MS-Windows. * When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as before. * No way for a system wide vimrc to stop loading defaults.vim. (Christian Hesse) * Redraw problem when using 'incsearch'. * When a test is commented out we forget about it. * Access memory beyond the end of the line. (Dominique Pelle) * Using freed memory when using 'formatexpr'. (Dominique Pelle) * Crash when editing a new buffer and BufUnload autocommand wipes out the new buffer. (Norio Takagi) * Tiny build fails. * Illegal memory access when Visual selection starts in invalid position. (Dominique Pelle) * Freeing a variable that is on the stack. * Crash when BufWinLeave autocmd goes to another tab page. (Hirohito Higashi) * Error for min() and max() contains %s. (Nikolay Pavlov) * Coverity complains about not checking curwin to be NULL. * Using CTRL-X CTRL-V to complete a command line from Insert mode does not work after entering an expression on the command line. * Crash when stop_timer() is called in a callback of a callback. Vim hangs when the timer callback uses too much time. * Outdated comments in test. * On MS-Windows test_getcwd leaves Xtopdir behind. * taglist() is slow. (Luc Hermitte) * Running normal mode tests leave a couple of files behind. (Yegappan Lakshmanan) * taglist() is still slow. (Luc Hermitte) * Can't build with small features. (John Marriott) * Tab page test fails when run as fake root. * MS-Windows: Building with Ruby uses old version. * Tiny things. Test doesn't clean up properly. * Typo in MS-Windows build script. * Too many old style tests. * The "Reading from channel output..." message can be unwanted. Appending to a buffer leaves an empty first line behind. * For MinGW RUBY_API_VER_LONG isn't set correctly. Many default version numbers are outdated. * Autocommand test fails when run directly, passes when run as part of test_alot.- Updated to revision 2334, fixes the following problems * No tests for :undolist and "U" command. * When starting a job that reads from a buffer and reaching the end, the job hangs. * It is not possible to close the "in" part of a channel. * QuickFixCmdPre and QuickFixCmdPost autocommands are not always triggered. * Get warning for deleting autocommand group when the autocommand using the group is scheduled for deletion. (Pavol Juhas) * MS-Windows: some files remain after testing. * Default interface versions for MS-Windows are outdated. * When using "is" the mode isn't always updated. * In a timer callback the timer itself can't be found or stopped. (Thinca) * Marks, writefile and nested function tests are old style. * Default value for 'langremap' is wrong. * Several tests are old style. * Old charsearch test still listed in Makefile. * Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle) * Accessing freed memory when a timer does not repeat. * Appveyor 64 bit build still using Python 3.4 * Crash when autocommand moves to another tab. (Dominique Pelle) * Crash when deleting an augroup and listing an autocommand. (Dominique Pelle) * No error when deleting an augroup while it's the current one. * Insufficient testing for Normal mode commands. * Channel sort test is flaky. * Normal mode tests fail on MS-Windows. * When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as before. * No way for a system wide vimrc to stop loading defaults.vim. (Christian Hesse) * Redraw problem when using 'incsearch'. * When a test is commented out we forget about it. * Access memory beyond the end of the line. (Dominique Pelle) * Using freed memory when using 'formatexpr'. (Dominique Pelle) * Crash when editing a new buffer and BufUnload autocommand wipes out the new buffer. (Norio Takagi) * Tiny build fails. * Illegal memory access when Visual selection starts in invalid position. (Dominique Pelle) * Freeing a variable that is on the stack. * Crash when BufWinLeave autocmd goes to another tab page. (Hirohito Higashi) * Error for min() and max() contains %s. (Nikolay Pavlov) * Coverity complains about not checking curwin to be NULL. * Using CTRL-X CTRL-V to complete a command line from Insert mode does not work after entering an expression on the command line. * Crash when stop_timer() is called in a callback of a callback. Vim hangs when the timer callback uses too much time. * Outdated comments in test. * On MS-Windows test_getcwd leaves Xtopdir behind.- Updated to revision 2295, fixes the following problems * The field names used by getbufinfo(), gettabinfo() and getwininfo() are not consistent. * Tab page tests are old style. * Test files have inconsistant modelines. * Startup test fails on Solaris. * There is no equivalent of 'smartcase' for a tag search. * ":oldfiles" output is a very long list. * The default ttimeoutlen is very long. * Crash when using funcref() with invalid name. (Dominique Pelle) * Can't build with +eval but without +quickfix. (John Marriott) * submatch() does not check for a valid argument. * The 'langnoremap' option leads to double negatives. And it does not work for the last character of a mapping. * Can't use "." and "$" with ":tab". * With SGR mouse reporting (suckless terminal) the mouse release and scroll up/down is confused. * Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) * Tests using the sleep time can be flaky. * Timer test sometimes fails. * Timer test sometimes fails. * Warning for assigning negative value to unsigned. (Danek Duvall) * Adding pattern to ":oldfiles" is not a generic solution. * Filter test fails. * Oldfiles test fails. * Tiny build fails. (Tony Mechelynck) * When cancelling the :ptjump prompt a preview window is opened for a following command. * Missing colon in error message. * Some error message cannot be translated. * In rare cases diffing 4 buffers is not enough. * Compiler warnings for signed/unsigned in expression. * Check for Windows 3.1 will always return false. (Christian Brabandt) * Compiler warnings in MzScheme code. * The script that checks translations can't handle plurals. * Coverity complains about null pointer check. * Coverity complains about not checking for NULL. * Two JSON messages are sent without a separator. * With 'incsearch' can only see the next match. * Channel test is flaky. * Build fails with small features. * Fail to read register content from viminfo if it is 438 characters long. (John Chen) * :filter does not work for many commands. Can only get matching messages. * When adding entries to an empty quickfix list the title is reset. * printf() isn't tested much. * printf() test fails on Windows. "-inf" is not used. * Build fails on MS-Windows. * Using CTRL-N and CTRL-P for incsearch shadows completion keys. * Using 'hlsearch' highlighting instead of matchpos if there is no search match. * Insufficient testing for NUL bytes on a raw channel. * Netbeans test doesn't read settings from file. * getbufinfo(), getwininfo() and gettabinfo() are inefficient. * getwininfo() and getbufinfo() are inefficient. * Command line completion on "find **/filename" drops sub-directory. * ":diffoff!" does not remove filler lines. * Command line test fails on Windows when run twice. * Memory leak in getbufinfo() when there is a sign. (Dominique Pelle) * New users have no idea of the 'scrolloff' option. * Starting diff mode with the cursor in the last line might end up only showing one closed fold. (John Beckett) * printf() doesn't handle infinity float values correctly. * Timer test fails sometimes. * When a child process is very fast waiting 10 msec for it is noticeable. (Ramel Eshed) * Part of ":oldfiles" command isn't cleared. (Lifepillar) * Comment in scope header file is outdated. (KillTheMule) * Generated files are outdated. * The tee program isn't included. Makefile contains build instructions that don't work. * The callback passed to ch_sendraw() is not used. * MS-Windows build instructions are clumsy. "dosbin" doesn't build. * When installing and $DESTDIR is set the icons probably won't be installed. * Compiler warning in tiny build. (Tony Mechelynck) * printf() handles floats wrong when there is a sign. * Not all systems understand %F in printf(). * Modelines in source code are inconsistent. * Sign test fails on MS-Windows when using the distributed zip archives. * Cscope test fails.- Updated to revision 2225, fixes the following problems * When using matchaddpos() a character after the end of the line can be highlighted. * Can't build with +timers when +digraph is not included. * Recursive call to substitute gets stuck in sandbox. * printf() gives an error when the argument for %s is not a string. * printf() does not support binary format. * Sourcing a script where a character has 0x80 as a second byte does not work. * Buffer overflow when using latin1 character with feedkeys(). * Compiler warnings with older compiler and 64 bit numbers. * Crash when placing a sign in a deleted buffer.- Updated to revision 2216, fixes the following problems * The qf_init_ext() function is too big. * Compiler warning for initializing a struct. * There is still code and help for unsupported systems. * There is no way to get a list of the error lists. * When using ":vimgrep" may end up with duplicate buffers. * No proper testing of trunc_string(). * Coverage report is messed up by the unittests. * Can't run scripttests in the top directory. * Wrong part of #ifdef removed. * eval.c is too big. * Build fails. * eval.c is too big. * eval.c is too big. * Non-Unix builds fail. * Wrong file name. * qf_init_ext() is too big. * Using dummy variable to compute struct member offset. * eval.c is still too big. * Coverity warns for possible buffer overflow. * Compiler warns for uninitialzed variable. (John Marriott) * getcompletion() not well tested. * Compiler warning for char/char_u conversion. * Not all arguments of trunc_string() are tested. Memory access error when running the message tests. * spell.c is too big. * Missing change to include file. * The return value of type() is difficult to use. * substitute() does not support a Funcref argument. * rgb.txt is read for every color name. * One more place using a dummy variable. * No autocommand event to initialize a window or tab page. * Syntax error when dict has '>' key. * Cannot update 'tabline' when a tab was closed. * Running checks in po diretory fails. * Netbeans test fails on non-Unix systems. * When using PERROR() on some systems assert_fails() does not see the error. * Line numbers in the error list are not always adjusted. * Not much test coverage for digraphs. * Coverity complains about not restoring a value. * New digraph test makes testing hang. * Digraph tests fails on some systems. * Using the system default encoding makes tests unpredictable. * Digraph code test coverage is still low. * Keymap test fails with normal features. * Color handling of X11 GUIs is too complicated. * Using submatch() in a lambda passed to substitute() is verbose. * Coverity reports a resource leak when out of memory. * GTK 3 build fails with older GTK version. * Netbeans test fails once in a while. Leaving log file behind. * The color allocation in X11 is overly complicated. * Man test fails when run with the GUI. * Lambda functions show up with completion. * Warning from 64 bit compiler. * Text object tests are old style. * When a keymap is active only "(lang)" is displayed. * "cgn" and "dgn" do not work correctly with a single character match and the replacement includes the searched pattern. * Looping over windows, buffers and tab pages is inconsistant. * Tiny build with GUI fails. * Can't have "augroup END" right after ":au!". * Code duplication when unreferencing a function. * Configure reports default features to be "normal" while it is "huge". * Clang warns about missing field in initializer. * Misplaced equal sign. * Netbeans test is flaky. * Setting 'display' to "lastline" is a drastic change, while omitting it results in lots of "@" lines. * When there is an CmdUndefined autocmd then the error for a missing command is E464 instead of E492. (Manuel Ortega) * Defaults are very conservative. * getcompletion(.., 'dir') returns a match with trailing "*" when there are no matches. * Test for undo is flaky. * Tiny build fails. * Loading defaults.vim with -C argument. * The default vimrc for Windows is very conservative. * Deleting an augroup that still has autocmds does not give a warning. The next defined augroup takes its place. * Mac: can't build with tiny features. * Closures are not supported. * User defined functions can't be a closure. * No easy way to check if lambda and closure are supported. * Mac: don't get +clipboard in huge build. * No new style test for diff mode. * diffmode test leaves files behind, breaking another test. * Compiler warning for loss of data. * No tests for :diffget and :diffput * The short form of ":noswapfile" is ":noswap" instead of ":nos". * Memory leak when saving for undo fails. * Memory leak when using timer_start(). (Dominique Pelle) * Pending timers cause false memory leak reports. * More memory leaks when using partial, e.g. for "exit-cb". * test_partial has memory leaks reported. * Can't build with tiny features. * No error for using function() badly. * Various tiny issues. * Closure function fails. * Using function() with a name will find another function when it is redefined. * Test 86 and 87 fail. * :delfunction causes illegal memory access. * Tiny build fails. * Coverity reports bogus NULL check. * Leaking memory when redefining a function. * A funccal is garbage collected while it can still be used. * On MS-Windows quickix does not handle a line with 1023 bytes ending in CR-LF properly. * Win32: Using CreateThread/ExitThread is not safe. * Not enough testing for popup menu. CTRL-E does not always work properly. * test_alot fails. * Not much testing for cscope. * If a test leaves a window open a following test may fail. * Warning with MinGW 64. (John Marriott) * Quickfix test fails on MS-Windows. * No proper translation of messages with a count. * GUI test isn't testing much. * Test_communicate() fails sometimes. * Quotes make GUI test fail on MS-Windows. * Compiler warning. * Test_job_start_fails() is expected to report memory leaks, making it hard to see other leaks in test_partial. * Result of getcompletion('', 'cscope') depends on previous completion. * Insufficient testing for cscope. * setmatches() mixes up values. (Nikolai Pavlov) * Expression test fails without conceal feature. * Result of getcompletion('', 'sign') depends on previous completion. * match() and related functions tested with old style test. * It is not possible to use plugins in an "after" directory to tune the behavior of a package. * Startup test fails on MS-Windows. * Small build can't run startup test. * Small build can't run tests. * Not running the startup test on MS-Windows. * Startup test gets stuck on MS-Windows. * Cannot get information about timers. * MS-Windows build fails. * No test for "vim --help". * Can't test help on MS-Windows. * Adding duplicate flags to 'whichwrap' leaves commas behind. * Insufficient testing of cscope. * #ifdefs in main() are complicated. * No testing for -C and -N command line flags, file arguments, startuptime. * No test for reading from stdin. * Reading from stdin test fails on MS-Windows. * There is no easy way to stop all timers. There is no way to temporary pause a timer. * Compiler warning for unused variable. * Color Grey40 used in startup but not in the short list. * Sign tests are old style. * Tests that use RunVim() do not actually perform the test. * Test glob2regpat does not test much. * Timers test is flaky. * glob2regpat test fails on Windows. * Completion does not work properly with some plugins. * Cannot detect encoding in a fifo. * When startup test fails it's not easy to find out why. GUI test fails with Gnome. * No automatic prototype for vim_main2(). * Generating prototypes with Cygwin doesn't work well. * With Gnome when the GUI can't start test_startup hangs. * Sign tests don't cover enough. * MS-Windows: The vimrun program does not support Unicode. * glob2regpat test doesn't test everything on MS-Windows. * All functions are freed on exit, which may hide leaks. * Test alot sometimes fails under valgrind. (Dominique Pelle) * In the GUI the cursor is hidden when redrawing any window, causing flicker. * Cannot get all information about a quickfix list. * The sign column disappears when the last sign is deleted. * Build fails with small features. * Test fails with normal features. * It is not easy to get information about buffers, windows and tabpages. * 'wildignore' always applies to getcompletion(). * Warning for unused function. * The +xpm feature is not sorted properly in :version output. * Test for mappings is old style. * Cannot map . (Stephen Riehm) * On OSX configure mixes up a Python framework and the Unix layout. * Mouse support is not automatically enabled with simple term. * Mark " is not set when closing a window in another tab. (Guraga) * Cannot highlight the "~" lines at the end of a window differently. * A font that uses ligatures messes up the screen display. * It's not easy to find out if a window is a quickfix or location list window. * Test fails without the +sign feature.- Updated to revision 2045, fixes the following problems * Looking up a buffer by number is slow if there are many. * Netbeans file authentication not tested. * GTK: display updating is not done properly and can be slow. * setbufvar() causes a screen redraw. * filter() and map() either require a string or defining a function. * Memory leak when using a function callback.- Updated to revision 2033, fixes the following problems * Memory access error when reading viminfo. (Dominique Pelle) * "gd" hangs in some situations. (Eric Biggers) * Not all quickfix tests are also done with the location lists. * Background is not drawn properly when 'termguicolors' is set. * Coverity warns for unreachable code. * Win32: Cannot compile with XPM feature using VC2015 * The Man plugin doesn't work that well. * File list does not include new XPM libraries. * Viminfo continuation line with wrong length isn't skipped. (Marius Gedminas) * Using Ctrl-A with double-byte encoding may result in garbled text. * Minor problems with the quickfix code. * Quickfix long lines test not executed for buffer. * Ruby test is old style. * Cscope interface does not support finding assignments. * Not all parts of the quickfix code are tested. * No test for what 7.4.1948 fixes. * Using 32-bit Perl with 64-bit time_t causes memory corruption. (Christian Brabandt) * When using CTRL-W f and pressing "q" at the ATTENTION dialog the newly opened window is not closed. * Perl interface has obsolete workaround. * Perl interface preprocessor statements not nicely indented. * Crash when running test_channel.vim on Windows. * Unicode standard 9 was released. * When 'insertmode' is reset while doing completion the popup menu remains even though Vim is in Normal mode. * Two test files for increment/decrement. * Running Win32 Vim in mintty does not work. * The quickfix init function is too big. * When using a job in raw mode to append to a buffer garbage characters are added. * Coverity reports a resource leak. * Falling back from NFA to old regexp engine does not work properly. (fritzophrenic) * Invalid memory access with "\. * When the netbeans channel is closed consuming the buffer may cause a crash. * Using ":insert" in an empty buffer sets the jump mark. (Ingo Karkat) * It is not easy to see unrecognized error lines below the current error position. * On Solaris select() does not work as expected when there is typeahead. * GUI has a problem with some termcodes. * On MS-Windows large files (> 2Gbyte) cause problems. * Number variables are not 64 bits while they could be. * With 64 bit changes don't need three calls to sprintf(). * Large file test does not delete its output. * Getting value of binary option is wrong. (Kent Sibilev) * 'errorformat' is parsed for every call to ":caddexpr". Can't add to two location lists asynchronously. * No testing for Farsi code. * Viminfo file contains duplicate change marks. * farsi.c and arabic.c are included in a strange way. * Not all quickfix features are tested. * Missing changes in VMS build file. * Compiler warns for loss of data. * When copying unrecognized lines for viminfo, end up with useless continuation lines. * When updating viminfo with file marks there is no time order. * filter() and map() only accept a string argument. * Cscope items are not sorted. * glob() does not add a symbolic link when there are no wildcards. * Values for true and false can be confusing. * Not all TRUE and FALSE arguments are tested. * True-false test fails. * GUI: cursor drawn in wrong place if a timer callback causes a screen update. (David Samvelyan) * Capturing the output of a command takes a few commands. * Cannot easily scroll the quickfix window. * When writing buffer lines to a job there is no NL to NUL conversion. * evalcmd() doesn't work recursively. * Evalcmd test fails. * Tiny build fails. (Tony Mechelynck) * Crash when passing number to filter() or map(). * Still cursor flickering when a callback updates the screen. (David Samvelyan) * GUI: cursor displayed in the wrong position. * After using evalcmd() message output is in the wrong position. (Christian Brabandt) * Crash when using tabnext in BufUnload autocmd. (Norio Takagi) * Running the tests leaves a viminfo file behind. * evalcmd() has a confusing name. * Messages test fails. * There is a :cbottom command but no :lbottom command. * It is not easy to get a list of command arguments. * Test for getcompletion() does not pass on all systems. * Using "noinsert" in 'completeopt' breaks redo. * Using "noinsert" in 'completeopt' does not insert match. * When a file gets a name when writing it 'acd' is not effective. (Dan Church) * Warning from MinGW about _WIN32_WINNT redefined. (John Marriott) * When there are many errors adding them to the quickfix list takes a long time. * buf_valid() can be slow when there are many buffers. * When ignoring case utf_fold() may consume a lot of time. * Can't build without +autocmd feature. * Still too many buf_valid() calls. * Warnings from 64 bit compiler. * buflist_findname_stat() may find a dummy buffer. * More buf_valid() calls can be optimized. * The cursor blinking stops or is irregular when receiving date over a channel and writing it in a buffer, and when updating the status. * Reference counting for callbacks isn't right. * Can't build with +eval but without +menu. * cppcheck warns for using index before limits check. * printf() does not work with 64 bit numbers. * ARCH must be set properly when using MinGW. * The list_lbr_utf8 test fails if ~/.vim/syntax/c.vim sets 'textwidth' to a non-zero value. * Build fails with 64 bit MinGW. (Axel Bender) * 'cscopequickfix' option does not accept new value "a".- Updated to revision 1938, fixes the following problems * Updating marks in a quickfix list is very slow when the list is long. * When waiting for a character is interrupted by receiving channel data and the first character of a mapping was typed, the mapping times out. * When receiving channel data 'updatetime' is not respected. * Wrong computation of remaining wait time in RealWaitForChar() * When umask is set to 0177 Vim can't create temp files. * GUI: When channel data is received the cursor blinking is interrupted. * Channel reading very long lines is slow. * balloon eval only gets the window number, not the ID. * Cannot easily get the window ID for a buffer. * Cannot get the window ID for a mouse click. * Cannot use a window ID where a window number is expected. * Invoking mark_adjust() when adding a new line below the last line is pointless. * Various typos, long lines and style mistakes. * User commands don't support modifiers. * GTK 3: cursor blinking doesn't work well. * Using CTRL-] in the help on "{address}." doesn't work. * Win32: the "Disabled" menu items would appear enabled. * No test for collapsing buffers for a channel. Some text is lost. * When writing viminfo merging current history with history in viminfo may drop recent history entries. * Some compilers can't handle a double semicolon. * Collapsing channel buffers and searching for NL does not work properly. * Warnings from 64 bit compiler. * Netbeans uses uninitialzed pointer and freed memory. * Doubled semicolons. * Tests using external command to delete directory. * Recent history lines may be lost when exiting Vim. * No test for using setqflist() on an older quickfix list. * When ":doautocmd" is used modelines are used even when no autocommands were executed. * Executing autocommands while using the signal stack has a high chance of crashing Vim. * The effect of the PopupMenu autocommand isn't directly visible. * No proper test for what 7.4.1906 fixes. * History lines read from viminfo in different encoding than when writing are not converted. * Not enough testing for parsing viminfo lines. * Register contents is not merged when writing viminfo. * Missing test changes. * vim_time() not included when needed. * Ruby 2.4.0 unifies Fixnum and Bignum into Integer. * Command line editing is not tested much. * Missing "void" for functions without argument. * Viminfo does not merge file marks properly. * Possible crash with many history items. * Compiler warning for signed/unsigned. * Overwriting pointer argument. * Inconsistent indenting and weird name. * Can't build without +spell but with +quickfix. * Using both old and new style file mark lines from viminfo. * When writing viminfo the jumplist is not merged with the one in the viminfo file. * Compiler warning about uninitialzed variable. * New style tests not executed with MinGW compiler. * When using the GUI search/replace a second match right after the replacement is skipped. * Off-by-one error in bounds check. * No test for directory stack in quickfix. * When writing viminfo numbered marks were duplicated. - Refresh vim-7.3-filetype_spec.patch- Link to perl directly instead of dlopen'ing it.- vim must require %{?libperl_requires}, if perl is not updated with vim in lockstep, the following error occurs: vim: error while loading shared libraries: libperl.so and the program stops working. (boo#982869)- Updated to revision 1883, fixes the following problems * Python: encoding error with Python 2. * Memory leaks in test49. * Invalid memory access when exiting with EXITFREE defined. * Memory leak in test_matchstrpos. * Setting really_exiting causes memory leaks to be reported. * Appending to the quickfix list while the quickfix window is open is very slow. * When a callback adds a timer the GUI doesn't use it until later. * Comparing functions and partials doesn't work well. * Typing "k" at the hit-enter prompt has no effect. * Whether a job has exited isn't detected until a character is typed. After calling exit_cb the cursor is in the wrong place. * Channel test is flaky. * Appending to a long quickfix list is slow. * Check for line break at end of line wrong. * Cppcheck found 2 incorrect printf formats.- Updated to revision 1862, fixes the following problems * Using a partial for timer_start() may cause a crash. * Compiler warnings with 64 bit compiler. * string() with repeated argument does not give a result usable by eval().- Updated to revision 1859, fixes the following problems * Tests involving Python are flaky. * Ubsan detects a multiplication overflow. * Getting an item from a NULL dict crashes. * Can't build with Strawberry Perl 5.24 (obsoletes perl-5.24.patch) * Still trying to read from channel that is going to be closed. * GUI freezes when using a job. * test_syn_attr fails when using the GUI. * Unix: Cannot run all tests with the GUI. * Crash when job and channel are in the same dict while using partials. * When setting 'termguicolors' the Ignore highlighting doesn't work. * Valgrind reports memory leak for job that is not freed. * When a channel appends to a buffer that is 'nomodifiable' there is an error but appending is done anyway. * When a channel writes to a buffer it doesn't find a buffer by the short name but re-uses it anyway. * Cannot use a function reference for "exit_cb".- Update apparmor.vim (taken from AppArmor 2.10.1) * add support for the "unspec" network keyword- Updated to revision 1842, fixes the following problems * non-antialiased misnamed. * When timer_stop() is called with a string there is no proper error message. * Memory leak in debug commands. * Cannot use an Ex command for 'keywordprg'. * Possible crash when conceal is active. * When splitting and closing a window the status height changes. * When using a partial on a dictionary it always gets bound to that dictionary. * The BufUnload event is triggered twice, when :bunload is used with `bufhidden` set to `unload` or `delete`. * Functions specifically for testing do not sort together. * Cannot get the items stored in a partial. * When using packages an "after" directory cannot be used. * The code to reallocate the buffer used for quickfix is repeated. * get() works for Partial but not for Funcref.- Fix build with perl 5.24 (perl-5.24.patch)- Updated to revision 1829, fixes the following problems * No error when invoking a callback when it's not safe. * May try to access buffer that's already freed. * No message on channel log when buffer was freed.- Updated to revision 1826, fixes the following problems * The screen is not updated if a callback is invoked when closing a channel. * Help completion adds @en to all matches except the first one. * Compiler warnings when sprintf() is a macro. * Removing language from help tags too often. * Redirecting stdout of a channel to "null" doesn't work. * When a job is no longer referenced and does not have an exit callback the process may hang around in defunc state. * When job writes to buffer nothing is written. * Callbacks are invoked when it's not safe.- Updated to revision 1816, fixes the following problems * 'guicolors' is a confusing option name. * Quickfix doesn't handle long lines well, they are split. * GTK3 doesn't handle menu separaters properly. * Can't use Vim as MANPAGER. * Running tests in shadow dir fails. * 'termguicolors' option missing from the options window. * Test_out_close_cb sometimes fails. * Using wrong feature name to check for 'termguicolors'. * Using wrong short option name for 'termguicolors'. * Sending DETACH after a channel was closed isn't useful. * Netbeans channel gets garbage collected. * Memory access error when running test_quickfix. * A channel may be garbage collected while it's still being used by a job. * Looping over a null list throws an error. - Refresh vim-7.4-filetype_mine.patch- Updated to revision 1796, fixes the following problems * Cannot use ch_read() in the close callback. * Leading white space in a job command matters. * Channel could be garbage collected too early. * Color name decoding is implemented several times. * Some character classes may differ between systems.- Updated to revision 1786, fixes the following problems * When using the term truecolor feature, the t_8f and t_8b termcap options are not set by default. * Using negative index in strcharpart(). * Warnings reported by cppcheck. * synIDattr() does not respect 'guicolors'. * strcharpart() does not work properly with some multi-byte characters. * The old regexp engine doesn't handle character classes correctly. * Compiled-in colors do not match rgb.txt.- Updated to revision 1778, fixes the following problems * When using complete() it may set 'modified' even though nothing was inserted. * When using feedkeys() in a timer the inserted characters are not used right away. * Undo options are not together in the options window. * Arguments of setqflist() are not checked properly. * No "closed", "errors" and "encoding" attribute on Python output. * Cannot use true color in the terminal. * Newly added features can escape the sandbox. * When using the term truecolor feature, the t_8f and t_8b termcap options are not set by default.- Updated to revision 1754, fixes the following problems * When a buffer gets updated while in command line mode, the screen may be messed up. * Crash when 'tagstack' is off. (Dominique Pelle) * When adding to the quickfix list the current position is reset. * "noinsert" in 'completeopt' is sometimes ignored * syntax not set when using ":buf" and 'filetype' set manually- Updated to revision 1749, fixes the following problems * Cannot detect a crash in tests when caused by garbagecollect(). * The help for functions require a space after the "(". * The Perl interface cannot use 'print' operator for writing directly in standard IO. * It is not easy to get a character out of a string. * Python: turns partial into simple funcref. * Folds may close when using autocomplete. * Test fails when not using utf-8. * It is not possible to only see part of the message history. It is not possible to clear messages. * Count for ":messages" depends on number of lines. * syn-cchar defined with matchadd() does not appear if there are no other syntax definitions which matches buffer text. * Not testing utf-8 characters. * strgetchar() does not work correctly. * Clang warns for uninitialzed variable. (Michael Jarvis) * Python: Converting a sequence may leak memory. * Memory leak in Perl. * Coverity: missing check for NULL pointer. * "gD" does not find match in first column of first line. * When using GTK 3.20 there are a few warnings.- Updated to revision 1726, fixes the following problems * Crash when calling garbagecollect() after starting a job. * When using try/catch in 'tabline' it is still considered an error and the tabline will be disabled. * Tabline test fails in GUI. * Compiler errors for non-ANSI compilers. * ANSI compiler complains about string length.- Updated to revision 1721, fixes the following problems * Leaking memory when opening a channel fails. * Coverity: not using return value of set_ref_in_item(). * Leaking memory when there is a cycle involving a job and a partial. * Tests fail without the job feature.- Updated to revision 1716, fixes the following problems * When using try/catch in 'statusline' it is still considered an error and the status line will be disabled. * For plugins in packages, plugin authors need to take care of all dependencies. * GTK GUI doesn't work on Wayland. * Non-GUI specific settings in the gvimrc_example file. * Double free when a partial is in a cycle with a list or dict. * 'autochdir' doesn't work for the first file.- Updated to revision 1710, fixes the following problems * feedkeys('i', 'x') gets stuck, waits for a character to be typed. * Building the Perl interface gives compiler warnings. * ":syn reset" clears the effect ":syn iskeyword". (James McCoy) * When using :stopinsert in a silent mapping the "INSERT" message isn't cleared. * Display problems when the 'ambiwidth' and 'emoji' options are not set properly or the terminal doesn't behave as expected. * :packadd does not work the same when used early or late. * Using freed memory when parsing 'printoptions' fails. * Using freed memory with "wincmd p". (Dominique Pelle) * Cannot use empty dictionary key, even though it can be useful. * New regexp engine does not work properly with EBCDIC. * Not all output of an external command is read.- Updated to revision 1691, fixes the following problems * When reading JSON from a channel all readahead is used. * channel_get_all() does multiple allocations. * When writing buffer lines to a pipe Vim may block. * Completion doesn't work well for a variable containing "#". * When help exists in multiple languages, adding @ab while "ab" is the default help language is unnecessary. * The Dvorak support is a bit difficult to install. * The justify plugin has to be copied or sourced to be used. * The editexisting plugin has to be copied or sourced to be used. * The swapmous plugin has to be copied or sourced to be used. * The shellmenu plugin has to be copied or sourced to be used. * A reference to the removed file_select plugin remains. * Coverity: copying value of v_lock without initializing it. * Coverity warns for not checking name length (false positive). * Coverity warns for fixed size buffer length (false positive). * Coverity: no check for NULL. * README text is slightly outdated. * There is no easy way to get all the information about a match. * When running tests $HOME/.viminfo is written. * The channel close_cb option does not work. * MzScheme does not support partial. * Ruby interface has inconsistent coding style. * Can't compile with the conceal feature but without multi-byte. * When switching to a new buffer and an autocommand applies syntax highlighting an ml_get error may occur.- Updated to revision 1665, fixes the following problems * When 'F' is in 'shortmess' the prompt for the encryption key isn't displayed. * When binding a function to a dict the reference count is wrong. * Invoking garbage collection may cause a double free. * Crash when an autocommand changes a quickfix list. * Handling emoji characters as full width has problems with backwards compatibility. * Terminating file name has side effects. * Using string() on a partial that exists in the dictionary it binds results in an error. * When a dict contains a partial it can't be redefined as a function. * Using Python vim.bindeval() on a partial doesn't work. * Using freed memory after setqflist() and ":caddbuffer". * Compiler has a problem copying a string into di_key[]. * The matchit plugin needs to be copied to be used. * Quickfix test fails. * Old style test for fnamemodify(). * Users who loaded matchit.vim manually have to change their startup. * Crash when using expand('%:S') in a buffer without a name. * remote_expr() hangs. * Crash when using partial with a timer. * On Unix in a terminal: channel messages are not handled right away. * A plugin does not know when VimEnter autocommands were already triggered. * has('patch-7.4.1') doesn't work. * No test for special characters in channel eval command. * No test for an invalid Ex command on a channel. * Crash in :cgetexpr. * Crash when calling job_start() with a NULL string.- Updated to revision 1635, fixes the following problems * Quickfix code using memory after being freed. * Using channel timeout instead of request timeout. * Timers don't work on Unix. * Not checking for failed open(). * Memory leak when out of memory. * When starting the GUI fails a swap file is left behind. * Timer with an ":echo" command messes up display. * Although emoji characters are ambiguous width, best is to treat them as full width. * Catching exception that won't be thrown. * Having type() handle a Funcref that is or isn't a partial differently causes problems for existing scripts. * Comparing a function that exists on two dicts is not backwards compatible. * string() doesn't handle a partial. * Contents file is only for Amiga distro. * Compiler warnings for non-virtual destructor. * The versplit feature makes the code uneccessary complicated. * Can't build with small features. * Still can't build with small features. * Still quickfix test in old style. * Build fails with tiny features. * Malformed channel request causes a hang. * When a JSON message is split it isn't decoded. * Starting job with output to buffer changes options in the current buffer. * When 'fileformats' is set in the vimrc it applies to new buffers but not the initial buffer. * Emoji characters are not considered as a kind of word character. * Channel test doesn't work with Python 2.6. * Channel demo doesn't work with Python 2.6. * All Channels share the message ID, it keeps getting bigger. * Can't get info about a channel. * Trying to close file descriptor that isn't open. * Missing changes to structs. * Channel out_cb and err_cb are not tested. * 64-bit Compiler warning. * Handling emoji characters as full width has problems with backwards compatibility. * Unicode table for double width is outdated. * Compiler doesn't understand switch on all enum values. * List of test targets is outdated. * If the help tags file was removed "make install" fails. * Vertical movement after CTRL-A ends up in the wrong column. * Channel test is a bit flaky.- Updated to revision 1591, fixes the following problems * Crash when using function reference. * Using ":call dict.func()" where the function is a partial does not work. * Get E923 when using function(dict.func, [], dict). * Warning for unitinialized variable. * Partial is not recognized everywhere. * Nesting partials doesn't work. * Compiler warnings with 64 bit compiler. * Old style test for quickfix. * Combining dict and args with partial doesn't always work. * Warning for shadowed variable. * The quickfix title is truncated.- Updated to revision 1579, fixes the following problems * Passing cookie to a callback is clumsy. * Dict options with a dash are more difficult to use. * Missing update to proto file. * ":helptags ALL" crashes. * An empty list in function() causes an error. * Crash when assert_equal() runs into a NULL string. * Crash in assert_fails(). * Using CTRL-] in help on option in parentheses doesn't work. * Using old style tests for quickfix. * There is no way to avoid the message when editing a file. * No test for ":help". * Setting 'compatible' in test influences following tests. * Tests get stuck at the more prompt. * ":undo 0" does not work. * Write error of viminfo file is not handled properly. * Cannot pass "dict.Myfunc" around as a partial. * There is no way to invoke a function later or periodically.- Updated to revision 1558, fixes the following problems * Using "ever" for packages is confusing. * Specifying buffer number for channel not implemented yet. * MS-Windows job_start() closes wrong handle. * Compiler warning for unitinialized variable. * MS-Windows channel leaks file descriptor. * Using feedkeys() with an empty string disregards 'x' option. * Compiler warning for shadowed variable. * The feedkeys test has a one second delay. * Cannot re-use a channel for another job. * Too many feature flags for pipes, jobs and channels. * Selection with the mouse does not work in command line mode. * Too much code in eval.c. * Channel test is a bit flaky. * Missing job_info(). * job_start() with a list is not tested. * Channel log methods are not tested. * On Win32 escaping the command does not work properly. * GTK3: horizontal cursor movement in Visual selection not good. * Sticky type checking is more annoying than useful. * Getting a cterm highlight attribute that is not set results in the string "-1". * Two tests fail. * Cannot load packages early. * Cannot generate help tags in all doc directories. * ":colorscheme" does not use 'packpath'. * ":runtime" does not use 'packpath'. * Completion for :colorscheme does not use 'packpath'. * List of test targets incomplete. * "make install" changes the help tags file, causing it to differ from the repository. * Windows cannot be identified. * It is not easy to find out what windows display a buffer.- Switch back to GTK+2 because GTK+3 interface seems to be slower.- Updated to revision 1525, fixes the following problems * Statusline highlighting is sometimes wrong. * "J" fails if there are not enough lines. * Channel output to file not implemented yet. * Channel test is a bit flaky. * Channel with disconnected in/out/err is not supported. * Channel test: Waiting for a file to appear doesn't work. * Cannot write channel err to a buffer. * On a high resolution screen the toolbar icons are too small.- Updated to revision 1510, fixes the following problems * Crash when starting a job fails. * Keeping both a variable for a job and the channel it refers to is a hassle. * Channel test fails on AppVeyor.- Updated to revision 1506, fixes the following problems * No error message when :packadd does not find anything. * Garbage collection with an open channel is not tested. * Writing last-but-one line of buffer to a channel isn't implemented yet. * Crash when using ch_getjob(). * No test for reading last-but-one line. * When channel log is enabled get too many "looking for messages" log entries. * Job cannot read from a file.- Updated to revision 1498, fixes the following problems * ":loadplugin" is not optimal, some people find it confusing. * Not using key when result from hangul_string_convert() is NULL. * "inline" is not supported by old MSVC. * Compiler warning for unused function. * Visual-block shift breaks multi-byte characters. * No command line completion for ":packadd". * Wrong callback invoked for zero-id messages. * clr_history() does not work properly. * Crash when built with GUI but it's not active. * Cursor drawing problem with GTK 3. * Error for locked item when using json_decode().- Updated to revision 1485, fixes the following problems * When using hangulinput with utf-8 a CSI character is misintepreted. * Function arguments marked as unused while they are not. * Test_reltime is flaky, it depends on timing. * ":loadplugin" doesn't take care of ftdetect files. * No test for ":loadplugin". * Cannot add a pack direcory without loading a plugin. * "timeout" option not supported on ch_eval*(). * A one-time callback is not used for a raw channel. * Channel "err-io" value "out" is not supported. * Job input from buffer is not implemented.- Updated to revision 1474, fixes the following problems * Sort test doesn't test with "1" argument. * Channel test sometimes fails, especially on OS/X. * Coverity reports missing restore. * Missing out-of-memory check. And Coverity warning. * Can't build without the autocommand feature. * Compiler warnings without the float feature.- Updated to revision 1467, fixes the following problems * Error when reading fails uses wrong errno. Keeping channel open after job stops results in test failing. * The "out-io" option for jobs is not implemented yet. * When encoding JSON, turning NaN and Infinity into null without giving an error is not useful. * JSON encoding doesn't handle surrogate pair. * Can't get buffer number of a channel. * Using empty name instead of no name for channel buffer. * Memory corruption when 'encoding' is not utf-8. * Crash when using json_decode(). * Memory leak when using ch_read(). * JSON tests fail if 'encoding' is not utf-8. * Json encoding still fails when encoding is not utf-8. * Vim hangs when a channel has a callback but isn't referenced. * Test 87 fails with Python 3.5. * Opening a channel with select() is not done properly. * When a JSON channel has a callback it may never be cleared. * When the argument of sort() is zero or empty it fails.- Updated to revision 1421, fixes the following problems * When calling ch_close() the close callback is invoked, even though the docs say it isn't. * Using "u_char" intead of "char_u", which doesn't work everywhere. * Tests slowed down because of the "not a terminal" warning. * May free a channel when a callback may need to be invoked.- Disable sniff support, its unmaintained.- Updated to revision 1410, fixes the following problems * The close-cb option is not implemented yet. * Perl eval doesn't work properly on 64-bit big-endian machine. * Having 'autochdir' set during startup and using diff mode doesn't work. * GTK 3 is not supported. * Completion menu flickers. * Leaking memory in cs_print_tags_priv(). * json_encode() does not handle NaN and inf properly. * Leaking memory in cscope interface.- Updated to revision 1397, fixes the following problems * When the Job exit callback is invoked, the job may be freed too soon. * Starting a job hangs in the GUI. * Can't sort inside a sort function.- Drop vim-7.1.314-CVE-2009-0316-debian.patch, Python 2.7 has the appropriate fix.- Updated to revision 1385, fixes the following problems * Job and channel options parsing is scattered. * Channel test ch_sendexpr() times out. * Can't remove a callback with ch_setoptions(). * Channels don't have a queue for stderr. * X11 GUI callbacks don't specify the part of the channel. * Channel read implementation is incomplete. * Calling a Vim function over a channel requires turning the arguments into a string. * ch_setoptions() cannot set all options. * Can't change job settings after it started. * The job exit callback is not implemented. * Can't get the job of a channel. * It is not easy to use a set of plugins and their dependencies.- Updated to revision 1353, fixes the following problems * Compiler warnings in build with -O2. * When there is any error Vim will use a non-zero exit code. * When the test server fails to start Vim hangs. * When the port isn't opened yet when ch_open() is called it may fail instead of waiting for the specified time. * The test script lists all functions before executing them.- Updated to revision 1345, fixes the following problems * Crash when using channel that failed to open. * Crash when closing the channel in a callback. * Channel test fails on non-darwin builds. * Channel NL mode is not supported yet. * It's difficult to add more arguments to ch_sendraw() and ch_sendexpr(). * Can't compile with +job but without +channel.- Updated to revision 1328, fixes the following problems * Cursor changes column with up motion when the matchparen plugin saves and restores the cursor position. (Martin Kunev) * "\%1l^#.*" does not match on a line starting with "#". * Channel with pipes doesn't work in GUI. * Crash when unletting the variable that holds the channel in a callback function. * Can't compile with +job but without +channel.- Updated to revision 1294, fixes the following problems * copy() and deepcopy() fail with special variables. * Encoding {'key':} to JSON doesn't give an error. * assert_false(v:false) reports an error. * When jsonencode() fails it still returns something. * jsonencode() is not producing strict JSON. * Crash when evaluating the pattern of ":catch" causes an error. * The job feature isn't available on MS-Windows. * ch_open() with a timeout doesn't work correctly. * ch_sendexpr() does not use JS encoding. - Remove vim-7.3-diff_check.patch- Updated to revision 1194, fixes the following problems * New lines in the viminfo file are dropped. * Old style tests for the argument list. * Generated function prototypes still have __ARGS(). * Wrong argument to assert_exception() causes a crash. * Illegal memory access when using :copen and :cclose. * When running gvim in the foreground some icons are missing. * Recognizing does not work when the language is Turkish. * Using searchpair() with a skip expression that uses syntax highlighting sometimes doesn't work. * Cannot define keyword characters for a syntax file. * Can't sort on floating point numbers. * Default features are conservative. * Conflict for "chartab". * Using the local value of 'errorformat' causes more problems than it solves. * 'langmap' applies to the first character typed in Select mode. * Langmap test fails with normal build. * Autocommands triggered by quickfix cannot always get the current title value. * No support for JSON. * Build with normal features fails. * Coverity warns for NULL pointer and ignoring return value. * type() does not work for v:true, v:none, etc. * Automatically generated function prototypes use __ARGS. * No error for jsondecode('"'). * ":argadd" without argument is supposed to add the current buffer name to the arglist. * Missing error number in MzScheme. * Expressions "0 + v:true" and "'' . v:true" cause an error. * No tests for "is" and "isnot" with the new variables. * This doesn't give the right result: eval(string(v:true)). * No test for new behavior of v:true et al. * The +channel feature is not in :version output. * empty() doesn't work for the new special variables. * test_writefile and test_viml do not delete the tempfile. * Crash with invalid argument to glob2regpat(). * free_tv() can't handle special variables. * Error messages for security context are hard to translate. * The channel feature isn't working yet. * Can't build with FEAT_EVAL but without FEAT_MBYTE. * Compiler warning for not using return value of fwrite().- Updated to revision 1130, fixes the following problems * Repeating CTRL-A doesn't work. * No tests for :hardcopy and related options. * When making a change while need_wait_return is set there is a two second delay. * With 'rightleft' and concealing the cursor may move to the wrong position. * Vim can create a directory but not delete it. * When using ":next" with an illegal file name no error is reported. * Using {ns} in variable name does not work. (lilydjwg) * delete() does not work well with symbolic links. * delete(x, 'rf') does not delete files starting with a dot. * No longer get "." and ".." in directory list. * argidx() has a wrong value after ":%argdelete". (Yegappan Lakshmanan) * delete(x, 'rf') fails if a directory is empty. (Lcd) * Using ":argadd" when there are no arguments results in the second argument to be the current one. (Yegappan Lakshmanan) * There is no perleval(). * Can only get the directory of the current window. * Python None value can't be converted to a Vim value. * Memory leak in :vimgrep.- Updated to revision 1087, fixes the following problems * Wrong way to check for unletting internal variables. * The Tcl interface can't be loaded dynamically on Unix. * Crash when using an invalid command. * CTRL-A does not work well in right-left mode. * Using "." to repeat CTRL-A in Visual mode increments the wrong numbers. * The CTRL-A and CTRL-X commands do not update the '[ and '] marks. * Crash with an extremely long buffer name. * CTRL-A and CTRL-X work badly with blockwise visual selection- Updated to revision 1066, fixes the following problems * Segfault when unletting "count". * Illegal memory access with weird syntax command. (Dominique Pelle) * Typos in the :options window. * Compiler warning for ignoring return value of fwrite(). * When a spell file has single letter compounding creating suggestions takes an awful long time.- Updated to revision 1046, fixes the following problems * The fix in patch 7.3.192 is not tested. * When a symbolic link points to a file in the root directory, the swapfile is not correct. * Vim overwrites the value of $PYTHONHOME. * The local value of 'errorformat' is not used for ":lexpr" and ":cexpr". * The column is not restored properly when the matchparen plugin is used in Insert mode and the cursor is after the end of the line. * When there is a backslash in an option ":set -=" doesn't work. * An Ex range gets adjusted for folded lines even when the range is not using line numbers. * Using "q!" when there is a modified hidden buffer does not unload the current buffer, resulting in the need to abandon it again. * g-CTRL-G shows the word count, but there is no way to get the word count in a script.- Updated to revision 1004, fixes the following problems * searchpos() always starts searching in the first column, which is not what some people expect. (Brett Stahlman) * Leaking memory when hash_add() fails. Coverity error 99126.- Updated to revision 979, fixes the following problems * When pasting on the command line line breaks result in literal characters. This makes pasting a long file name difficult. * When using :diffsplit the cursor jumps to the first line. * Using ":sort" on a very big file sometimes causes text to be corrupted. (John Beckett) * test_cdo fails when using another language than English. * When changing the crypt key the blocks read from disk are not decrypted.- Updated to revision 972, fixes the following problems * Test 87 doesn't work in a shadow directory. * Configure doesn't work with a space in a path. * test86 and test87 are flaky in Appveyor. * Rare crash in getvcol(). (Timo Mihaljov) * The asin() function can't be used. * Memory leak when there is an error in setting an option.- Updated to revision 963, fixes the following problems * Crash when dragging with the mouse. * Segfault reading unitialized memory. * X11 and GTK have moure mouse buttons than Vim supports. * Memory leak when encountering a syntax error. * vt52 terminal codes are not correct. * There is no way to ignore case only for tag searches. * test_tagcase breaks for small builds. * Writing tests for Vim script is hard. * New style testing is incomplete. * Missing changes in source file. * Test_listchars fails with MingW. (Michael Soyka) * Can't build when the insert_expand feature is disabled. * When using 'colorcolumn' and there is a sign with a fullwidth character the highlighting is wrong. (Andrew Stewart) * v:errors is not initialized. * Sorting number strings does not work as expected. (Luc Hermitte) * 'lispwords' is tested in the old way. * When a test script navigates to another buffer the .res file is created with the wrong name. * When using Lua there may be a crash. (issue #468) * Vim doesn't recognize .pl6 and .pod6 files. * A few more file name extensions not recognized. * Test_tagcase fails when using another language than English. * Vim checks if the directory "$TMPDIR" exists. * When setting 'term' the clipboard ownership is lost. * Test107 fails in some circunstances. * Cannot run the tests with gvim. Cannot run individual new stests. * test_listlbr_utf8 sometimes fails.- Updated to revision 935, fixes the following problems * Test 94 fails on some systems. * test_utf8 has confusing dummy command. * Crash when using longest completion match.- Updated to revision 930, fixes the following problems * When a BufLeave autocommand changes folding in a way it syncs undo, undo can be corrupted. * Python interface can produce error "vim.message' object has no attribute 'isatty'". * Libraries for dynamically loading interfaces can only be defined at compile time. * Compiler complains about type punned pointer. * t_Ce and t_Cs are documented but not supported. (Hirohito Higashi) * Wrong indenting for C++ constructor. * No utf-8 support for the hangul input feature. * New compiler warning: logical-not-parentheses * When removing from 'path' and then adding, a comma may go missing. (Malcolm Rowe) * When running out of memory while copying a dict memory may be freed twice. (ZyX) * Compiler warning for comparing signed and unsigned. * A digit in an option name has problems. * The dll options are not in the options window. * The rubydll option is not in the options window. * Missing proto file update. (Randall W. Morris) * Leaking memory with ":helpt {dir-not-exists}". * Prototypes not always generated. * User may yank or put using the register being recorded in. * Completing the longest match doesn't work properly with multi-byte characters. * Ruby crashes when there is a runtime error. * A clientserver message interrupts handling keys of a mapping. * "gv" after paste selects one character less if 'selection' is "exclusive". * MS-Windows: Most users appear not to like the window border. - Refresh vim-7.3-sh_is_bash.patch- Updated to revision 898, fixes the following problems * Build failure when using dynamic python but not python3. * Indentation of array initializer is wrong. * On MS-Windows the iconv DLL may have a different name. * C indenting is wrong below a "case (foo):" * vimrun.exe is picky about the number of spaces before -s. * Custom command line completion does not work for a command containing digits. * Editing a URL, which netrw should handle, doesn't work. * Freeze and crash when there is a sleep in a remote command. (Karl Yngve Lervåg) * The 'fixendofline' option is set on with ":edit".- Updated to revision 889, fixes the following problems * Crash when changing the 'tags' option from a remote command. (Benjamin Fritz) * 'smarttab' is also effective when 'paste' is enabled. (Alexander Monakov) * May get into an invalid state when using getchar() in an expression mapping. * Vim leaks memory, when 'wildignore' filters out all matches. * Compiler warning for unused variable. (Tony Mechelynck) * Not obvious how to contribute. * ":find" sometimes fails. (Excanoe) * Coverity error for clearing only one byte of struct. * Can't see line numbers in nested function calls. * Test 49 fails. * When leaving the command line window with CTRL-C while a completion menu is displayed the menu isn't removed. * Block-mode replace works characterwise instead of blockwise after column 147. (Issue #422) * When doing an upwards search without wildcards the search fails if the initial directory doesn't exist. * Using uninitialized memory for regexp with back reference. (Dominique Pelle) * The OptionSet autocommands are not triggered from setwinvar(). * Triggering OptionSet from setwinvar() isn't tested.- Updated apparmor.vim (taken from AppArmor 2.10.0) * add support for the "ib" and "mpls" network keywords- Updated to revision 865, fixes the following problems * GTK: font glitches for combining characters * "zt" still doesn't work well with filler lines. (Gary Johnson) * Dragging the current tab with the mouse doesn't work properly. * It's a bit clumsy to execute a command on a list of matches. * Vim doesn't recognize all htmldjango files. * Filetype detection is outdated. * pango_shape_full() is not always available. * Still problems with pango_shape_full() not available. * plines_nofill() used without the diff feature.- Updated to revision 854, fixes the following problems * When '#' is in 'isident' the is# comparator doesn't work. * Compiler warning for possible loss of data. * "vi)d" may leave a character behind. * CTRL-A on hex number in Visual block mode is incorrect. * Moving the cursor in Insert mode starts new undo sequence. * does not show up. * Saving and restoring the console buffer does not work properly. * "zt" in diff mode does not always work properly. (Gary Johnson) * Missing information about runtime files.- Updated to revision 843, fixes the following problems * Xxd doesn't have a license notice. * The ruler shows "Bot" even when there are only filler lines missing. (Gary Johnson) * CTRL-A in Visual mode doesn't work properly with "alpha" in 'nrformat'. * After CTRL-V CTRL-A mode isn't updated. (Hirohito Higashi) * With a sequence of commands using buffers in diff mode E749 is given. (itchyny) * Invalid memory access when using "exe 'sc'". * Gcc sanitizer complains about using a NULL pointer to memmove(). * It is not possible to save and restore character search state. * Illegal memory access with "sy match a fold". * Invalid memory access when doing ":call g:". * Invalid memory access when doing ":fun X(". * Invalid memory access in file_pat_to_reg_pat(). * 'linebreak' breaks c% if the last Visual selection was block. (Chris Morganiser, Issue 389) * Invalid memory access in file_pat_to_reg_pat. * Cursor moves after CTRL-A on alphabetic character. * Invalid memory access for ":syn keyword x a[". * Crash when using "syn keyword x c". (Dominique Pelle) * Crash when clicking in beval balloon. (Travis Lebsock) * Resetting 'encoding' when doing ":set all&" causes problems. (Bjorn Linse) Display is not updated. * When expanding `=expr` on the command line and encountering an error, the command is executed anyway. * $HOME in `=$HOME . '/.vimrc'` is expanded too early. * More side effects of ":set all&" are missing. (Björn Linse) * gettabvar() doesn't work after Vim start. (Szymon Wrozynski) * Comparing utf-8 sequences does not handle different byte sizes correctly. * Can't compile without the crypt feature. (John Marriott) - Refresh vim-7.3-diff_check.patch- Updated to revision 803, fixes the following problems * Repeating a change in Visual mode does not work as expected. (Urtica Dioica) * Accessing memory before an allocated block. * Using freed memory when triggering CmdUndefined autocommands. * Test for ":diffoff" doesn't catch all potential problems. * Using "A" in Visual mode while 'linebreak' is set is not tested. * C indent does not support C11 raw strings. (Mark Lodato)- Updated to revision 797, fixes the following problems * Using freed memory and crash. (Dominique Pellej) * Test fails when the autochdir feature is not available. Test output contains the test script. * The buffer list can be very long. * Can only conceal text by defining syntax items. * Can't specify when not to ring the bell. * The 'fixeol' option is not copied to a new window. * Warning from 64 bit compiler. * Crash when using more lines for the command line than 'maxcombine'.- Updated to revision 788, fixes the following problems * CTRL-A and CTRL-X in Visual mode do not always work well. * :diffoff only works properly once. * Behavior of :diffoff is not tested. * Background color response with transparency is not ignored. * Search does not handle multi-byte character at the start position correctly. * 'langmap' is used in command-line mode when checking for mappings. Issue 376. * When using the CompleteDone autocommand event it's difficult to get to the completed items. * It is not possible to avoid using the first item of completion. * Equivalence class for 'd' does not work correctly. * Coverity warns for uninitialized variable. * Using CTRL-A in a line without a number moves the cursor. May cause a crash when at the start of the line. (Urtica Dioica) * Compiler complains about uninitialized variable and clobbered variables. * line2byte() returns one less when 'bin' and 'noeol' are set. * Still a few problems with CTRL-A and CTRL-X in Visual mode. * copy_chars() and copy_spaces() are inefficient. * Using both "noinsert" and "noselect" in 'completeopt' does not work properly. * On some systems automatically adding the missing EOL causes problems. Setting 'binary' has too many side effects. * It is not possible for a plugin to adjust to a changed setting. * snprintf() isn't available everywhere.- Updated to revision 763, fixes the following problems * Appending in Visual mode with 'linebreak' set does not work properly. Also when 'selection' is "exclusive". (Ingo Karkat) * Using CTRL-A in Visual mode does not work well. (Gary Johnson) * It is not easy to count the number of characters. * Cannot detect the background color of a terminal. * When 'conceallevel' is 1 and quitting the command-line window with CTRL-C the first character ':' is erased. * Spelling mistakes are not displayed after ":syn spell". * The request-background termcode implementation is incomplete. * Comment for may_req_bg_color() is wrong. (Christ van Willegen)- Updated to revision 752, fixes the following problems * When setting the crypt key and using a swap file, text may be encrypted twice or unencrypted text remains in the swap file. * The tab menu shows "Close tab" even when it doesn't work. * The cursor line is not always updated for the "O" command. * ml_get error when using "p" in a Visual selection in the last line. * Wrong argument for sizeof(). * In a string "\U" only takes 4 digits, while after CTRL-V U eight digits can be used. * ":1quit" works like ":.quit". (Bohr Shaw) * When using += with ":set" a trailing comma is not recognized. (Issue 365) * Cannot specify a vertical split when loading a buffer for a quickfix command. * "p" in Visual mode causes an unexpected line split. * No tests for Ruby and Perl. * The entries added by matchaddpos() are returned by getmatches() but can't be set with setmatches(). (Lcd) * ":[count]tag" is not always working. (cs86661) * ":cnext" may jump to the wrong column when setting 'virtualedit=all' * For some options two consecutive commas are OK. (Nikolay Pavlov) * It is not obvious how to enable the address sanitizer. * Unicode 8.0 not supported.- Make Perl support dynamic bsc#804070- Updated to revision 729, fixes the following problems * Illegal memory access when there are illegal bytes. * ":let list += list" can change a locked list. * Autocommands triggered by quickfix cannot get the current title value. * Overflow when adding MAXCOL to a pointer. * When 'list' is set Visual mode does not highlight anything in empty lines. (mgaleski) * 0x202f is not recognized as a non-breaking space character. * For indenting, finding the C++ baseclass can be slow. * ":call setreg('"', [])" reports an internal error. * Occasional crash with 'list' set.- Updated to revision 712, fixes the following problems * Out-of-bounds read, dectected by Coverity. * Not freeing memory when encountering an error. * The filename used for ":profile" must be given literally. * Various problems with locked and fixed lists and dictionaries. * E315 when trying to delete a fold. (Yutao Yuan) * Fold can't be opened after ":move". (Ein Brown) * Compiler warning for using uninitialized variable. (Yasuhiro Matsumoto) * Joining an empty list does uneccessary work. * Compiler warning for start_dir unused when building unittests. * Searching for a character matches an illegal byte and causes invalid memory access. (Dominique Pelle) * Can't build with Ruby 2.2. * Window drawn wrong when 'laststatus' is zero and there is a command-line window. (Yclept Nemo) * Undo files can have their executable bit set. * gettext() is called too often. * ":tabmove" does not work as documented. * It is not possible to make spaces visibible in list mode.- Updated to revision 694, fixes the following problems * When starting several Vim instances in diff mode, the temp files used may not be unique. (Issue 353) * When there are illegal utf-8 characters the old regexp engine may go past the end of a string. * "zr" and "zm" do not take a count. * There is no way to use a different in Replace mode for a terminal. * When "$" is in 'cpo' the popup menu isn't undrawn correctly. (Issue 166) * Memory access errors when changing indent in Ex mode. Also missing redraw when using CTRL-U. (Knil Ino) * Can't build with MzScheme. * Session file is not correct when there are multiple tab pages. * Running tests changes the .viminfo file.- Updated to revision 683, fixes the following problems * When using --remote the directory may end up being wrong. * CTRL-W in Insert mode does not work well for multi-byte characters. * MS-Windows: When Vim is minimized the window height is computed incorrectly. * The search highlighting and match highlighting replaces the cursorline highlighting, this doesn't look good. * Typo in the vimtutor command.- Updated to revision 676, fixes the following problems * When 'ruler' is set the preferred column is reset. (Issue 339) * Using freed memory when g:colors_name is changed in the colors script. (oni-link) * Using "0 CTRL-D" in Insert mode may have CursorHoldI interfere. (Gary Johnson) * When 'M' is in the 'cpo' option then selecting a text object in parenthesis does not work correctly. * When using netbeans a buffer is not found in another tab. * When 'compatible' is reset 'numberwidth' is set to 4, but the effect doesn't show until a change is made. * 'linebreak' does not work properly with multi-byte characters. * There is a chance that Vim may lock up. * 'colorcolumn' isn't drawn in a closed fold while 'cursorcolumn' is. (Carlos Pita) * Can't use a glob pattern as a regexp pattern. * When netbeans is active the sign column always shows up. * Using 'cindent' for Javascript is less than perfect. * Warning for shadowing a variable. * When completing a shell command, directories in the current directory are not listed. * The first syntax entry gets sequence number zero, which doesn't work. (Clinton McKay) * Missing changes in one file. * When a FileReadPost autocommand moves the cursor inside a line it gets moved back. - Refresh vim73-no-static-libpython.patch- Updated to revision 658, fixes the following problems * The tabline menu was using ":999tabnew" which is now invalid. * When using "gf" escaped spaces are not handled. * Stratus VOS doesn't have sync(). * When splitting the window in a BufAdd autocommand while still in the first, empty buffer the window count is wrong. * ":bufdo" may start at a deleted buffer. * Compiler complains about ignoring return value of fwrite(). (Michael Jarvis) * Configure check may fail because the dl library is not used. * Can't match "%>80v" properly for multi-byte characters. * Xxd lacks a few features. * Insert mode completion with complete() may have CTRL-L work like CTRL-P. * glob() and globpath() cannot include links to non-existing files. (Charles Campbell) * Text deleted by "dit" depends on indent of closing tag. (Jan Parthey) * Missing changes for glob() in one file. * Compiler warnings for pointer mismatch. * 'formatexpr' is evaluated too often.- Updated to revision 640, fixes the following problems * When using Insert mode completion combined with autocommands the redo command may not work. * The default conceal character is documented to be a space but it's initially a dash. (Christian Brabandt) * 7.4.592 breaks the netrw plugin, because the autocommands are skipped. * Marks are not restored after redo + undo. * If no NL or CR is found in the first block of a file then the 'fileformat' may be set to "mac". (Issue 77) * A search with end offset gets stuck at end of file. (Gary Johnson) * Incorrectly read the number of buffer for which an autocommand should be registered. * Can't build with Lua 5.3 on Windows. * Combination of linebreak and conceal doesn't work well. * After deleting characters in Insert mode such that lines are joined undo does not work properly. (issue 324)- Updated to revision 629, fixes the following problems * For complicated list and dict use the garbage collector can run out of stack space. * Syntax error. * The NFA engine does not implement the 'redrawtime' time limit. * Vim hangs when freeing a lot of objects. * Wrong ":argdo" range does not cause an error. * luaV_setref() is missing a return statement. (Ozaki Kiichi) * luaV_setref() not returning the correct value. * Compiler warning for unitinialized variable. (Tony Mechelynck) * Returning 1 in the wrong function. (Raymond Ko) * Compiler warning for unused argument. * Crash with pattern: \(\)\{80000} (Dominique Pelle) * May leak memory or crash when vim_realloc() returns NULL. * Possible NULL pointer dereference. * The last screen cell is not updated. * Compiler warning for variable might be clobbered by longjmp. * Coverity warning for Out-of-bounds read. - Remove vim-speedup-gc.patch, fixed upstream- Updated to revision 608, fixes the following problems * Compiler warnings for unitinialized variables. (John Little) * Can't match "%>80v" properly. (Axel Bender) * Range for :bdelete does not work. (Ronald Schild) * Parallel building of the documentation html files is not reliable. * Conceal does not work properly with 'linebreak'. (cs86661) * ":0argedit foo" puts the new argument in the second place instead of the first. * Using ctrl_x_mode as if it contains flags. * test_listlbr_utf8 fails when the conceal feature is not available. * When doing ":e foobar" when already editing "foobar" and 'buftype' is "nofile" the buffer is cleared. (Xavier de Gaye) * Crash when searching for "x\{0,90000}". (Dominique Pelle) * Using a block delete while 'breakindent' is set does not work properly. * The test_command_count test fails when using Japanese. * Tiny build doesn't compile. (Ike Devolder) * Cannot change the result of systemlist(). * Out-of-memory error. * Memory wasted in struct because of aligning. * It is not possible to have feedkeys() insert characters. * ":set" does not accept hex numbers as documented. * 'foldcolumn' may be set such that it fills the whole window, not leaving space for text. * Running tests changes viminfo. * The # register is not writable, it cannot be restored after jumping around. * May crash when using a small window. * Compiler warnings for unused variables.- Add vim-speedup-gc.patch to improve garbage collection performance. Based on https://github.com/neovim/neovim/pull/1761 (boo#899747)- Modify vim-7.3-filetype_changes.patch to expand tabs when editing * .changes files (bnc#900839)- Update suse.vimrc to stop remembering file positions for git commit cases. This fixes bnc#538369 and based on msys commits 1ef258e and 65ffc90.- Updated to revision 580, fixes the following problems * Ex range handling is wrong for buffer-local user commands. * Segfault with wide screen and error in 'rulerformat'. (Ingo Karkat) * No test for replacing on a tab in Virtual replace mode. * FEAT_OSFILETYPE is used even though it's never defined. * Ranges for arguments, buffers, tabs, etc. are not checked to be valid but limited to the maximum. This can cause the wrong thing to happen. * :argdo, :bufdo, :windo and :tabdo don't take a range. * Non-ascii vertical separater characters are always redrawn. * Giving an error for ":0wincmd w" is a problem for some plugins. * Having CTRL-C interrupt or not does not check the mode of the mapping. (Ingo Karkat) * Building with dynamic library does not work for Ruby 2.2.0 * Can't build with tiny features. (Ike Devolder) * Address type of :wincmd depends on the argument. * Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat) * No error for eval('$'). * Unicode character properties are outdated. * Redrawing problem with 'relativenumber' and 'linebreak'. * Matching with a virtual column has a lot of overhead on very long lines. (Issue 310) * Using getcurpos() after "$" in an empty line returns a negative number. * Wrong cursor positioning when 'linebreak' is set and lines wrap. * ":52wincmd v" still gives an invalid range error. (Charles Campbell)- Updated to revision 560, fixes the following problems * Tests fail with small features plus Python. * Crash when computing buffer count. Problem with range for user commands. Line range wrong in Visual area. * Cannot build with tiny and small features. (Taro Muraoka) * Crash when doing a range assign. * Using a range for window and buffer commands has a few problems. Cannot specify the type of range for a user command. * Since patch 7.4.232 "1,3s/\n//" joins two lines instead of three. (Eliseo Martínez) Issue 287 * Warnings for unused arguments when compiling with a combination of features. * Highlighting for multi-line matches is not correct. * Repeated use of vim_snprintf() with a number. * Using "vit" does not select a multi-byte character at the end correctly. * Function name not recognized correctly when inside a function. * curs_rows() function is always called with the second argument false. * "ygn" may yank too much. (Fritzophrenic) Issue 295. * Langmap applies to Insert mode expression mappings. * Various small issues. * Missing part of patch 7.4.519. * test_close_count may fail for some combination of features. * Failed commands in Python interface not handled correctly. * One more small issue. * When the X server restarts Vim may get stuck. * Appending a block in the middle of a tab does not work correctly when virtualedit is set. * Memory leak using :wviminfo. Issue 296.- use SUSE LINUX GmbH everywhere- Updated to revision 537, fixes the following problems * With a wrapping line the cursor may not end up in the right place. (Nazri Ramliy) * Using status line height in width computations. * Crash when using syntax highlighting. * Sun PCK locale is not recognzed. * When using "vep" a mark is moved to the next line. (Maxi Padulo, Issue 283) * Specifying wrong buffer size for GetLongPathName(). * When the X11 server is stopped and restarted, while Vim is kept in the background, copy/paste no longer works. (Issue 203) * When using ":ownsyntax" spell checking is messed up. (Issue 78) * map() leaks memory when there is an error in the expression. * matchstr() fails on long text. Daniel Hahler) * Still confusing regexp failure and NFA_TOO_EXPENSIVE. * Crash when using matchadd() (Yasuhiro Matsumoto) * No test for what 7.4.517 fixes. * Many commands take a count or range that is not using line numbers. * Comments about parsing an Ex command are wrong. * When using 'incsearch' "2/pattern/e" highlights the first match. * ":hardcopy" leaks memory in case of errors. * Warnings when compiling if_ruby.c. * Can't build with tiny features. * Test 63 fails when using a black&white terminal. * Value of v:hlsearch reflects an internal variable.- Updated to revision 516, fixes the following problems * When generating ja.sjis.po the header is not correctly adjusted. * Users are not aware their encryption is weak. * "-fwrapv" argument breaks use of cproto. * Generating proto for if_ruby.c uses type not defined elsewhere. * Crash because reference count is wrong for list returned by getreg(). * Memory access error. (Dominique Pelle) * In a help buffer the global 'foldmethod' is used. (Paul Marshall) * Completing a function name containing a # does not work. Issue 253.- Updated to revision 507, fixes the following problems * Setting the local value of 'backupcopy' empty gives an error. (Peter Mattern) * Compiler warning. * Crash when expanding a very long string. * CTRL-W } does not open preview window. (Erik Falor) * 'linebreak' does not work well together with Visual mode. * Issue 26: CTRL-C does not interrupt after it was mapped and then unmapped. * The "precedes" entry in 'listchar' will be drawn when 'showbreak is set and list is not. * Cursor movement is incorrect when there is a number column/sign/fold column and 'sbr' is displayed. * Can't compile on a system where Xutf8SetWMProperties() is not in the X11 library. Issue 265. * When using ":%diffput" and the other file is empty an extra empty line remains. * Using byte length instead of character length for 'showbreak'. * When 'balloonexpr' results in a list, the text has a trailing newline. (Lcd) * A 0x80 byte is not handled correctly in abbreviations. * Abbreviations don't work. (Toothpik) * Check for writing to a yank register is wrong. * ":sign jump" may use another window even though the file is already edited in the current window. * test_mapping fails for some people. * Cursor movement still wrong when 'lbr' is set and there is a number column. (Hirohito Higashi) * Cannot specify the buffer to use for "do" and "dp", making them useless for three-way diff. * When winrestview() has a negative "topline" value there are display errors. * In Insert mode, after inserting a newline that inserts a comment leader, CTRL-O moves to the right. (ZyX) Issue 57. * A TextChanged autocommand is triggered when saving a file. (William Gardner) * Cursor shape is wrong after a CompleteDone autocommand. * XPM isn't used correctly in the Cygwin Makefile. * With some regexp patterns the NFA engine uses many states and becomes very slow. To the user it looks like Vim freezes. * substitute() can be slow with long strings. * Test 72 still fails once in a while. * Typo in file pattern. * Language mapping also applies to mapped characters. * Cannot append a list of lines to a file.- Updated apparmor.vim (taken from AppArmor 2.9.0) * add support for 'hat' keyword * fix highlighting of comments in alias and link rulesvim-plugin-matchitvim-plugin-nginxh01-ch3c 1773307207  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx{|}~                         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  9.2.0110-150500.20.43.11.13.29.2.0110 1.13.29.2.0110  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeeefffeeeeeggeehhhhheeeiiiijklmnlopoqqorlsttsulvwlxxxxxxyyyzzzzx{{x|x}l~~~llllllllllREADME.txtRstFold.vimada.vimadacomplete.vimbitbake.vimcargocargo.vimquickfix.vimccomplete.vimclojurecomplete.vimcontext.vimcontextcomplete.vimcsscomplete.vimdecada.vimdistjson.vimman.vimvim.vimvim9.vimvimindent.vimfreebasic.vimgetscript.vimgnat.vimgzip.vimhare.vimhaskellcomplete.vimhcl.vimhtmlcomplete.vimhtmlfold.vimjavaformat.vimjavascriptcomplete.vimmodula2.vimpaste.vimphpcomplete.vimpython.vimpython3complete.vimpythoncomplete.vimracket.vimrubycomplete.vimrustrust.vimdebugging.vimrustfmt.vimspellfile.vimspotbugs.vimsqlcomplete.vimsyntaxcomplete.vimtar.vimtohtml.vimtutor.vimtypeset.vimtypst.vimvimball.vimvimcomplete.vimvimgoto.vimxmlhtml32.vimhtml401f.vimhtml401s.vimhtml401t.vimhtml40f.vimhtml40s.vimhtml40t.vimxhtml10f.vimxhtml10s.vimxhtml10t.vimxhtml11.vimxsd.vimxsl.vimxmlcomplete.vimxmlformat.vimzip.vimREADME.txtblue.vimcatppuccin.vimdarkblue.vimdefault.vimdelek.vimdesert.vimelflord.vimevening.vimhabamax.vimindustry.vimkoehler.vimlistscsscolors.vimlunaperche.vimmorning.vimmurphy.vimpablo.vimpeachpuff.vimquiet.vimretrobox.vimron.vimshine.vimslate.vimsorbet.vimtoolscheck_colors.vimtorte.vimunokai.vimwildcharm.vimzaibatsu.vimzellner.vimREADME.txtant.vimbash.vimbcc.vimbdf.vimbiome.vimcabal.vimcargo.vimcheckstyle.vimcm3.vimcontext.vimcppcheck.vimcs.vimcsslint.vimcucumber.vimdart.vimdart2js.vimdart2native.vimdartanalyser.vimdartdevc.vimdartdoc.vimdartfmt.vimdecada.vimdot.vimdotnet.vimerlang.vimeruby.vimeslint.vimfbc.vimfortran_F.vimfortran_cv.vimfortran_elf90.vimfortran_g77.vimfortran_lf95.vimfpc.vimg95.vimgawk.vimgcc.vimgfortran.vimghc.vimgjs.vimgleam_build.vimgm2.vimgnat.vimgo.vimgroff.vimhaml.vimhare.vimhp_acc.vimicc.vimicon.vimifort.vimintel.vimirix5_c.vimirix5_cpp.vimjavac.vimjest.vimjikes.vimjjs.vimjq.vimjshint.vimjsonlint.vimmake.vimmaven.vimmcs.vimmips_c.vimmipspro_c89.vimmipspro_cpp.vimmodelsim_vcom.vimmsbuild.vimmsvc.vimmypy.vimneato.vimocaml.vimonsgmls.vimpandoc.vimpbx.vimperl.vimperlcritic.vimphp.vimphpstan.vimpip_compile.vimpodchecker.vimpowershell.vimpylint.vimpyright.vimpytest.vimpyunit.vimraco.vimracomake.vimracosetup.vimracotest.vimrake.vimrhino.vimrime_deployer.vimrspec.vimrst.vimrubocop.vimruby.vimrubyunit.vimruff.vimrustc.vimsass.vimscdoc.vimse.vimshellcheck.vimsml.vimspectral.vimsplint.vimspotbugs.vimstack.vimstandard.vimstylelint.vimsvelte-check.vimtcl.vimtex.vimtidy.vimtombi.vimts-node.vimtsc.vimty.vimtypedoc.vimtypst.vimvimdoc.vimxbuild.vimxmllint.vimxmlwf.vimxo.vimyamllint.vimzig.vimzig_build.vimzig_build_exe.vimzig_test.vimzsh.vimarabic.txtautocmd.txtbuiltin.txtchange.txtchannel.txtcmdline.txtdebug.txtdebugger.txtdevelop.txtdiff.txtdigraph.txtediting.txteval.txtfarsi.txtfiletype.txtfold.txtft_ada.txtft_context.txtft_hare.txtft_mp.txtft_ps1.txtft_raku.txtft_rust.txtft_sql.txtgui.txtgui_w32.txtgui_x11.txthangulin.txthebrew.txthelp.txthelphelp.txthowto.txtif_cscop.txtif_lua.txtif_mzsch.txtif_ole.txtif_perl.txtif_pyth.txtif_ruby.txtif_sniff.txtif_tcl.txtindent.txtindex.txtinsert.txtintro.txtmap.txtmbyte.txtmessage.txtmlang.txtmotion.txtnetbeans.txtoptions.txtos_390.txtos_amiga.txtos_beos.txtos_dos.txtos_haiku.txtos_mac.txtos_mint.txtos_msdos.txtos_os2.txtos_qnx.txtos_risc.txtos_unix.txtos_vms.txtos_win32.txtpattern.txtpi_getscript.txtpi_gzip.txtpi_logipat.txtpi_netrw.txtpi_paren.txtpi_spec.txtpi_tar.txtpi_tutor.txtpi_vimball.txtpi_zip.txtpopup.txtprint.txtquickfix.txtquickref.txtquotes.txtrecover.txtremote.txtrepeat.txtrileft.txtrussian.txtscroll.txtsign.txtspell.txtsponsor.txtstarting.txtsyntax.txttabpage.txttagstagsrch.txtterm.txtterminal.txttesting.txttextprop.txttips.txttodo.txtuganda.txtundo.txtuserfunc.txtusr_01.txtusr_02.txtusr_03.txtusr_04.txtusr_05.txtusr_06.txtusr_07.txtusr_08.txtusr_09.txtusr_10.txtusr_11.txtusr_12.txtusr_20.txtusr_21.txtusr_22.txtusr_23.txtusr_24.txtusr_25.txtusr_26.txtusr_27.txtusr_28.txtusr_29.txtusr_30.txtusr_31.txtusr_32.txtusr_40.txtusr_41.txtusr_42.txtusr_43.txtusr_44.txtusr_45.txtusr_50.txtusr_51.txtusr_52.txtusr_90.txtusr_toc.txtvarious.txtversion4.txtversion5.txtversion6.txtversion7.txtversion8.txtversion9.txtvi_diff.txtvietnamese.txtvim2html.plvim9.txtvim9class.txtvisual.txtwayland.txtwindows.txtworkshop.txt8th.vimREADME.txta2ps.vimaap.vimabap.vimabaqus.vimabnf.vimada.vimalsaconf.vimant.vimantlr4.vimapache.vimarch.vimarduino.vimart.vimasciidoc.vimasm.vimaspvbs.vimastro.vimasy.vimautohotkey.vimautomake.vimautopkgtest.vimawk.vimbash.vimbasic.vimbdf.vimbicep-params.vimbicep.vimbindzone.vimbitbake.vimbp.vimbpftrace.vimbrighterscript.vimbrightscript.vimbst.vimbtm.vimbzl.vimc.vimc3.vimcabal.vimcalendar.vimcdrdaoconf.vimcedar.vimcfg.vimcgdbrc.vimch.vimchangelog.vimchatito.vimchicken.vimclojure.vimcmake.vimcmakecache.vimcobol.vimcodeowners.vimconf.vimconfig.vimconfini.vimcontext.vimcook.vimcorn.vimcpp.vimcrm.vimcrontab.vimcs.vimcsc.vimcsh.vimcss.vimcsv.vimcucumber.vimcuda.vimcvsrc.vimdart.vimdax.vimdeb822sources.vimdebchangelog.vimdebcontrol.vimdebsources.vimdenyhosts.vimdesktop.vimdictconf.vimdictdconf.vimdiff.vimdircolors.vimdnsmasq.vimdocbk.vimdockerfile.vimdosbatch.vimdosini.vimdtd.vimdtrace.vimdts.vimdune.vimeditorconfig.vimeiffel.vimelinks.vimelixir.vimelm.vimenv.vimerlang.vimeruby.vimeterm.vimexpect.vimexports.vimfalcon.vimfennel.vimfetchmail.vimfga.vimfish.vimflexwiki.vimforth.vimfortran.vimfpcmake.vimframescript.vimfreebasic.vimfstab.vimfvwm.vimgdb.vimgdscript.vimgdshader.vimgel.vimgit.vimgitattributes.vimgitcommit.vimgitconfig.vimgitignore.vimgitrebase.vimgitsendemail.vimgleam.vimgo.vimgoaccess.vimgomod.vimgpg.vimgprof.vimgraphql.vimgroff.vimgroovy.vimgroup.vimgrub.vimgyp.vimhaml.vimhamster.vimhare.vimharedoc.vimhaskell.vimhcl.vimheex.vimhelp.vimhgcommit.vimhlsplaylist.vimhog.vimhostconf.vimhostsaccess.vimhtml.vimhtmlangular.vimhtmldjango.vimhttp.vimhurl.vimhyprlang.vimi3config.vimicon.vimidris2.vimindent.viminitex.vimipkg.vimishd.vimj.vimjava.vimjavacc.vimjavascript.vimjavascriptreact.vimjjdescription.vimjproperties.vimjq.vimjson.vimjson5.vimjsonc.vimjsonnet.vimjsp.vimjulia.vimjust.vimkarel.vimkconfig.vimkdl.vimkerml.vimkitty.vimkivy.vimkotlin.vimkwt.vimlc.vimld.vimldapconf.vimleex.vimleo.vimless.vimlex.vimlf.vimlftp.vimlibao.vimlimits.vimliquid.vimlisp.vimlivebook.vimllvm.vimlnk.vimlnkmap.vimlogcheck.vimloginaccess.vimlogindefs.vimlogtalk.dictlogtalk.vimlprolog.vimlua.vimluau.vimlynx.vimm17ndb.vimm3build.vimm3quake.vimm4.vimmail.vimmailaliases.vimmailcap.vimmake.vimman.vimmanconf.vimmarkdown.vimmasm.vimmatlab.vimmbsync.vimmediawiki.vimmermaid.vimmeson.vimmf.vimmlir.vimmma.vimmodconf.vimmodula2.vimmodula3.vimmojo.vimmp.vimmplayerconf.vimmrxvtrc.vimmsmessages.vimmss.vimmuttrc.vimmysql.vimnanorc.vimneomuttrc.vimnetrc.vimnginx.vimnickel.vimnim.vimnix.vimnroff.vimnsis.vimnu.vimobjc.vimobjcpp.vimobjdump.vimobse.vimocaml.vimoccam.vimoctave.vimodin.vimondir.vimopencl.vimopenscad.vimopenvpn.vimorg.vimpamconf.vimpascal.vimpasswd.vimpbtxt.vimpdf.vimperl.vimphp.vimpinfo.vimpkl.vimplaintex.vimplsql.vimpod.vimpoefilter.vimpoke.vimpostscr.vimpq.vimprisma.vimprocmail.vimprolog.vimproto.vimprotocols.vimps1.vimps1xml.vimptx.vimpurescript.vimpymanifest.vimpyrex.vimpython.vimqb64.vimqf.vimqml.vimquake.vimquarto.vimr.vimracc.vimracket.vimraku.vimrasi.vimreadline.vimregistry.vimremind.vimrequirements.vimrescript.vimreva.vimrhelp.vimrmd.vimrnc.vimrnoweb.vimroc.vimrouteros.vimrpl.vimrrst.vimrst.vimruby.vimrust.vimsamba.vimsass.vimsbt.vimscala.vimscdoc.vimscheme.vimscreen.vimscss.vimsed.vimsensors.vimservices.vimsetserial.vimsexplib.vimsgml.vimsh.vimshaderslang.vimsieve.vimskhd.vimslint.vimslpconf.vimslpreg.vimslpspi.vimsml.vimsnakemake.vimsolidity.vimsolution.vimsoy.vimspajson.vimspec.vimsql.vimsquirrel.vimssa.vimsshconfig.vimsshdconfig.vimstylus.vimsudoers.vimsvelte.vimsvg.vimsway.vimswayconfig.vimswift.vimswiftgyb.vimswig.vimsysctl.vimsysml.vimsystemd.vimsystemverilog.vimtap.vimtcl.vimtcsh.vimtera.vimterminfo.vimterraform.vimtex.vimtext.vimtf.vimthrift.vimtiasm.vimtidy.vimtmux.vimtoml.vimtreetop.vimtt2html.vimtutor.vimtwig.vimtypescript.vimtypescriptreact.vimtypst.vimuc.vimuci.vimudevconf.vimudevperm.vimudevrules.vimunison.vimupdatedb.vimurlshortcut.vimusd.vimv.vimvb.vimvdf.vimverilog.vimvhdl.vimvim.vimvroom.vimvue.vimwat.vimwget.vimwget2.vimxcompose.vimxdefaults.vimxf86conf.vimxhtml.vimxinetd.vimxkb.vimxml.vimxmodmap.vimxs.vimxsd.vimxslt.vimyacc.vimyaml.vimzathurarc.vimzig.vimzimbu.vimzsh.vimvimhelp.vimvimhighlight.vimREADME.txtaap.vimada.vimant.vimarduino.vimastro.vimautomake.vimawk.vimbash.vimbasic.vimbib.vimbitbake.vimbpftrace.vimbst.vimbzl.vimc.vimcdl.vimch.vimchaiscript.vimchangelog.vimchatito.vimclojure.vimcmake.vimcobol.vimconfig.vimcontext.vimcpp.vimcs.vimcss.vimcucumber.vimcuda.vimd.vimdictconf.vimdictdconf.vimdocbk.vimdosbatch.vimdtd.vimdtrace.vimdts.vimdune.vimdylan.vimeiffel.vimelm.vimerlang.vimeruby.vimeterm.vimexpect.vimfalcon.vimfennel.vimfish.vimfortran.vimframescript.vimfreebasic.vimgdscript.vimgitconfig.vimgitolite.vimglsl.vimgo.vimgraphql.vimgyp.vimhaml.vimhamster.vimhare.vimhcl.vimhog.vimhtml.vimhtmldjango.vimidlang.vimidris2.vimishd.vimj.vimjava.vimjavascript.vimjavascriptreact.vimjson.vimjson5.vimjsonc.vimjsp.vimjulia.vimjust.vimkdl.vimkotlin.vimkrl.vimld.vimless.vimlf.vimlifelines.vimliquid.vimlisp.vimlivebook.vimlogtalk.vimlua.vimluau.vimm17ndb.vimmail.vimmake.vimmatlab.vimmeson.vimmf.vimmma.vimmojo.vimmp.vimnginx.vimnsis.vimnu.vimobjc.vimobse.vimocaml.vimoccam.vimodin.vimpascal.vimperl.vimphp.vimpostscr.vimpov.vimprolog.vimproto.vimps1.vimpyrex.vimpython.vimqb64.vimqml.vimquarto.vimr.vimracket.vimraku.vimraml.vimrapid.vimreadline.vimrhelp.vimrmd.vimrnoweb.vimrpl.vimrrst.vimrst.vimruby.vimrust.vimsas.vimsass.vimscala.vimscheme.vimscss.vimsdl.vimsh.vimsml.vimsolidity.vimspajson.vimsql.vimsqlanywhere.vimsshconfig.vimstylus.vimsystemverilog.vimtcl.vimtcsh.vimteraterm.vimterraform.vimtex.vimtf.vimthrift.vimtilde.vimtreetop.vimtypescript.vimtypescriptreact.vimtypst.vimvb.vimverilog.vimvhdl.vimvim.vimvroom.vimvue.vimwat.vimxf86conf.vimxhtml.vimxinetd.vimxml.vimxsd.vimxslt.vimyacc.vimyaml.vimzig.vimzimbu.vimzsh.vimREADME.txtaccents.vimarabic.vimarabic_buckwalter.vimarabic_utf-8.vimarmenian-eastern_utf-8.vimarmenian-western_utf-8.vimazerbaijani.vimbelarusian-jcuken.vimbrazilian_portuguese-abnt.vimbrazilian_portuguese-compact.vimbulgarian-bds.vimbulgarian-phonetic.vimcanfr-win.vimcroatian.vimcroatian_cp1250.vimcroatian_iso-8859-2.vimcroatian_utf-8.vimczech.vimczech_utf-8.vimdvorak.vimesperanto.vimesperanto_utf-8.vimfrench-azerty.vimgeorgian-qwerty.vimgerman-qwertz.vimgreek.vimgreek_cp1253.vimgreek_cp737.vimgreek_iso-8859-7.vimgreek_utf-8.vimhebrew.vimhebrew_cp1255.vimhebrew_iso-8859-8.vimhebrew_utf-8.vimhebrewp.vimhebrewp_cp1255.vimhebrewp_iso-8859-8.vimhebrewp_utf-8.vimkana.vimkazakh-jcuken.vimkorean-dubeolsik_utf-8.vimkorean.vimlithuanian-baltic.vimmagyar_utf-8.vimmongolian_utf-8.vimoldturkic-orkhon_utf-8.vimoldturkic-yenisei_utf-8.vimpersian-iranian_utf-8.vimpersian.vimpinyin.vimpolish-slash.vimpolish-slash_cp1250.vimpolish-slash_cp852.vimpolish-slash_iso-8859-2.vimpolish-slash_utf-8.vimrussian-dvorak.vimrussian-jcuken.vimrussian-jcukenmac.vimrussian-jcukenwin.vimrussian-jcukenwintype.vimrussian-typograph.vimrussian-yawerty.vimserbian-latin.vimserbian-latin_utf-8.vimserbian.vimserbian_cp1250.vimserbian_cp1251.vimserbian_iso-8859-2.vimserbian_iso-8859-5.vimserbian_utf-8.vimsinhala-phonetic_utf-8.vimsinhala.vimslovak.vimslovak_cp1250.vimslovak_iso-8859-2.vimslovak_utf-8.vimtamil_tscii.vimthaana-phonetic_utf-8.vimthaana.vimturkish-f.vimturkish-q.vimukrainian-dvorak.vimukrainian-enhanced.vimukrainian-jcuken.vimvietnamese-telex_utf-8.vimvietnamese-viqr_utf-8.vimvietnamese-vni_utf-8.vimREADME.txtafLC_MESSAGESvim.mocaLC_MESSAGESvim.mocscs.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.modaLC_MESSAGESvim.modeLC_MESSAGESvim.moen_GBLC_MESSAGESvim.moeoLC_MESSAGESvim.moesLC_MESSAGESvim.mofiLC_MESSAGESvim.mofrLC_MESSAGESvim.mogaLC_MESSAGESvim.mohuLC_MESSAGESvim.mohyLC_MESSAGESvim.moitLC_MESSAGESvim.mojaja.euc-jpLC_MESSAGESvim.moja.sjisLC_MESSAGESvim.moLC_MESSAGESvim.mokoko.UTF-8LC_MESSAGESvim.moLC_MESSAGESvim.molvLC_MESSAGESvim.momenu_af.latin1.vimmenu_af.utf-8.vimmenu_af_af.latin1.vimmenu_af_af.utf-8.vimmenu_ca.latin1.vimmenu_ca.utf-8.vimmenu_ca_es.latin1.vimmenu_ca_es.utf-8.vimmenu_chinese(gb)_gb.936.vimmenu_chinese(taiwan)_taiwan.950.vimmenu_chinese_gb.936.vimmenu_chinese_taiwan.950.vimmenu_cs.cp1250.vimmenu_cs.latin1.vimmenu_cs_cz.cp1250.vimmenu_cs_cz.iso_8859-2.vimmenu_cs_cz.latin1.vimmenu_cs_cz.utf-8.vimmenu_czech_czech_republic.1250.vimmenu_czech_czech_republic.1252.vimmenu_czech_czech_republic.ascii.vimmenu_da.latin1.vimmenu_da.utf-8.vimmenu_de.latin1.vimmenu_de.utf-8.vimmenu_de_de.latin1.vimmenu_de_de.utf-8.vimmenu_en_gb.latin1.vimmenu_en_gb.utf-8.vimmenu_english_united_kingdom.1252.vimmenu_english_united_kingdom.ascii.vimmenu_eo.utf-8.vimmenu_eo_eo.utf-8.vimmenu_eo_xx.utf-8.vimmenu_es.latin1.vimmenu_es.utf-8.vimmenu_es_es.latin1.vimmenu_es_es.utf-8.vimmenu_fi.latin1.vimmenu_fi.utf-8.vimmenu_fi_fi.latin1.vimmenu_fi_fi.utf-8.vimmenu_finnish_finland.1252.vimmenu_fr.latin1.vimmenu_fr.utf-8.vimmenu_fr_fr.latin1.vimmenu_fr_fr.utf-8.vimmenu_french_france.1252.vimmenu_german_germany.1252.vimmenu_hu.iso_8859-2.vimmenu_hu.utf-8.vimmenu_hu_hu.iso_8859-2.vimmenu_hu_hu.utf-8.vimmenu_is.latin1.vimmenu_is.utf-8.vimmenu_is_is.latin1.vimmenu_is_is.utf-8.vimmenu_it.latin1.vimmenu_it.utf-8.vimmenu_it_it.latin1.vimmenu_it_it.utf-8.vimmenu_italian_italy.1252.vimmenu_ja.cp932.vimmenu_ja.euc-jp.vimmenu_ja.eucjp.vimmenu_ja.ujis.vimmenu_ja.utf-8.vimmenu_ja_jp.cp932.vimmenu_ja_jp.euc-jp.vimmenu_ja_jp.eucjp.vimmenu_ja_jp.ujis.vimmenu_ja_jp.utf-8.vimmenu_japanese_japan.932.vimmenu_ko.utf-8.vimmenu_ko_kr.euckr.vimmenu_ko_kr.utf-8.vimmenu_ko_kr.vimmenu_nl.latin1.vimmenu_nl.utf-8.vimmenu_nl_nl.latin1.vimmenu_nl_nl.utf-8.vimmenu_no.latin1.vimmenu_no.utf-8.vimmenu_no_no.latin1.vimmenu_no_no.utf-8.vimmenu_pl.cp1250.vimmenu_pl_pl.cp1250.vimmenu_pl_pl.iso_8859-2.vimmenu_pl_pl.utf-8.vimmenu_polish_poland.1250.vimmenu_pt_br.latin1.vimmenu_pt_br.utf-8.vimmenu_pt_br.vimmenu_pt_pt.latin1.vimmenu_pt_pt.utf-8.vimmenu_pt_pt.vimmenu_ru.cp1251.vimmenu_ru.koi8-r.vimmenu_ru.utf-8.vimmenu_ru.vimmenu_ru_ru.cp1251.vimmenu_ru_ru.koi8-r.vimmenu_ru_ru.utf-8.vimmenu_ru_ru.vimmenu_sk.cp1250.vimmenu_sk_sk.1250.vimmenu_sk_sk.cp1250.vimmenu_sk_sk.iso_8859-2.vimmenu_sk_sk.vimmenu_sl_si.cp1250.vimmenu_sl_si.latin2.vimmenu_sl_si.utf-8.vimmenu_slovak_slovak_republic.1250.vimmenu_spanish_spain.850.vimmenu_sr.utf-8.vimmenu_sr_rs.ascii.vimmenu_sr_rs.iso_8859-2.vimmenu_sr_rs.iso_8859-5.vimmenu_sr_rs.utf-8.vimmenu_sr_yu.ascii.vimmenu_sr_yu.iso_8859-2.vimmenu_sr_yu.iso_8859-5.vimmenu_sr_yu.utf-8.vimmenu_sv.latin1.vimmenu_sv.utf-8.vimmenu_sv_se.latin1.vimmenu_sv_se.utf-8.vimmenu_tr.cp1254.vimmenu_tr.iso_8859-9.vimmenu_tr.utf-8.vimmenu_tr_tr.cp1254.vimmenu_tr_tr.iso_8859-9.vimmenu_tr_tr.utf-8.vimmenu_uk_ua.cp1251.vimmenu_uk_ua.koi8-u.vimmenu_uk_ua.utf-8.vimmenu_vi_vn.vimmenu_zh.big5.vimmenu_zh.cp936.vimmenu_zh.cp950.vimmenu_zh.gb2312.vimmenu_zh_cn.18030.vimmenu_zh_cn.cp936.vimmenu_zh_cn.gb2312.vimmenu_zh_cn.gbk.vimmenu_zh_cn.utf-8.vimmenu_zh_tw.big5.vimmenu_zh_tw.cp950.vimmenu_zh_tw.utf-8.vimnbLC_MESSAGESvim.monlLC_MESSAGESvim.moplpl.UTF-8LC_MESSAGESvim.mopl.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.mopt_BRLC_MESSAGESvim.moruru.cp1251LC_MESSAGESvim.moLC_MESSAGESvim.mosksk.cp1250LC_MESSAGESvim.moLC_MESSAGESvim.mosrLC_MESSAGESvim.mosvLC_MESSAGESvim.motaLC_MESSAGESvim.motrLC_MESSAGESvim.moukuk.cp1251LC_MESSAGESvim.moLC_MESSAGESvim.moviLC_MESSAGESvim.mozh_CNzh_CN.UTF-8LC_MESSAGESvim.mozh_CN.cp936LC_MESSAGESvim.moLC_MESSAGESvim.mozh_TWzh_TW.UTF-8LC_MESSAGESvim.moLC_MESSAGESvim.moREADME.txteditexisting.vimhanoiclick.mehanoi.vimposterjustify.vimless.batless.shless.vimlifeclick.melife.vimmatchit.vimmazeMakefileREADME.txtmaze_5.78maze_macpostershellmenu.vimswapmous.vimurmREADME.txtexamplesurmurm.vimdistoptcfilterplugincfilter.vimcommentautoloadcomment.vimdoccomment.txttagsplugincomment.vimdvorakdvorakdisable.vimenable.vimplugindvorak.vimeditexistingplugineditexisting.vimeditorconfig.editorconfigCONTRIBUTORSLICENSELICENSE.PSFREADME.mdautoloadeditorconfig.vimeditorconfig_coreeditorconfig_core.vimfnmatch.vimhandler.vimini.vimutil.vimdoceditorconfig.txttagsftdetecteditorconfig.vimplugineditorconfig.vimhelpcurwinautoloadhelpcurwin.vimdochelpcurwin.txttagspluginhelpcurwin.vimhelptocautoloadhelptoc.vimdochelptoc.txttagspluginhelptoc.vimhlyankpluginhlyank.vimjustifypluginjustify.vimmatchitautoloadmatchit.vimdocmatchit.txttagspluginmatchit.vimnetrwLICENSE.txtREADME.mdautoloadnetrwnetrw.vimfs.vimmsg.vimos.vimnetrw_gitignore.vimdocnetrw.txtpluginnetrwPlugin.vimsyntaxnetrw.vimnohlsearchpluginnohlsearch.vimosc52autoloadosc52.vimdocosc52.txttagspluginosc52.vimshellmenupluginshellmenu.vimswapmousepluginswapmouse.vimtermdebugplugintermdebug.vimREADME.txtgetscriptPlugin.vimgzip.vimlogiPat.vimmanpager.vimmatchparen.vimnetrwPlugin.vimopenPlugin.vimrrhelper.vimspec.vimspellfile.vimtarPlugin.vimtohtml.vimtutor.vimvimballPlugin.vimzipPlugin.vimascii.pscidfont.pscns_roman.pscp1250.pscp1251.pscp1252.pscp1253.pscp1254.pscp1255.pscp1257.psdec-mcs.psebcdic-uk.psgb_roman.pshp-roman8.psiso-8859-10.psiso-8859-11.psiso-8859-13.psiso-8859-14.psiso-8859-15.psiso-8859-2.psiso-8859-3.psiso-8859-4.psiso-8859-5.psiso-8859-7.psiso-8859-8.psiso-8859-9.psjis_roman.pskoi8-r.pskoi8-u.psks_roman.pslatin1.psmac-roman.psprolog.psskeleton.speccheck_locales.vimcleanadd.vimen.ascii.splen.ascii.sugen.latin1.splen.latin1.sugen.utf-8.splen.utf-8.sugfixdup.vimhe.vimspell.vimyi.vim2html.vim8th.vimREADME.txta2ps.vima65.vimaap.vimabap.vimabaqus.vimabc.vimabel.vimabnf.vimacedb.vimada.vimaflex.vimahdl.vimaidl.vimalsaconf.vimamiga.vimaml.vimampl.vimant.vimantlr.vimantlr4.vimapache.vimapachestyle.vimapkbuild.vimapparmor.vimaptconf.vimarch.vimarduino.vimart.vimasciidoc.vimasm.vimasm68k.vimasmh8300.vimasn.vimaspperl.vimaspvbs.vimasterisk.vimasteriskvm.vimastro.vimasy.vimatlas.vimautodoc.vimautohotkey.vimautoit.vimautomake.vimautopkgtest.vimave.vimavra.vimawk.vimayacc.vimb.vimbaan.vimbash.vimbasic.vimbc.vimbdf.vimbib.vimbindzone.vimbitbake.vimblank.vimbpftrace.vimbsdl.vimbst.vimbtm.vimbzl.vimbzr.vimc.vimcabal.vimcabalconfig.vimcabalproject.vimcalendar.vimcangjie.vimcatalog.vimcdl.vimcdrdaoconf.vimcdrtoc.vimcf.vimcfg.vimcgdbrc.vimch.vimchaiscript.vimchange.vimchangelog.vimchanges.vimchaskell.vimchatito.vimcheetah.vimchicken.vimchill.vimchordpro.vimchuck.vimcl.vimclean.vimclipper.vimclojure.vimcmacro.vimcmake.vimcmakecache.vimcmod.vimcmusrc.vimcobol.vimcoco.vimcodeowners.vimcolortest.vimconaryrecipe.vimconf.vimconfig.vimconfini.vimcontext.vimcpp.vimcrm.vimcrontab.vimcs.vimcsc.vimcsdl.vimcsh.vimcsp.vimcss.vimcsv.vimcterm.vimctrlh.vimcucumber.vimcuda.vimcupl.vimcuplsim.vimcvs.vimcvsrc.vimcweb.vimcynlib.vimcynpp.vimd.vimdart.vimdatascript.vimdax.vimdcd.vimdcl.vimdeb822sources.vimdebchangelog.vimdebcontrol.vimdebcopyright.vimdebsources.vimdef.vimdenyhosts.vimdep3patch.vimdesc.vimdesktop.vimdictconf.vimdictdconf.vimdiff.vimdircolors.vimdirpager.vimdiva.vimdjango.vimdns.vimdnsmasq.vimdocbk.vimdocbksgml.vimdocbkxml.vimdockerfile.vimdosbatch.vimdosini.vimdot.vimdoxygen.vimdracula.vimdsl.vimdtd.vimdtml.vimdtrace.vimdts.vimdune.vimdylan.vimdylanintr.vimdylanlid.vimecd.vimedif.vimeditorconfig.vimeiffel.vimelf.vimelinks.vimelm.vimelmfilt.vimenv.vimerlang.vimeruby.vimesmtprc.vimesqlc.vimesterel.vimeterm.vimeuphoria3.vimeuphoria4.vimeviews.vimexim.vimexpect.vimexports.vimfalcon.vimfan.vimfasm.vimfdcc.vimfetchmail.vimfgl.vimfish.vimflexwiki.vimfocexec.vimform.vimforth.vimfortran.vimfoxpro.vimfpcmake.vimframescript.vimfreebasic.vimfstab.vimftl.vimfvwm.vimfvwm2m4.vimgdb.vimgdmo.vimgdresource.vimgdscript.vimgdshader.vimgedcom.vimgel.vimgemtext.vimgift.vimgit.vimgitattributes.vimgitcommit.vimgitconfig.vimgitignore.vimgitolite.vimgitrebase.vimgitsendemail.vimgkrellmrc.vimgleam.vimglsl.vimgnash.vimgnuplot.vimgo.vimgoaccess.vimgodoc.vimgp.vimgpg.vimgprof.vimgrads.vimgraphql.vimgretl.vimgroff.vimgroovy.vimgroup.vimgrub.vimgsp.vimgtkrc.vimgvpr.vimgyp.vimhaml.vimhamster.vimhare.vimharedoc.vimhaskell.vimhaste.vimhastepreproc.vimhb.vimhcl.vimhelp.vimhelp_it.vimhelp_ru.vimhercules.vimhex.vimhgcommit.vimhitest.vimhlsplaylist.vimhog.vimhollywood.vimhostconf.vimhostsaccess.vimhtml.vimhtmlangular.vimhtmlcheetah.vimhtmldjango.vimhtmlm4.vimhtmlos.vimhyprlang.vimi3config.vimia64.vimibasic.vimicemenu.vimicon.vimidl.vimidlang.vimidris2.vimindent.viminform.viminitex.viminitng.viminittab.vimipfilter.vimipkg.vimishd.vimiss.vimist.vimj.vimjal.vimjam.vimjargon.vimjava.vimjavacc.vimjavascript.vimjavascriptreact.vimjess.vimjgraph.vimjinja.vimjjdescription.vimjovial.vimjproperties.vimjq.vimjson.vimjson5.vimjsonc.vimjsp.vimjulia.vimjust.vimkarel.vimkconfig.vimkdl.vimkitty.vimkivy.vimkix.vimkotlin.vimkrl.vimkscript.vimkwt.vimlace.vimlatte.vimlc.vimld.vimldapconf.vimldif.vimleex.vimless.vimlex.vimlf.vimlftp.vimlhaskell.vimlibao.vimlidris2.vimlifelines.vimlilo.vimlimits.vimliquid.vimlisp.vimlite.vimlitestep.vimlivebook.vimlnk.vimlnkmap.vimlog.vimloginaccess.vimlogindefs.vimlogtalk.vimlotos.vimlout.vimlpc.vimlprolog.vimlscript.vimlsl.vimlss.vimlua.vimluau.vimlynx.vimlyrics.vimm17ndb.vimm3build.vimm3quake.vimm4.vimmail.vimmailaliases.vimmailcap.vimmake.vimmallard.vimman.vimmanconf.vimmanual.vimmaple.vimmarkdown.vimmasm.vimmason.vimmaster.vimmatlab.vimmaxima.vimmbsync.vimmediawiki.vimmel.vimmermaid.vimmeson.vimmessages.vimmf.vimmgl.vimmgp.vimmib.vimmix.vimmma.vimmmix.vimmmp.vimmodconf.vimmodel.vimmodsim3.vimmodula2modula2.vimoptiso.vimpim.vimr10.vimmodula3.vimmojo.vimmonk.vimmoo.vimmp.vimmplayerconf.vimmrxvtrc.vimmsidl.vimmsmessages.vimmsql.vimmss.vimmupad.vimmurphi.vimmush.vimmuttrc.vimmysql.vimn1ql.vimnamed.vimnanorc.vimnasm.vimnastran.vimnatural.vimncf.vimneomuttlog.vimneomuttrc.vimnetrc.vimnginx.vimninja.vimnix.vimnqc.vimnroff.vimnsis.vimnu.vimobj.vimobjc.vimobjcpp.vimobse.vimocaml.vimoccam.vimodin.vimomnimark.vimondir.vimopam.vimopencl.vimopenroad.vimopenscad.vimopenvpn.vimopl.vimora.vimorg.vimpacmanlog.vimpamconf.vimpamenv.vimpandoc.vimpapp.vimpascal.vimpasswd.vimpbtxt.vimpcap.vimpccts.vimpdf.vimperl.vimpf.vimpfmain.vimphp.vimphtml.vimpic.vimpike.vimpilrc.vimpine.vimpinfo.vimpkl.vimplaintex.vimpli.vimplm.vimplp.vimplsql.vimpo.vimpod.vimpoefilter.vimpoke.vimpostscr.vimpov.vimpovini.vimppd.vimppwiz.vimpq.vimprescribe.vimprivoxy.vimprocmail.vimprogress.vimprolog.vimpromela.vimproto.vimprotocols.vimprql.vimps1.vimps1xml.vimpsf.vimpsl.vimptcap.vimptx.vimpurifylog.vimpymanifest.vimpyrex.vimpython.vimpython2.vimqb64.vimqf.vimqml.vimquake.vimquarto.vimr.vimracc.vimracket.vimradiance.vimraku.vimraml.vimrapid.vimrasi.vimratpoison.vimrc.vimrcs.vimrcslog.vimreadline.vimrebol.vimredif.vimregistry.vimrego.vimremind.vimrequirements.vimreva.vimrexx.vimrhelp.vimrib.vimrmd.vimrnc.vimrng.vimrnoweb.vimrobots.vimrouteros.vimrpcgen.vimrpl.vimrrst.vimrst.vimrtf.vimruby.vimrust.vimsalt.vimsamba.vimsas.vimsass.vimsather.vimsbt.vimscala.vimscdoc.vimscheme.vimscilab.vimscreen.vimscss.vimsd.vimsdc.vimsdl.vimsed.vimsendpr.vimsensors.vimservices.vimsetserial.vimsexplib.vimsgml.vimsgmldecl.vimsgmllnx.vimshaderslang.vimsharedREADME.txtdebarchitectures.vimdebversions.vimhgcommitDiff.vimtypescriptcommon.vimsicad.vimsieve.vimsil.vimsimula.vimsinda.vimsindacmp.vimsindaout.vimsisu.vimskhd.vimskill.vimsl.vimslang.vimslice.vimslpconf.vimslpreg.vimslpspi.vimslrnrc.vimslrnsc.vimsm.vimsmarty.vimsmcl.vimsmil.vimsmith.vimsml.vimsnnsnet.vimsnnspat.vimsnnsres.vimsnobol4.vimsolidity.vimspajson.vimspec.vimspecman.vimspice.vimsplint.vimspup.vimspyce.vimsql.vimsqlanywhere.vimsqlforms.vimsqlhana.vimsqlinformix.vimsqlj.vimsqloracle.vimsqr.vimsquid.vimsquirrel.vimsrec.vimsrt.vimssa.vimsshconfig.vimsshdconfig.vimst.vimstata.vimstp.vimstrace.vimstructurizr.vimstylus.vimsudoers.vimsvg.vimsvn.vimswayconfig.vimswift.vimswiftgyb.vimswig.vimsysctl.vimsystemd.vimsystemverilog.vimtads.vimtags.vimtak.vimtakcmp.vimtakout.vimtap.vimtar.vimtaskdata.vimtaskedit.vimtasm.vimtcl.vimtcsh.vimtemplate.vimtera.vimteraterm.vimterminfo.vimterraform.vimtex.vimtexinfo.vimtexmf.vimtf.vimthrift.vimtiasm.vimtidy.vimtilde.vimtli.vimtmux.vimtoml.vimtpp.vimtrasys.vimtreetop.vimtrustees.vimtsalt.vimtsscl.vimtssgm.vimtssop.vimtsv.vimtt2.vimtt2html.vimtt2js.vimtutor.vimtypescript.vimtypescriptreact.vimtypst.vimuc.vimuci.vimudevconf.vimudevperm.vimudevrules.vimuil.vimunison.vimupdatedb.vimupstart.vimupstreamdat.vimupstreaminstalllog.vimupstreamlog.vimupstreamrpt.vimurlshortcut.vimusserverlog.vimusw2kagtlog.vimvalgrind.vimvb.vimvdf.vimvera.vimverilog.vimverilogams.vimvgrindefs.vimvhdl.vimviminfo.vimvimnormal.vimvirata.vimvmasm.vimvoscm.vimvrml.vimvroom.vimvsejcl.vimvue.vimwat.vimwdiff.vimwdl.vimweb.vimwebmacro.vimwget.vimwget2.vimwhitespace.vimwinbatch.vimwml.vimwsh.vimwsml.vimwvdial.vimxbl.vimxcompose.vimxdefaults.vimxf86conf.vimxhtml.vimxinetd.vimxkb.vimxmath.vimxml.vimxmodmap.vimxpm.vimxpm2.vimxquery.vimxs.vimxsd.vimxslt.vimxxd.vimyacc.vimyaml.vimz8a.vimzathurarc.vimzig.vimzimbu.vimzir.vimzserio.vimzsh.vimREADME.txtccfilter.1ccfilter_README.txtefm_filter.plefm_filter.txtefm_perl.plemoji_list.vimmve.awkmve.txtpltags.plpreproc_indent.vimrefshtags.1shtags.plunicode.vimvim132vim_vs_net.cmdvimmvimspell.shvimspell.txtREADME.el.txtREADME.ru.txtREADME.sv.txtREADME.txtenvim-01-beginner.tutorvim-01-beginner.tutor.jsonvim-02-beginner.tutorvim-02-beginner.tutor.jsonitvim-01-beginner.tutorvim-01-beginner.tutor.jsonruvim-01-beginner.tutorvim-01-beginner.tutor.jsonvim-02-beginner.tutorvim-02-beginner.tutor.jsonsrvim-01-beginner.tutorvim-01-beginner.tutor.jsonvim-02-beginner.tutorvim-02-beginner.tutor.jsonsvvim-01-beginner.tutorvim-01-beginner.tutor.jsonvim-02-beginner.tutorvim-02-beginner.tutor.jsontutor.tutortutor.tutor.jsontutor.vimtutor1tutor1.bartutor1.bgtutor1.catutor1.cstutor1.datutor1.detutor1.eltutor1.eotutor1.estutor1.frtutor1.gltutor1.hrtutor1.hututor1.ittutor1.jatutor1.kotutor1.lttutor1.lvtutor1.nbtutor1.nltutor1.notutor1.pltutor1.pttutor1.rututor1.sktutor1.srtutor1.svtutor1.trtutor1.uktutor1.vitutor1.zh_cntutor1.zh_twtutor2tutor2.estutor2.frtutor2.gltutor2.ittutor2.jatutor2.rututor2.srtutor2.sv/usr/share/vim/vim92/autoload//usr/share/vim/vim92/autoload/cargo//usr/share/vim/vim92/autoload/dist//usr/share/vim/vim92/autoload/rust//usr/share/vim/vim92/autoload/xml//usr/share/vim/vim92/colors//usr/share/vim/vim92/colors/lists//usr/share/vim/vim92/colors/tools//usr/share/vim/vim92/compiler//usr/share/vim/vim92/doc//usr/share/vim/vim92/ftplugin//usr/share/vim/vim92/import/dist//usr/share/vim/vim92/indent//usr/share/vim/vim92/keymap//usr/share/vim/vim92/lang//usr/share/vim/vim92/lang/af//usr/share/vim/vim92/lang/af/LC_MESSAGES//usr/share/vim/vim92/lang/ca//usr/share/vim/vim92/lang/ca/LC_MESSAGES//usr/share/vim/vim92/lang/cs.cp1250//usr/share/vim/vim92/lang/cs.cp1250/LC_MESSAGES//usr/share/vim/vim92/lang/cs//usr/share/vim/vim92/lang/cs/LC_MESSAGES//usr/share/vim/vim92/lang/da//usr/share/vim/vim92/lang/da/LC_MESSAGES//usr/share/vim/vim92/lang/de//usr/share/vim/vim92/lang/de/LC_MESSAGES//usr/share/vim/vim92/lang/en_GB//usr/share/vim/vim92/lang/en_GB/LC_MESSAGES//usr/share/vim/vim92/lang/eo//usr/share/vim/vim92/lang/eo/LC_MESSAGES//usr/share/vim/vim92/lang/es//usr/share/vim/vim92/lang/es/LC_MESSAGES//usr/share/vim/vim92/lang/fi//usr/share/vim/vim92/lang/fi/LC_MESSAGES//usr/share/vim/vim92/lang/fr//usr/share/vim/vim92/lang/fr/LC_MESSAGES//usr/share/vim/vim92/lang/ga//usr/share/vim/vim92/lang/ga/LC_MESSAGES//usr/share/vim/vim92/lang/hu//usr/share/vim/vim92/lang/hu/LC_MESSAGES//usr/share/vim/vim92/lang/hy//usr/share/vim/vim92/lang/hy/LC_MESSAGES//usr/share/vim/vim92/lang/it//usr/share/vim/vim92/lang/it/LC_MESSAGES//usr/share/vim/vim92/lang/ja.euc-jp//usr/share/vim/vim92/lang/ja.euc-jp/LC_MESSAGES//usr/share/vim/vim92/lang/ja.sjis//usr/share/vim/vim92/lang/ja.sjis/LC_MESSAGES//usr/share/vim/vim92/lang/ja//usr/share/vim/vim92/lang/ja/LC_MESSAGES//usr/share/vim/vim92/lang/ko.UTF-8//usr/share/vim/vim92/lang/ko.UTF-8/LC_MESSAGES//usr/share/vim/vim92/lang/ko//usr/share/vim/vim92/lang/ko/LC_MESSAGES//usr/share/vim/vim92/lang/lv//usr/share/vim/vim92/lang/lv/LC_MESSAGES//usr/share/vim/vim92/lang/nb//usr/share/vim/vim92/lang/nb/LC_MESSAGES//usr/share/vim/vim92/lang/nl//usr/share/vim/vim92/lang/nl/LC_MESSAGES//usr/share/vim/vim92/lang/pl.UTF-8//usr/share/vim/vim92/lang/pl.UTF-8/LC_MESSAGES//usr/share/vim/vim92/lang/pl.cp1250//usr/share/vim/vim92/lang/pl.cp1250/LC_MESSAGES//usr/share/vim/vim92/lang/pl//usr/share/vim/vim92/lang/pl/LC_MESSAGES//usr/share/vim/vim92/lang/pt_BR//usr/share/vim/vim92/lang/pt_BR/LC_MESSAGES//usr/share/vim/vim92/lang/ru.cp1251//usr/share/vim/vim92/lang/ru.cp1251/LC_MESSAGES//usr/share/vim/vim92/lang/ru//usr/share/vim/vim92/lang/ru/LC_MESSAGES//usr/share/vim/vim92/lang/sk.cp1250//usr/share/vim/vim92/lang/sk.cp1250/LC_MESSAGES//usr/share/vim/vim92/lang/sk//usr/share/vim/vim92/lang/sk/LC_MESSAGES//usr/share/vim/vim92/lang/sr//usr/share/vim/vim92/lang/sr/LC_MESSAGES//usr/share/vim/vim92/lang/sv//usr/share/vim/vim92/lang/sv/LC_MESSAGES//usr/share/vim/vim92/lang/ta//usr/share/vim/vim92/lang/ta/LC_MESSAGES//usr/share/vim/vim92/lang/tr//usr/share/vim/vim92/lang/tr/LC_MESSAGES//usr/share/vim/vim92/lang/uk.cp1251//usr/share/vim/vim92/lang/uk.cp1251/LC_MESSAGES//usr/share/vim/vim92/lang/uk//usr/share/vim/vim92/lang/uk/LC_MESSAGES//usr/share/vim/vim92/lang/vi//usr/share/vim/vim92/lang/vi/LC_MESSAGES//usr/share/vim/vim92/lang/zh_CN.UTF-8//usr/share/vim/vim92/lang/zh_CN.UTF-8/LC_MESSAGES//usr/share/vim/vim92/lang/zh_CN.cp936//usr/share/vim/vim92/lang/zh_CN.cp936/LC_MESSAGES//usr/share/vim/vim92/lang/zh_CN//usr/share/vim/vim92/lang/zh_CN/LC_MESSAGES//usr/share/vim/vim92/lang/zh_TW.UTF-8//usr/share/vim/vim92/lang/zh_TW.UTF-8/LC_MESSAGES//usr/share/vim/vim92/lang/zh_TW//usr/share/vim/vim92/lang/zh_TW/LC_MESSAGES//usr/share/vim/vim92/macros//usr/share/vim/vim92/macros/hanoi//usr/share/vim/vim92/macros/life//usr/share/vim/vim92/macros/maze//usr/share/vim/vim92/macros/urm//usr/share/vim/vim92/pack//usr/share/vim/vim92/pack/dist//usr/share/vim/vim92/pack/dist/opt//usr/share/vim/vim92/pack/dist/opt/cfilter//usr/share/vim/vim92/pack/dist/opt/cfilter/plugin//usr/share/vim/vim92/pack/dist/opt/comment//usr/share/vim/vim92/pack/dist/opt/comment/autoload//usr/share/vim/vim92/pack/dist/opt/comment/doc//usr/share/vim/vim92/pack/dist/opt/comment/plugin//usr/share/vim/vim92/pack/dist/opt/dvorak//usr/share/vim/vim92/pack/dist/opt/dvorak/dvorak//usr/share/vim/vim92/pack/dist/opt/dvorak/plugin//usr/share/vim/vim92/pack/dist/opt/editexisting//usr/share/vim/vim92/pack/dist/opt/editexisting/plugin//usr/share/vim/vim92/pack/dist/opt/editorconfig//usr/share/vim/vim92/pack/dist/opt/editorconfig/autoload//usr/share/vim/vim92/pack/dist/opt/editorconfig/autoload/editorconfig_core//usr/share/vim/vim92/pack/dist/opt/editorconfig/doc//usr/share/vim/vim92/pack/dist/opt/editorconfig/ftdetect//usr/share/vim/vim92/pack/dist/opt/editorconfig/plugin//usr/share/vim/vim92/pack/dist/opt/helpcurwin//usr/share/vim/vim92/pack/dist/opt/helpcurwin/autoload//usr/share/vim/vim92/pack/dist/opt/helpcurwin/doc//usr/share/vim/vim92/pack/dist/opt/helpcurwin/plugin//usr/share/vim/vim92/pack/dist/opt/helptoc//usr/share/vim/vim92/pack/dist/opt/helptoc/autoload//usr/share/vim/vim92/pack/dist/opt/helptoc/doc//usr/share/vim/vim92/pack/dist/opt/helptoc/plugin//usr/share/vim/vim92/pack/dist/opt/hlyank//usr/share/vim/vim92/pack/dist/opt/hlyank/plugin//usr/share/vim/vim92/pack/dist/opt/justify//usr/share/vim/vim92/pack/dist/opt/justify/plugin//usr/share/vim/vim92/pack/dist/opt/matchit//usr/share/vim/vim92/pack/dist/opt/matchit/autoload//usr/share/vim/vim92/pack/dist/opt/matchit/doc//usr/share/vim/vim92/pack/dist/opt/matchit/plugin//usr/share/vim/vim92/pack/dist/opt/netrw//usr/share/vim/vim92/pack/dist/opt/netrw/autoload//usr/share/vim/vim92/pack/dist/opt/netrw/autoload/netrw//usr/share/vim/vim92/pack/dist/opt/netrw/doc//usr/share/vim/vim92/pack/dist/opt/netrw/plugin//usr/share/vim/vim92/pack/dist/opt/netrw/syntax//usr/share/vim/vim92/pack/dist/opt/nohlsearch//usr/share/vim/vim92/pack/dist/opt/nohlsearch/plugin//usr/share/vim/vim92/pack/dist/opt/osc52//usr/share/vim/vim92/pack/dist/opt/osc52/autoload//usr/share/vim/vim92/pack/dist/opt/osc52/doc//usr/share/vim/vim92/pack/dist/opt/osc52/plugin//usr/share/vim/vim92/pack/dist/opt/shellmenu//usr/share/vim/vim92/pack/dist/opt/shellmenu/plugin//usr/share/vim/vim92/pack/dist/opt/swapmouse//usr/share/vim/vim92/pack/dist/opt/swapmouse/plugin//usr/share/vim/vim92/pack/dist/opt/termdebug//usr/share/vim/vim92/pack/dist/opt/termdebug/plugin//usr/share/vim/vim92/plugin//usr/share/vim/vim92/print//usr/share/vim/vim92/skeletons//usr/share/vim/vim92/spell//usr/share/vim/vim92/syntax//usr/share/vim/vim92/syntax/modula2//usr/share/vim/vim92/syntax/modula2/opt//usr/share/vim/vim92/syntax/shared//usr/share/vim/vim92/tools//usr/share/vim/vim92/tutor//usr/share/vim/vim92/tutor/en//usr/share/vim/vim92/tutor/it//usr/share/vim/vim92/tutor/ru//usr/share/vim/vim92/tutor/sr//usr/share/vim/vim92/tutor/sv/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43071/SUSE_SLE-15-SP5_Update/12566c4f367b351ab4860327af47a5ef-vim.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux                             !  "#$ASCII textASCII text, with very long linesdirectoryUTF-8 Unicode textHTML document, ASCII textASCII text, with escape sequencesUTF-8 Unicode text, with very long linesPython script, ASCII text executableRuby script, ASCII textAlgol 68 source, ASCII textUTF-8 Unicode text, with escape sequencesC source, ASCII textPerl script text executableexported SGML document, ASCII textTeX document, ASCII textHTML document, UTF-8 Unicode textASCII text, with overstrikingAlgol 68 source, UTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII text, with LF, NEL line terminatorsNon-ISO extended-ASCII textISO-8859 text, with very long linesASCII text, with CRLF, CR, LF line terminators, with escape sequencessaved news, ASCII textDOS batch file, ASCII textPOSIX shell script, ASCII text executableexported SGML document, UTF-8 Unicode textPostScript document text conforming DSC level 3.0Algol 68 source, ASCII text, with very long linesLaTeX 2e document, ASCII textLaTeX document, UTF-8 Unicode text, with very long linestroff or preprocessor input, ASCII textawk script, ASCII text executablePOSIX shell script, ASCII text executable, with escape sequencesPOSIX shell script, ISO-8859 text executableUTF-8 Unicode (with BOM) text RRRRRRRRRRRVfdCR.yutf-89eb9946fe719c9e517b51e83acfda51c89186073e0057fc65d92640a5f8ad6e7?7zXZ !t/A1]"k%Vl! E_Q>6]N=蘙ܻ{̝ڹ )O))|ZHt\^?-ςخߥ3ԗ:̦. T O8ͽ&$KEz>)]~  㐎"řFvHR=#cCU٨euHت3 9zlshU^p(⎖NԲq쯌g .dTYUᦇW oƋ2f)-G7UyrˡtD5:FL?{ޞR;5{25&%Hdu`uG==bdS'f zV',Ŋ)"s:Tq*B8UYey=Ct)]q2/ʁfhVL3zEbUw<\+~-k1KwT?U)B7/t D'"eD4-.hMņ[B:YM'[ˆNVvA q©OҹDD{΂4bj_2_գG/(zFCkcR s*}|RˆJdtMZd4# hA؎7I zP]:[FNiB%6 N\Hqݿiz}[3iړ="q:0n!P.Іqӊ4`-05[xE,)-!\2/sV6lhi;doqzFI+>.㶦4 Br0ACsߑBc# p ͡qrƦ+C:,Kd}BlP\|ʹ%<>y»DrdzB%8c_ly$flc<` #fwm2'ŤM-4L2@?)xФ+؆p$fްhgέW6Vբ8f|5>7嬒jr \Z|3>*W+ɡf!ڦ|ZB,!&[+kICjBrj Wֶ2UԍmYY5J6qEMNvA^Jiu<Yl-W}Ys۴/8EK/t9KrĦv ]ޜ\G}Q7h&JYE H(F8-dQAd#1'|~M4Y&w[,tb+?pqx,u:pGǽg۫ժSS̴ ЯaH) `R]sּ ҋ"_WJ%EÖimEz;=l*dW1'/5T'4#Lݪ|,P%Y]#H#~g hPacGR5Hbe #W/aAsu'55]B[|Ce1ϊg!Jq{dkGE~}%^ΌbFb  { ]R5y#oK5│öcsɱB߽nd9Ʀ]Q.K{˥TFǿ^aم~-]S|/(HXv7nӈ9Bw.H?D=ס;W/D5 j] j"RJe : a#w$ق:Js?{DFM}{cSXSiݝ|a({&PzV3q(-D)uyqCJX1A̛8d|Iz"hr츖=e݄NZ'oCUSWxOWI^EW`?Fi@g At944B}t:Q(N8#&Vyu< *\ҙ|l ]"3rR>`(Y)fs!:S•_ >"P'5}#Ljvw]暚9=8ᙯD2K9%ƨ@le' hEi.v-k8h!a[9ȻQSV'G^ 鎝"wͅ}COl#\Oa-0sȈgy.rWGØi>Fs$k`x & cD%+ERnq١ygY@)_+-%ܤ~uV׼q`K38* 1BYsS vf8o`G@i/xYM$3f^~캒I!x1Q9DYb#Vfa OpZR =r8u5#aHܶ.re+#SkgZa39r^\rK:l^Ny;1g >C*_2lǬЙ`Ģ!zp(SHPc#BH^`e\f-C<-Eߵۥt3=>ϊ_.GKPJvLCy$J…xp1+v_ N|EJ)[gi-smІKޟ; Ѩ9C|p{,aS" uUMjk3%?]ӊK 87e6DȣZE>0z~xيE3ۓ)4pn'OW7FeV zFY,㲋 wL׻UBPvq#44ua?kTHchV Yv "߬ 85H,("\ /)+&0#$% wHl^Yƚwg'~̣m =/@<բv~g,}Qu}w=cB=/-ndԨm U?S,c\P[iE\C"-?.21Cm*qL?Udž]$9 du)p!kIw7pô>gW{]0Wz@=/Y0[\eXǍ^Pe6ly7+]O[eNc i',GQ5z2H-NHt#d3-uBqȡjt?Z܍؆q%[H 7;.ǪSjB\eQOPPo\yUDP2Q &7\ЍZa!?`)Ccn'Ւ.dE^: EdxRH`.3CxJbQz=ƼD$ o%sl|tޛg*9|w|+egɀυTձoEBd>S&se{f`,")MpW"L}li7E2EuOF7-{7}J _u>]x`ǹZ5~Y6R&  CFkT6 aa#c[7 ;3aYI9h#.ҿshޡ|gJ xIx!n g{®5|%tDp(B:XYnZU~0&79իVflVuIlj}Aze v`mH$0ڃK[nL MzݵqX> YK.S,tIq y8W$BbJHzYHϋQ'V$_G' 6$3ĻHن}$?6&EAA)Ҙaj7}mQ!j>&!q ƁʰpVJ$'ru-Xݟdz>bu^,;!3Ҏ_QsH&kw?@o:'ІgᚚE@ISe԰ >5#Nݱt!vgSSXL{ My#wF;EXzS 9QvI_Tӝu3Q+h7G7F*oe^*/U"Y)*M.~e/+]lJ̥֨P-GXx4,x^-W@Қ ~yQLƞ^Z{ B zA~m*V !9T9LZo:mtBCLcD#!?pjBXaZl)JH~0^ВنFHTW}Tq:swE.X־߯geVu`O||̘a3(nPQ{ՕFoT.\ʎV({8 'nN;(O 2$-US6\ցKshnux'<V.0[ aHJJ ,ae67>J6ũf;q7 ̘E1zش܆/ݏ2@| |LJY|8ٖ.`H^׾d9W=O;*_!޳6yүU.[uLaX<`oю؅%tS^1My5-[' f[|܊TWW5^X-#q§)*H4DƖ+ݝ 0ns<('XXWd⴬9p%8&Sׁ"}(<1.KU$rZe`v7B%EAiC>o9ԨTntj2|7vڋipI- |u Rρ<D&@[&rANֿf:fPz9hdJ Te1Q2M9=Ah*孆Sa o9P>"d"_O`fZVP3S^?Ԙ_9$],aw 9x;uM1+)%Yㅴ4{_%>=MpWdJźWKvA+ i.>AiAB9 S=vkx)Ċ+?W[*漀/_`A$\:U̘©HҔh \oDM1&eWo̾*E"H=]'S$˜TK: =ZgL1kajL. Jt#4O;'gD`:E检`^xk0}q76/~Q6Rf̪ ҙ[Ӵqʘ1T>4L{7Jb"QZGR3ۧj%L2?)Oq(ڠqj8c׳ 8 *3. @7iEPdDv,aiX o&,6ȴE 먙54 _eiM) M[5/^d@罋nǙsd`W{sh(eÑ=|J<*riaˁʗۅF'zuA\rO @%K/#X,̪MF(΅dxTQu& WU8aC,kG(k@9L-]iX콢#k#ɨ+)i7 ~{4@}(*ˌOҭ=c= l<8C P~rS3l ҷxmgeQyAt&46 Q2f&뤶g(!O>S \iwS?CQWx5;]t }. 6L[3v, ju=)"j啙&)4kI!*Q:NvAHFkEmCJx$ 8QpueАbr_w0^@p %(mp-~ ˂ ŽIŊ [a]\-Z|7[S Jk2*Ngbf.Z+#OD//3J?0fG8q,? Z9 i+d8M &K;r ;ob-ؑSsjW 'Buvx}M˚63LB3P{ʸ7_*G2,-[| a^d ~})0y@,hnyڝn\ϔ\KI(|?ڃ9@S]ڲn}Om(V$ Ȥzu\8>ٗXՎj%߭AE.X!Fb ڔZ s.~/SB|fkp8wmF]*b>=5C֣+9S7(g[3F;KR(~~AbxM/ҹqFƑ f:C zUg@̬_wʪO⼻y*E[5?@?[^&#"BD`<pB8fߞhfyX4dQZ=zyGЪD֧cb!BTzvExxOg5噌I?!^8JD|!?Q,XrNN`s F %f}n\z{M6C86s_}.U  x@`k"ޫ*ywoG{3TFDisXp F/O5a§Ғ\u$wub C#ĂQN|;Xe_(q."\r~$Ic +m\M6YjuBcFs+ b'D%mk֤ULr&~)8ں/X+H]l5M>2E*>P9p6o\=.|b_klځMpتo_,[$]e޼r޸ d,i'd C<*ezhIeOp+ gN/ vpS8FQZ%v'JM{8\?A?usD.Jé^_C~;3),趿qFoW0(r߮evxP:$/~ A:հgVY≵~l}y組Dơg;ɆnY5f [ٙͯ/8`%斂'B::qk5S>4CqjGqU᳨=MsS l\g,#ڭB2O@TT[s$EsB;+@NH[dcTM 8]q~KFTQSGHNޜ]I[r~UFߣ3iF6">HR(}.n]#&؄iWu~U)% y]umExM vEه\ U LIcw؆b[m4ꔀC Ev)>%de2zY0y']`E[7JM:b<&uJ擩`RFߓ 7ss$k)+Q+?Ll}ؾ+u%ै[jXH:pi"`oEX %lt@z-wo ޹& %)ٻ--IF=X{4yƥy3oS$u3[ZlFA#\GGu$$!JZ)M3#mT;}=w3Z}z`aRlD4tq%OD8ڵ 2ڹ[NDgGD%J)_05v*ij@@D 㪋ؠQ''@Si[n܉o/w}&&7mdYQ:x&aHF{qQ;_@}FM3°T=u3;b#"Oq}ӗp3QWA xE&-v (%3AVtUS&eTvuVb t])]!}yׯr&-jg p2Omvfo"r8EKcd"DXUnvd Y副 _Bh9ѫe^>j77QS2&L Iۋ2=An3wuܘJPymKfz/(MKy6P v+! 9Uvam`˱kNV JOuiBlhoW0 kA6E!,rkA90ʈHü'p2Al$fu^9 +GʜI漷:*'B2:]{]e}IqԨ2Q9X\{?C {-.$(6Ni?nbT烞]{+6sqcBJIP<W;OAW: z0щ*+Ɓ;Gֶ!L[ !q#s|#KHfsV~kՏa1}w~Oe$/̗\d"WHloJ%pt/plr8s![h #kNjvek\ ˁ/F6Qye5*٪-vhXXW'YQy SĔ] 7?>HxP^Urr^Ydz0eBnEA_[vy%US) _WS0pJvWܥӾqTw0R+La>\(cOɕqu{5ITΓ^gc!< f*W˷• _m0Il "VZ?7zNya2۱ keBDoZ/z(?(` o(aEbjGD9o)RBy|[ec0S 鯜.-oYt)ȸ1z|8 jIPv\o' !v %tEim & V1; h6 9Q:75+XӪfdQdF<}Tug F;! ĜAěqbB_H˕n!1U~0gS_o)A)2F;h]ay|W ⠎$)A$!PhV% cuA i8QA7敾;``jqi(ȯsVE^K^DM5c}2 YZ