ikiwiki-3.20200202.3-bp155.1.5 >  A dk;I%z Eo_c>B۵h~nYs ?3ȑ:E \L;9FV7/`OdzELH^3 Flma_RgŃ 2y㐔SI;)>vc)[Rȭw\g!4q"y;Kƃ(6n904B:w U&ex3I-۴bnAfO[HF?ulFc>F*$iH_#jJGM[K}4H*L WկI~)BKѩt՚3=_)+^.P>p> ? d  ! 1hltx $    #  ̠[@<h7D7k7(8 9 :  FG0H,I(XY\]^pbjcd|eށfބlކuޘv*w,x(y$z     Cikiwiki3.20200202.3bp155.1.5A wiki compilerIkiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git. There are many other features, including support for blogging and podcasting, as well as a large array of plugins.dk;goat17-_SUSE Linux Enterprise 15 SP5openSUSEGPL-2.0-or-later AND BSD-2-Clausehttps://bugs.opensuse.orgProductivity/Networking/Web/Utilitieshttps://ikiwiki.info/linuxnoarchCn = , K)v*V$Y|, }Us '5.i 5FNpFves !V { @$4 TM#^ISAho 1 ` T4?"g b ' nQs  '+ )h23C^yv?T!afs~ iSg:5 xionwe_qS7~vws2 zg|_n&@$&PJ  aPP+j  N[X.- SW,PmnC gKNepJ1J  / q[aO^$ Xm   F R/ 1 3 nd!1# S $ I> '<74  8k z m M<E  r M:;A Z PBn 7;52    e0$ !  6ZS'bt.2dNF)rv = I& SFpIFkV2P.ѽBD ,FEOrX@mF\ O h  _6A큤AA큤A$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$A큤AA큤A큤A큤A큤A큤A큤A큤AAAA큤A큤A큤A큤A큤A큤A큤AAA큤AA큤AA큤AAA큤AAA큤AAAA큤A큤A큤A큤AAA큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤A큤AAA큤A큤AAA큤A큤A큤A큤AAA큤A큤A큤A큤AAA큤A큤AA큤A큤AA큤A큤A큤A큤A큤dk;{dk;{dk;{dk;{dk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;{dk;{dk;{dk;ydk;xdk;xdk;ydk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;xdk;ydk;xdk;xdk;xdk;xdk;xdk;xdk;ydk;^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/dk;xdk;zdk;ydk;ydk;y^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/dk;y^7/dk;y^7/^7/^7/^7/^7/dk;y^7/^7/^7/^7/^7/dk;y^7/^7/^7/^7/^7/^7/^7/^7/^7/dk;y^7/^7/^7/dk;y^7/^7/^7/^7/^7/dk;ydk;ydk;{^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/dk;ydk;y^7/^7/^7/dk;ydk;y^7/dk;ydk;ydk;y^7/dk;ydk;ydk;y^7/^7/dk;zdk;zdk;{dk;{dk;zdk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;zdk;{dk;zdk;{dk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;{dk;zdk;{dk;{dk;{dk;zdk;{dk;zdk;{dk;{dk;{dk;zdk;{dk;zdk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;{dk;zdk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;{dk;zdk;{dk;{dk;{dk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;{dk;zdk;{dk;{dk;{dk;{dk;{dk;zdk;{dk;{dk;{dk;zdk;{dk;zdk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;{dk;{dk;{dk;{dk;{dk;{dk;zdk;{dk;{dk;{dk;{dk;{dk;zdk;{dk;zdk;{dk;{dk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;ydk;{^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/^7/dk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;ydk;y^7/^7/dk;ydk;{^7/^7/dk;ydk;y^7/dk;ydk;dk;qdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;zdk;ydk;ydk;ydk;ydk;ydk;ydk;y1d1e4eb8de71d46ca48073a0b7fac92af0d5f8c5f744c9b90797ebf6b28754d3e633122806fa0488a4d778d7ec53c21e4ce053c896bbdb56595a63f1a6b34a88d398cbcdae3a53cb9351c1245565dd645fcfbde22974f4cdaf1e6e97326b7c7273356003af78a9cb10926fba2b052cc9681fe1c466ec9b7155f9f9f3e3ec1d2da0618ae178e76e7bdcd0cc28637df455717a95843e02491333d91490011ac05a39e426f1538cde2d0136732003a9613d09d2392f3a48314d88763f68a9dc17dce8b62eafe180995b3be1b22fa9b27aad6a3ee0b0a5e3dcd4a29d6c6cdf9436c82a8e566ee75377e8324f86782e78c362c70de9990892988bc6873cc03607d6179ddb9bf224c74feecbda4c2703df2453a6c5114323faf5b9967fb345a14f6de35b7829c733f0f10ad6f31ff0e9bbb548beec5366cad25d2898e9cecaa144ff34c783b2903ad82908765e77f9454b8e72f152b167b48223efed17521847cb5a9a56ca35a58d5660aefdfb11826d41d926a8e86228a553b1642b4441ad4a367bec2159fae8e105b40a907690b6ca616fd8ab0552e7f81d8869551ee5045ac67a7147def0c300ba92fd6438e85611188cb1a7871c1b6e8bfe23a27038f2e01bfe892d3dbc614401df25e363d1aed5b709cbdf054eebaea08bfaa776e13b769d362ef1ee440f26e76bfbd3286edc44bde738666f31555715c71d4adefae7bab6cd4f32c5a91c722ab52654f0dff61fe3991caf0b6b01f8b7aa02d8465c17c8a5de92189d6aefd62ea83cb2c3924086729f7b606611f175bd163144c28b98ca110cb91a088d3807912c3bcab2efd3cbd0712f3d8cf40d1121ef128df249e48a79dbb0699bf7f0070da6e772c438adc71069eb620e7f9a57a2137085a4b7bfd49ed54cccf5c30449587b28d782453e81e709015bb1f721596fb195f27392da51f1c6651370255f3800c97b711420cc8386e705875d78c124818dd91c5cfaf04b1caa4d33ce98b2615514f260faa77584f326b473156e456d3e25e4886f18628a8733c850130a73fadb0de83e288467c6475247c27764c4cb0be675d1e9d19b533978f8e1c313688e5f8d2e50d7a67f526ea1c4e3ba3743fa9659857d58e8428470a0d3353dd11c8059b55beb397553fb7a41f748fe2b1cbe241baf9536bc533e28c5b5beccab3aa8c02fc9da67e3170068f6ab783ee5695bf999421fb6b2a7f8f5d7271d1e8b9569823fcdba60fdd45e98002f9d728d7e81b722a7c06823ee78c5022b20e2cac4f456d745067e5806f53871eb38420e381321c78a3624ce9ac770f1efdbad9d3a113172d90160b8d3fc04deed3034a9133037e7a913fdb76dcaebe0a49871afc10b0f7ad297bd47230b986a100b4a85bba0a4b3c0ca3d4c9291dd59e7b37acd3b1a216c3ada569385dca1e299930c16a59a78cb6222ed43f8a11248c3185443c845f083cc4bb2af8744abf3eba858ef1f641a88fa3fd5527039a1988ba812a50b8f7c7b4f6bb18762b29ad11c1427398308f84ccc2906e1346249589729b63d734fe15558e8dd558a1de72907b2593bf103c4b1ffb092c40e210ee3dec108129bdbdfa2885c0a398eaa50b81ba94cfbd977cf794ea7af2e399e3bfbddce506a2aaa2fc424f56065d43799a6d47a694b68f5420b3cc63d84e1410ae8b7bf6b7b33e4d6c197a845c869f11ada4d7f561596942f81045832a689c856dd917e0e9e996b60761dba859e6cfb9bb6b22fc6a033c9a2dcf1558b2beab41c2b1b491ea56c3857fed3324e8276c10f31a785921add2ca8e27221b5cb128faf2305290233dd124c2e476dc7f92eb65784800d14379c33e989bc85a932fd5d37bbf66aa8160f62defcb5471404ccaf6275c231b12e17c965dde5cf6403245e8846c05fd019987d8de82982ebca3f99dee14b4aef18527f7fe17fabe2d77896af0ea8748013476cab39c1e7b8ef19830a0a053204a8ba7e8adb84db5027476258126151186f5185e7219952b34b80ac23e827f5e3d02643dc8d7b1692574ddf6984e225cdb78600ed22cec1f08b2f20f058581b9060e4b7943669444b66af0b6c11da2cb5c83941dba368d1574ab2835c1f6b833c275c7398fe06edfc1d951bfb96f15ef95c94b0f8b368a1f96f999f9db077c27bb6472c0948efd886459e3e669f160db1838e1876c8e4127516456ec2a0ebe5e899983381a80e62afa754810a44fb150699698ac616f66ba7edb7f54c111801846940af3a26d78d4fc6412bb640212252d427f3b561882c68e1871975551b69c069498559401bf6fe66780a72a5f5c470aa645817f7d5b1f55ff2f1e8d96413cc97e9611c4ffddc4ba6fbeb7e39109874ddc3afc7d992915e13654a87af4657d1e3ed58a97525913eb53b2f17eaa4aad53b4bcd6bdc9f4176059d27f925fd7f221f7a54e3c33e83b0f9dbbb70021a37a07618e7d21b5d8078058d176c295d40ffce6d7919feafce89343396f4667a298874e68392e05bd2252f8c8ea52e1538652b3a152ea204c201353137436ef2cc074761726528e73f65f709c416459214f6c7a97f2416777f673f2889c770bfba729ba407d6706935f6cd633b8e3981dac105c1b3136a2710e3d4aca1a6a911dfda9f010163591fdb35ddd6f8c5fcb06479a0df3394228597e841c47be7625ec75c28bea12716e1c6e34d848f189e85ed6a63216e158646ab8b4174bdaff01f3d99a99167fa2ce2e36caa21afd741b4c2201f624d3201849af705af96627e480d81b905c8f2696a5c17162337261c3f915bcd5f71edc7fbb41ee0c67fa11cf1678e9fc68fcd34e0bf501bcfdb724c782cc2e7c24ace0ee7c3c0a5b59ddd532c566b0b5b591237af6f96cf97ad150aecdc1faea090121ab894f603dee8602985354e285db6316858b0fc78485f5609ae66aa8a20cdb2784d99131b8be18fb1d139a7c3e5198a8fb4255457359f4050a68163a37c623bb6817d2f6e9e11912242798c5087ab411103fdc530b9878839b174a09ff39d19db345530ce746dc9f9384f8e15222da5d5f660b83f9e5978af44ca2818c65f2f9094f639a4d4c036c0c835184c411349afd6d9b8dc127715bdb7c462d8cc809eff8dcfe39e866a393e64a34c876f1f529e9ff643e25bde4274c4cbc7e260b2858d57e17358ae3af4ddb857c6c2889751a606775c273e71591b6f5dbbec942d2f1814fb031dde0fc818aa1688f1643fbd54d3f044b098cab0b16a4621442ff550211b6ea021e9e59498a25e4acc9bf4a2d7c78130f4d6735cc441f3008b0f73a903eba54b901cc95b1e15b9aa1a5cdf8bec68c7acaa06c0c1369997f200e88928d877ff3e01006a7ad84e8d467bc4d34e6a46982dd3fd8a4acf2486e10b7e7278abd68e10ca6f719757738005cea54a13b6e1431576b63e44d331d8e3317dc84673dd61e666d1b2c42f5c601179960f91f524adf6a312589b854139507ee6ae13448ebcf9f6b240618aebbdb6bf299dce2e332d4cf4f0398d12b1731b43500fd38704e4ecaac86f5ca31c708ecdeed9fc4c429d5d93ce2f02e684608c2008b35a75b4565d3a60fe1681c1479f65539e3ddccab4a987c6625d604cccfc48979d32f8c7f548f153e91a4153590d516eb15d39f69997cdea8b6f324ab9fcf992bf25960175059c05f3709b59ffea07ddd81e19d7ec1d06b8ae32744cf686ed98cc1596a36e684848d454fb42bd54c2f60787244e8aee192644977993c586493d9c6c85b7344cad1ce5f5177f22c34ce89a8420cfea0941cfd06312946a996bfd8a07aeac3117d8b9d035529759a69ba71b1b6c9d26da8ab5d04d606628eff709dec08d3cffa9a18eb4d071a0df6888f8427e527f7f3abc3212073cf9250ae85782a6912f6996cd47d7b3c07f7fa6817f680b9a4dc0b2b122965adeede1fb0cdc132aebd0b7388e1277e2b425b1a821a64b123e5ed81af75df32e90be41ecada974f0acc8ab975fbad2b34c183b93d6b7cba0b40576c7dbcb2d256b2f036951941814aa0f7f9c5d0dd0942d6c13588a6962f9ab4a43a4b3592affc7a0761929fa0023a15f8522013ba540604278868768c018325e0589d180774c4232abde500358524e551eeb9cdf6b04c0162dbf0ea35648f1f1a5748ad38b2884fd8b32609ec053381adb75f75e81ff15db6b329884694549f087daa23be769e4d0462fe54c84a916c7d1e68459e907ceced38f90426ac15a1b7a91480f94111f1ea9c4b6c73507fbcf13fb3f988f43dd2d5f519009dd9023865033e66c2a150f45908923837645815e2ad072ad6140f8a269d6eb6837a740468bf3ee5ad3f2d80c418fb95bac999a7f799b6b8a0de21e973a8e7a19060d8b76a7f9d21c718d883d056ce0a990f3b149c06c9ec8ebcf2c22be0b71e74f586c4f7f19899b436efa2ea41423c3530b81cd63acb829bb3b9f4d8e723209512397606bb58464b267db40fd63ba715c04427c6404342501a56d176125c40c48369463dd49d3bad7734bbd616fe041c996151bb6f59ad935ae1056d209a49e8efd26e5670d28b51d07d2a867fd698922cb4bfc1b9b42a0656dd2dfdbf054df4dccc94211858c90ba286f3eb177b8efb9fc80c0c656d2787e5582a3acf217253e2837f72aa76b32094aadc3aacf6bf05faaf7fb2569dfbfc40d8e7628791fa18b89aaceb53f475f537b594e06e936824b5b48c982d3693dc477ca73719a7eb0395d754b45d49f45c029e0b651b3961591ce2ab23fcbd149727155f8a47c3a67a1b98d0d5881b57bf1aa42a36c7a1fb870e515d53ff3e0d95346200aec1d552a322039c0a9b505f902c27fc2e1efe48364e5afd2257aa2418ca4d8dccf3c8c9d83056cd7bda3885e8fd6b845f83cb99536d2c2d0ac405e66b2a77072076f4cbf8984596187f0539a347cf79a660681a70f4fa41fde6e3b5c1adb793fa4a0e183c3fcbbbe4841121294b790c13b3d53ee84c2390af1dcfec6de3a6a5badfab57f29c76cbd987d5a0172d14d3852925b8b567f1139bc3445ed8a1ffb07f5a107a706f48d67b63bd48dce7c91fb6cff3ae6513bff0a4a46b550b80c7f13c2eb854527c15592fbdd82330c38e91d208df8dd85f36a9cf9a0ef171eafa0296b2dbe86a40ae8e67f2fd186a888be1a2d1e2388cee162c0c49da2fa335d6da658a961a7812635f3ec2480de11678cec7a6ddffbafb763ff7acfe40c546cc98c417b946c4368a451e548b0e477aa22d4760e7522b89d5d40e3cc7348e47f899ce335420670ddc61a350403d997f2e3867158f3c1c20724fe691561cf40652149650a38889d3b5c61f5058d7fecd37daeb5679ebb7a2a4d6af0e316833d058323c765af2071be16a22ad48db4815870352e3bd741a3f6f9e5ccba207cce4a4cd4e865230f5b43e2909e21b4f852d423c73ede3e69d85bce73432d4866cc2f64a26453df4c5e29b6be991c48aa57536a9c7fe36638380b9f8aa6066645a659023044b2f7e070a2b509ad8c79a0031ade3f0ac0bf42f29212601b7cebd5a910451a8300986966c5561bb7fcd6e60530e87cb8bb5e2f7d7e7b500408ab333024d3d84e2f41b99a3c7df51ecd79e62e9636d1302d0dc4659aef63bfa1317c2ad6cc0842f737e98450310c9780f611198223591f103a6cfba7a9b35a82f71fb1fa8d4779d0a56b4af206b4346eb30d7abdb4439959cc9a1c20884b5e65cba7f81dec4eca74a0c1cf767b96135fe5329293c21366b2fb1caa33ac984b7db61b76c878d11c791c84e9c847b79264213a2cdb315d37c437ef2ee459ed46b32b9b810ec9cb5bff6f358ff43af25591be376bdb0bbd921343d8e9236fb979c87f95cd5dd18a231e63789d1af80c7cc32f1545b7484ef2e9b8c62ec6bbc0051ff3067a444fb45a287e7b3a3ccb8326eb731e0e66c9df0ebfc39cf8d3eacd49a49b4e5c58c1922cfa99d4c869940c2abbf03cc8ffb6e1051f8651be9aa1972768dc4ec544800c3d3c3b024af214c2cd73e7c4c69fabadf3f0d02acd09c33ee47ff57466a752ee64d7794b3464871c742a9101ff6c9e28d27c902c327d30c7f2e7f2627b1a27b2b409f9a14256905791882970feeae9cfd52352dc1a3a52cfd2f3820308ae4de34ba80bc54f6c1fabf153310cd64416bc75d611b1887229eac1b756b07c97433272127bea5aebac77b80e47c3a42740793efb65cc0cba248bd3d653ec3b95fc2f0a0019b296d21a9d2fbdd9b0fbdfe57f8d1afda3dc73344253a1e2198a248542b3c3505cb44a25fb51bb989ffdf38ee5274420fd629fb00af3de4af4bc08fb85636f95c51d5903f5a199d4fd409994d2edb6fd80f6a2cee8d801f26923eaa39fc007436f689e0123b4dd6463908a09670c64f0f25d42c94151c67f04485dde1389f6123faff2630847070ba72f17fe5cb990eb172029718ebe93bfe3b877e5d43ac36528708835d3a89e7758e5b0621ef5832aec85d7c5695b95168530d87520e3a10894ffe9cc4f8b2f897da10f0c18ad2c575e91634fc2eeb00d6d6a2cd60227796172db7a548b0d3f1e5c13a10df4ecd03bd2dc3e9626e74fd8b10611180f445678bd769b46bb172be99e51026687c68cc0de72f9953f66f55b74ee3fc1dc2c4635f500c58b373ebde4551b47c1203169e945e327ce647b48a5b4cec47c67c0171755fb7f9ea46c8aef903665f0a56f9943d2dfbe78a68a45898c0bd5ccdccfec811de18cc1636689d42cc2cb358933fd604dcbaa76da36926854dd3e550ef92dcd97080803913ce7eed4fe7eacf5ef7de41fd7c7f0ebdaeef0bcaafaa0866537587c169918356697dfa29c1fec2a6abff111b1aede2f5a24827dc2890dc9b3a5833d7c938096d26921ccbbbbec9fb89dddef2591b18e8ac522db31a51640b83e83538e9966f6e946b34b2de2de3032b14c2b19a4a4bd8e5a54d89bf1fce3ede0502593796732218626c412ad0ebae92ed31827f6c22fb115e7f21bba255c2374467751cf1f915a4daf57cb306646da4a43ed9390ca401c46ddb29552e4f4ef312c99fde9d8918c51f15683257f3869ad05b0c39a93697c3f2d348c1eddc1c01e69fb9a89a2487b4ce80d4ab6ac52ca1a3fff72d159e93d5068ac3a21172b9499b698db1418816b5a03bb8eaf7bfe8edbad12001b56d453a521e86946c2e06a26361d76d52543dcf0a27cf8d6976815fbaf84bee682e9f1ef1c9a4a863a0d211224b17b263be462d7525b01959ea6e4ffe681d3f3ebe86f2d9e09f03f11459cf44378c8c0b7629251a534611a9ed0094bc16a1d33a947ea14688637c52470b1df5a1ef2f19bc23763badefee69e3078b1c4edf6208257eac111c22840875fa26c23778f882d824313ce732f5b5052aefd67096f8345831d480bb705b317157dde98b714ab5d0f0cd75758a82b7aaac1dcfb507a1e58d51f560db2231bcddb2e79c1b900824f426b078565a4a932745bf85b4510b5aadf74765771e45c341de8231acad3e100e828d77183f2fdddf045383ed25d1f84e28b8152fee6c72d4a676dcf7e47d6e497f6e4ccef2abb0f9b90114adba6ad0151205c3da5e4b029b908c21932b4f53b8b82e367eb957d60f6c2a2f75675fadbcaa58b55a836bc6eba47d8be25a2b283b709eb2841b19678cde79718446dab4b8a0856a3c4328fcad457ffc787aab2e723a4701fac1ed386297257f3c0f91a4bc591fc8394dadad789a45ab53b619988cefd45f49cfacc604dd499b93f53a96927cf7b2d965f421f489a8492a580bf85d3e98ae8861fbd45567e5a1f83eeafcf9574da0399d5f602ab39ab7ccd9f4e82579da78a9241265df288d8eb65dbbd7cf48aed2d0129887df5691597e8a40a891ea94d3589976ecfc33e6145c49422443b00ac2b5a0022964cf0e6cd91b837d5c5644d026e5ffeccd907953317cd5c0f689901733afda260b2c108f5cbf2dd9ec07a26530695ddd95e1664597ce6c056ae44c162cc2e28cec4ddf5dd4e0ef2b185e8bb0af7b6e90ebe74a84384cb4700658e76e754c8bfe550f6f1c1bedf1a0f37cfef81d12f5f012869d1ee7c984775a569827a1784d34f5c54270656df079c4da5182629a080fc633b6f84b87985eb016d25a560e2c38d4aa2ccfdc001858222885a9df39200840ac7a3f479ba889727d32a10398db7918a20f8c6667afc48aa433ee9eb6d8a0584bdbd6b4a4a9091ff1e6b3adb31e63bd907460e843c3e59aaadbb34231e699e856a2980753c7a47b66447da5d9f93fb7fea2e29625de3463465e93b002b065f5833e05b97f7a052b1c141e754d62e1a8b1e32c6dbf5d3fd342f27a78aa881550d6412aa207f48468724a6a15402b6041b0e4de05ae02a70f3fd134e843bdf65ea6e366edf89b47b60767b80b6f10a986bc14c21578017458c57b0f8125e2fbe4503d413fff2e654ad30c7eb357f72df38e353bc53010fe963385dd904f2a0d80cbebc4c0c1a923d0f8d5c324166d9d132c360eec762da3bf29d6013951d3bacd00d57f724c17fc921812c4a6a7af5d98d73e5f9d0bf2a18150f1e649ce0d160589893ec67a5a10a086bff84cc2561b4cbdfee1fe127c3a828a6f88e3ef6e8d1d7f8a3750e6f9d9e24520992a2294696a61271c1a62ab320bbd6d24646876741939deada9b2b3e6db4c13881ef6e28c3ac2e6102790b7df4d2c496c2fa278088d7bf9adc37279230a43706a971b16ca00d8786de1ac63a2065e252519f1cf44865ef2ff0f07f39d10b0cd936289fdffdcb2b5870be8bd7419d82ea6a264d72587d3729c4f96d293c54b204eb7c7411f66a61409f3175837b813a6ff1ae8114297231b2c2d037d863649e7950e011c0f393ff4bb7c20ab7d6ebe5a1fbdb2337400489535878d0db01ab4caa5d871917b8ae31a3ec7a8c1bbfc7e9949a5952b47ffef30e958ba5e7a235f5d2e9db3b96ec5e208521ad4e14cf1f8030b362d0c414c0d0d7b9482a88085bc532ba54765365e5a4023aed5c1f89dac0ef34ec9942b6e941197e954f6092fbcf848ba18456c27802fd98cfb5ec4b6483762c4725f03a048e3ed01f26f307cdb5b2122e0a73cd579f5b586b76fed62fe5b42f25add774fddc838aefa85ccec79b3270f5b279d12cb0f49807aafa7d8145ab9be7e3741920baa0e31bbb4e3266c485399e0f737a769d3427f14d59af91977ffb1a65584906a1d0adb02077418676ed8e8f449ea936affb4bcbf2cf63bd6c9f8ffd60387a55c646fc887cb1dc55e350dc1cbaafdf34e5081905eec2d672f7adbec9fc29bc084ac6efb8e6baa56c4891fa8f4d32349a9c68f9ee6761d48956ab07673af5d3cdaf8cabef3c9fd24b98ac242f5a2ec77edf7dde0d62dca9ec5e92412ff788428ac6c65b087423a8506baae2c1763ad9a8d61f88fe1222a922c7cddfb0bc937981aa6022cf9d526039bf5d8805bbd4d278571482332f896ddd2aac79ccbc7342785aa68873ca6865edf47d56ae65cc081c0ba5c728c43687970958e24e01e08de578ed6e24b64fb75a66e6b5d731e549404afda2a806f12f5c32da1d8bfdec404e3095a09091fff5cb674049f8e1626ed059d83ec7ae8d9d9918f7b2e4a0422679c46c58b305b1545e1426dd4dd5ffc014d3057c92022db3651d4669770dd8820676f3c4a63034bf66d3e6379bc63745faaf743a79c0f2ed94e89389d1e4084b37be730a349935bec5963342fd3e1200fd384ccdff3a87a13f0f0567ed71b86ea047eb3131e621060ee158c5e4228207cbe2543f1c40ac6371f6927d507db87912a95ad61994cd78804d4fb171fa9897e3b5e13a21eca55383e5b57318f1a5af1b8b621fb4d836d06eb6ea60d826957ba38441c56534243b91fd51536dd776512e8d112094eb39c647e09eab8bce6010ad33051bc1817406cc2fda9b6119acc57d550dfa91f08e5af27383354ab21175cdef03b76f5475bc5662b10d3013251f4568b27570333d59edec5610ee70e224eee6646c5b0e29ea754c39d985ffc3ed9acfd7d56f8ce86b9e62464962983276d103a403f62be9b63684aa2c63d06bb1a1251ba63094ff9bfe3a40557554d56ff072f75418cb48a917f1a5a6995aa639bc70f8a9ea5f03a08602f01d8874b9ce788cdb512d1473aee3cc0c25957334536f13fec34c82ad687786bec23e9846f22be541fbed7a3e45eed1befe15bae3fa52f62d0a516e9e39392a931a58b47c6905e541fbed7a3e45eed1befe15bae3fa52f62d0a516e9e39392a931a58b47c69055f5d0ebbd49ab2330ccd9acddaedfb1221dfb668d97180fef866dd21426e7bcc5f72483d514c300d794240e86b5e6f8879f90f9b71559b2741c0134ef8aa6f68fedba43f49b589047a9f78810d1d33406d742d96a92a316916b93153a29804a8e35379fc7af7c54616ea11e9e2a537d71b99cf982acec442f76fe2dc3ca75364abfafa656fec7a6413cffe33d967f035e6c99031edd227958bd88e4534f3568fb6165fc7db104d85506043148f9a4bf1a8c3874347333e532d8e9e43186f306668e5940d2918dae7a83a0c8a20e35d449f8069fd667a63be0f8968af7ba91832f61aac7d9aea4c1ee95430407b724f0b722b262ebf001e1152b21fd6ba6afcbcf8e54625e9513097919307985869081f747296f4482da90956e9fc3e2757633e1346bec4f1f33c62a1d461da189104ce0ec84f1e54ab71feee14f0f25c9e494186ecc556cbb615a8b0ee2cddf67f7a921d880d8f70df12f3036dce9382d6d316342290ed161d0f5c55c8aec84c1849323101ea23834de2374a93aaf54d8e43b8eccf7e4694267a27a44c9ec37a16e41396e9e5e9304c05669ab480f535f7845476d13372ced7b53d03b6164c4940f1a41b5ac5458ac81b0b35453c86513dad22d275ce2cd7cf065007b10aebcb20a99bc6771ebe25901a678ad2dcb602967bca9ec3aeb0e98790a5478bc884c55d6a9a91a6a3ef68686ffb4f87545ee4801e9d654be50e277b7735d8e45cd7a9b47c523dcbb6c053e289c92c9937062e974d30b26e83382dbde4f77f7f19f31fbb314b753c38fc0c4b83b7079072814e846014a4c4fe8ba36e73b9540e55d53b8def4c098a5ad3928398d9c3bebc1653c9216cefc08ced4c9c0c54a1e57a5f45e8598604448dd1ec3cda2ee43f8cc837ac2004e3f934573c2ae798eecd482bd2bfee496e5edd0884f4eaacdd60a79ce6cf2a60e541fbed7a3e45eed1befe15bae3fa52f62d0a516e9e39392a931a58b47c6905a173be6b44e3c1b3a1395e43676cdbc8efbf4da1f2dc234a294beb2c437418b87e3ebe8e6e00ec1f1741c48485a5f4b1f66c5c8c34d6a097d94a069ac9253556ca59a3ef738af6a071833f11aa16690515441ab1f35d991244f7aced93179fe1ab1f4810e26cc23f87306d948162165891ed102829d99b400fe3fb935fa2fa5bd6ef6468d788d48f96e45c99ad75c38d9634375ef1ff0ad97e795e9bb4c4ab970aefcfb32fb5a9bef7788e7e47572d28c0dcdfcc4ca763dee5098b078856c7a05695e90e4b49f9b157a613f125f67f984fcbdf25e09ba6f8598a43e965a301a7dbc7cc21a05efccff0cb298e4c701f1b31e958d77aa3d0b5ff3f16411111c177660bae8a3d1782d8bfa5d0669937a7a7b234cae4efc1437b33fdd790ab4b3d1c53fc582a9f949f8761bb1426afeb47829faf148edb3bcb137fef8a0416eab94aa0d1ca8a5358ecf924199fe814977b07d2dbb76ab08d18b69070ef26c41979757224a91b0bee81e4541fc2bccae17e05514ce181c7cacf183343f77aa8859df63e197029571e09d26683ccf23e2fb0a5d4308364f022759af03c16cbd9643f8523a299cad4bb4c7fc2230ef509f456c2ea31af624d4191f9a8899cd78c7e98391a20a0ffb85921edb670fcd9be454c8cfc4b26dcb0a497f909c3a53406789db4c59fd63792dc94787c5528ffb847192db3b9484f997d64392c67c6e472e53caf952c26f0d52f1ed2e6243d6a318cbd3755dc218e714166e8475af57a919064f6284ee599edafa99ebe3cc29bb85bc2f439b2c8479707661dd53ab549172b49c8a5bdfff8c90aa9d73c8c1358afe7c120ba7d853be159ef1ccffca2e632f1ab04a7208d112beb5240e623a0744bba0a0ffb4c05c02c57ac28fbd738257910e1199a34f313db9f72e8d61bb7c754e3850889271b6975bda9479bec493e93016bf0f209193d9aa0455d98858a53c083dc4eb0210604650c001f6bd234140afdcd1df4749e6e3b570a83913e693b76c1f21a70bb5da0b803c4238e79cb27625b5421c3356626dcd228bfc022f6356dede0124fd1db6d7d5ad3ef467127575ea576318099125c5044b3a31c37c271f959a1467ea0fd9f5a15bf114ea8471d6e50a3df58b2fb2336d94c90031f31fdd525a42eb91247a6a31d3906661d00b89357095c382aa1083c7c4ce5304dff39fe6930eb7af6660be291d5e32b7a595b91c4e7b6166d18bacbaafd5174e693f83d9912980f1d6e6fd4345a8d3ce7d77df43e186a3f95b48933b3a0974317629e8b7fe2695263e5ccc864afd4d3ca230e50703da4ec0226a9ccf576c1ad6f3d3e15a2f393c7cae5e166be2e4b8e2660a89ef8605bf31e30cc3312aef952ac10bf95df225d46912b78105381bd38799422114c4f98f9afffef1d15c493049cca2cd9c323ab0b178d8ad75b3738ecba6c1424dac9411a7aeae45f228e4614a6645b6ed072a0c039aec8ee3c8c9ed1d6b8b266f5abbc1b3238ddfcc3c0068eb8ae332f2bbb297e53c9d63930e712c1e1b6c72be82e0a84e04f71fae719e64d6ae7da9baae9a5076d62a77a435302cfa21943aa063c8b8f4de9448319936b906d8a65f8912fae69ecb4b9c5566e1e6971ad8139fa9e54fc3519601f500c0d6fe2fdf9c6ada3ad3bd0e2427a099513ea006fd6accd18a914fe7c8977eab66751ef74b3f606091e9ab05e2efd4ad4651d2bdbf0922ebeb30483c0434c4a5e984f2defe92f4db00fa7b899af8065c1946d92cb593d6eda137a510595bbd205abaae74268fb66c252392b37212fc07a85956f62f07d84e3acc2a57cc95a8d51fd6b8229b73f5694e2f88d8f82373c9a90eb99a79b11f748facff1bea98753ccadeeb7c88218afed23a3804d9cd1f1e7b2db5ed187dfa0bb79ac4c997ab68f7649a3360640b4a551ae38dd98247553eb8f0f504f2c483b7ab7645e4effec0c320f872149f8c4662db81aa5dd9243e3a34c4fa8e47b15d0c7312fc227012ed836ad079080cb62e09596b87920c09fd6bb446805d55973d4f8e4091b5bd3bbd185f72cb7b2822dd1fb7f7ae4b27f1cb9cd608d1acf0eb2db0b69c0d9151f64438633835150bcebb510f85b2d790b9a2a3c23a963e1175eba8e35cb5add49f75cab70d01d9f7c17e29f01953a6ca78685d6c96ce24deb5435bedbab8f94274dac3ef971cb57504bb0d4e10ab50a0c9fd21ec34c2af4e47f7f2866de770062a515eddd92f8869d438900b14c249a84db26eb63058ac8b3ea64200c8c6dd1fc90148c7427b2b92b4ca72233520e98bf75094831260522c0a6eee922b1fc37a753420877dbb699f91d122b294d51c0a57181052f741ad3289ae30e6da7e03772d73cd32a21f034b36751d5f91807925aa5204674b53b932d53c3475471605de558e9eec9dd4aadb622e2d98acd959494f10af796e7c379d3055f0d2ba8bf50f84c3c31719de2fc1873201c6629aff1d9fca45fa803557a3b3bca783b469598c3f162d1c0a8d5b32e5341ee1089f405a95eae4ca3cec13f3c7732c168a30de5d3c349894d22f3096e3e2a76989a91d9e7543eb32d494a2e0ffa78da977d466ce6f5f185d02e754971515b0ebb7c5c6a4e6e09af0ac73e5ebab40ac7e05ebfee75a02f8890d41779c2df843ab805f54b67f53bc3f856b50de60da5886bec6c0e10eb0d8ddadae64fce53ba54d8786e43d0cf0200a37daa62fee82029f4bd09f87ebb1c33f413ade289ae75f6d86cb1ce5410f3c3c549a33ac778910bbf2017d60efb7e0069f43357809819e3fac5403f0dc196277152b5dd3bccbef48003f773b170586c7c76c89e25302d8d3bb5a95cbed79c500c9fa771ba1a3c383199f09fa026fb67ec7645bee05cd60db32b51fc269d4f6dae76aff8fd2b5b1516fdc3a21ac62ba8045431f6359e6af9f7312505295521170fa9577dda9cd4f44254286faccd3a5e0bc1de70a63d32b7cfbc1a69dd575581f32e6c71a050ab50efaeef9afdf4290b6bf3fefbb482bf54c51fb9161a86082eb60472bb8ce3b025c3c13b07c5f5715a0e85bd880e7ad06a29dcc553912a0010ecfc4d21d49ad954d14afa559bdffce3027373259bfe2cc1a9af8c150334e7906fef996593bd7c39b74ffa36108897175c61bf48ec8ac552470398be38a81037861d3742a6b5f087a2c7efdf3d51ef1a2c1cb405243c46de4e7d3adeb36194353055ab0fae805aad3b6e1c690600be97045ab5eedb958294cd9805b62f46095bd0be80ed1d2e771a6530402216a71f165a9a5732e8381a6a98e1247887773dc4ebd384988020dd81560715f18f4ecf95746baad0a11fa25672893166e131d76f89487a1894115bb4fcb3fbb8fef277821ea16fcc6bdcbe93e1b242ad53ab832aeffb71d5ea785af78f9c27d36109a21e76dc7bef6c54b4688adc4e6c175fb0065d8e8d3dac41d9984d90e4e09da999952a14f4c0e9144e67e81b8b5936b15da3d90e63974207c8630e8d6f360b9130e4cd9f571ba1fafae8e5a85397f75c1b14d88d5acee3ea091ac5ad5ad2b25b67df4e3eacd16120755f18d60e91d9b11a3832cc5196290449f5bee200a8be3a9bb9890dd32893467eb55acfe33341f201325576529b73414739e17e11a8cdd86843a8ce879a48237fa97b1959997381a28d845bb018081bba10bc2fd2fee0f26fe37c7e845f0f28216a8fbe8f75c28242c870a590a9f123632712dd0fc05fdc54f16b4e0d7bee72d239d61367c9413774e8dee004c46891303fefe60ddbe062e631ce2ee99b0158507aaf8bcaed7c6197396f23b88ed6e82ac24aea4d9354cd9edba248d3d6b6e3ac65240ca941f4de1333568013ede0d885f6a8cc1660a2fa8ad68cd279941c333522b2a4a6ece593746484b400062cd23dc13cc6e687cc4d2b90e38a55aa66220ab4f071f9ee79c74dae3aaf1f473fd4a5c20933dea15256f9612881fa337ab4a27b04a85b8720589f94757a1b83377a2658339d47cf14da82b36a608038464ed0a84d1c4dede567eb11719ea150ac56235a1c4009646a66317e5709987d39d0a0f083ea42fcf7f406e39516e206497a573560defc84617492beee871abd11fda44661c894731a1c8ea9aa15b2762162a8437071f736791a3d097aea1362bad3017d19ee881e78b731aa673318b54a95107e890e2e43b0d71600dc65714e1197476d6bd29c9101842bbd27d6bf4682b4e317b0e774916e728693287247ce7485c23bc828699278f826fd6a76e832d25fb78199c8520d74d7d959e1e173f9e1539172a424de7e970fe63205e74bc5b08d7e48110419aa6e454bb011d48db1aef4d12afe1264f0e28bfe2e66872255938ae57ae2b6abdaea3953b7c73c8fbc50d2ebf076a93ad5ebc37966df55a4c80a06644928275716f8d5156aeda00f8bd3c95b0d37981cdacb2ebcb5bc76c4f4eef95c2e6f8d3cc0929c3cc12b546e1923dd3f24ff43ddac4c58368fc04c9f330d078b1d5d7c2043e180f8eb05d4851a166b599ef241d35e386c7e68bedd6aa41e3ce36157de29a7adc6ee510f15bf6c589a2543c11ce54fc0249f80737ba899a576280aac0f913382514dbf37f41033675f85925708d35c15a558edb7a26212782d24df794ba02f03e65a21042e226ec530bc1929825c2298b86b17ca95fbdd30dcb86934b9a1b3d5533f1cabe6b6fc8a647d01e6c9a2d4ab682edbf3e7024b14f4645329a02a4401b18b5648ee30ebff8403e0d477ab53e0040b11459e337aeafd7f6e8329e0ad1ef0183a7555c32a8e04ec4c6f3489d7aaeef5965ddd29848a332dd5c5b2991b50ed4afff9faeaeb26e51109ed60c279ea9886655a24a4f5ab1cfcdbcf6dec6a929d34f490501bddf7f833728ec25aaa4921c0120f6ef0aefb5b18ea7295cd0b608624d0e6eabe3fc62d2bcbb926a8dfca2fa3d56a54c41f8a8ec25ea0520489d6a6c05b507843cb41593ebb0bfd52ba4c60d77b0865870f5c56a4e24da4a1d558b298b8dfabc92cfdf3a11e553c3eb4d4c341d0805551940bed088eddc4c444acf555297f3e4fa312b8a6e6aa0a144c2400b96388ed81cf5cd2aa6a856c81b9d961dc5379049bf8af8f7c5ff32905b43500d2335f337db2330420080046622c4bf0746475ee738295f8a57098609f6a3fed1de08f6f6ab0f5991d2002b26a3b5f165fc9ad64727c231635de37160b26d42b6beb169e47bc6172691a352c604d49349308cc01f87e6f33e20ace3b12c9d4bfee362f5a32e4114eb6b62b284ee8286259cd9243fdf3b1805834d84df27bcab2ca8ac359152080d6d395ecfdde0e98423a08b163a9798ac6960c3776523d235d72a2326999e4cfe8b20718296a4f90e8a56ce962b116460def6ceaf946ae1b957fca51f3c22b7a7f37d02c337804796bdcd34ca19cc263aa96e0d943307632f38b6fc0691ab2e7d2b33e9eb4c22c457bc3967edb508d47004088c00130abda586e2bc62cd44825260b686f54da8e50014e0e3de7be719e81d71e251c1fb2b2d1b523ddaa049ee81a3b298d102a389241ec862579a3ac94d4a83b21189da85d0cffad59937185542f9f848f9ebad66253f151cce2f138c1eff52c061c9704f27319ec2017bae756b0e486385449a3ccf8e150859c8051ab6cc8691fdc2b5efab8b2812e740a5677e7baed0cf45ce67c5d2f521c1e2d205e26a0e5cbe86a79e6a6c33a4da18e8fa0e38b041b13cb9faa6e0583795cd701ed06887ff1a1c03a7c2e76d4f47b5eb3bba82260ab0698f7864b63c30f32da35270932de1a4c6dab8b10807f34247a1a8072413c942b432de06e344ed8ad7c122cd31c0640840d426550bfa83e3858eee6099674a84cfe70805c6b6d4d33fbbf88e7f2e34cc66334671170d6a7c2ba62774b4eab3489522ac0973aa3eb9d45cda8527044f5b984a489ed10284e61da97ddf90960d409140fa35c8dc3644977e8261f3f04a477eada73c11a2cdba722b07ff77dfc6233535cc813332a7d51f187ac8cfa5e3e0774a1192a5f17d880cfcc4729be9e01a9edd0ec7c03a3a1c847f4f4e4ae024a9d9ea055047f6d82f9a82eca9a86f5e65271e4280f0e2267dc1c5e3af9769cdabc4003be8f3ea81c80f8988e5d5e4ddf80b889c3df5826091a47eab3533917a5603c3a49a64e645b623d89a71d11b265d65c71bc65d522149e404a48b09d2c69c9e48edcd40585e83977755e21a3530127be522f1b4454e23c5f64604a860a47991c234550c2be276802f736283af085faf3b74826344bd2e8956d1f85da66fb19b183c9a2a2b89206673742fb41c60c73ff8e47092b416637ac0befcde0e3c346aa7723c42f68a2228be4d6ea1c3f9473ff8e47092b416637ac0befcde0e3c346aa7723c42f68a2228be4d6ea1c3f94dea148c3aa10530c2a3ccb3206f89bcd8882409b8e0ebe0a5d17f4a9fb15c4fb8d6008ccd2410ebff9b2cb7807bf76b48e71ae1650b3900fecf3a23a4acfa2280697961cd0549efcfe034cdca72f839cbd9adc3e8a8ed1a8e20dfbf73f38d66b7b95790ebdecfbb5ab9293187fcbcbf1b20765206a4e6f5388d4aff7071e662d365469412c7dde88ba13e1484c7fc2ac13561e246323e146b81e2343f9a06c52c19fb07bbb79469121cb721cd3ae56f45a095d345c36e9e3313925adcfc4d16c84a45311e2ceab5dbc8fe7b910ec4a7740b9e23a854db0aeaac923786c422d67455da228046416be934aa8e2075df540573764e3a89dae79cb42c939c88c28ecab0b7708ef416ff02e93144f81c03055d11eee5712ef6f918bda72f821eb4cc34b020799d07f757b7f6c7be240d1ee8865f1bda85d471cbc2f2759ed6d43a3217dcf9cc18ef7c127144e061b7185907bbc9b63bc9d8d879d0ee154b84a134dcb663b33730c0b893abeab9a07480ac286e3edff0ce4c661af6dd5007d7e57c23539eca1179eab9a75ccf7f7ea345d7d8ecdffaff8ecd21cca383e1452e2fb72b08d60a0b6e0198805669f5ea85845b0357b515ad886d7d6b9f47b1ae97187f8c4e622ea5991e7e17201b4288bbcc074e5f5d1cd45cc56123b666704f51f76b033d4a732371dd6632cef00b0af54bf6837091502bac57bbc50b67b3244ee80b2a0e1d2a5a820c786e74b3b1b5b1cfe2a1aa0348eb8454f48b01704211566d60ccd3f9c3221044b771f8ffc6d0477660ab3e8207b0c2b2aac40e6f1f1e90fc27a27239d665f1f87645b51436086f312fde801b8289723e9b68de1d4b892f7f443a458a7a1ccd314e541cc112a99f8d109de461f11b66b8786edc1f70790938e948bd591f12c7776fed0f43844f9a8fa5f6e5eec41472105b7f55f96cf29e445b7418755598d8f236812c9c3f20e0206011243a0a75b86f654b7d7259c3db1bafbbfa9064ac11df5b1892c7b54c558deb23d5039647dbdb8f0c2f9b759836e0ca00bf76127bee4d08e3c2b8c66e0fad6f7868ad43f51efabda3a0f28a66555dc0591620d49685b76208f27bf3a330218c0348d031dca09e648019ed7e7f4ad8de89249fb96175d0de3b6a4c0c44dc813c48c248661f7f921a9cc4f397328df5971e2d45f2b0278107b9ace516cf8a85619148fba8899d42dfa6366fa18080344c2550c5e05b5eef5028f6767e408daa6a9ae3d5029b8e9881ca79f81e1c80e027c66c8cdc92c2359e30d06c703feae0a9b9a06d56f605474db4acefff6b6b5a35123e25c2a8dafeab045a2e2173da51aa2acca9fd307029c2c3afc8f535d8f35a0b0eef8eb7d73fabb0376c5c23be59a50ab30a19930f7c325dabfca630b46db48970e9e69d5b3a439670c1f3ed397e44ca61281c985f90352035859288edd31114c680037534d974334cacd3c64e52da164c00016140426685e6193c4cc3550b6d6399bb50c45e76624d2000a87992c9bdae9a45e23cdeefdebe56826e8e191b30cec17c883655dabfba9d3dc3014d79b1617add93010ca94f7e13e469a3432f2c72d373c1cc0b0995b4fa00dfbcec632dfc58e6516da338b004209f85411e6ff2cc2fcb79695ddb2ad81a0efb706217379233bc4441b2241016cb40bc249162c211aff0b3a65cbcfff5867e7ace787229da8bc5b257d2abc7fe301d149d6ecffa638f9a258500322a14790887dc30bf0b3799e3262ce5fcb4f223e71b3f7de084933ff2e734bbbe5685f1374f2d146a71158ac0da74c8ba86e6073d558a2b14aa45d5dacbe6292cc339012fd99fea647e6a0f579b744f3579d0b327be978c1e884c1c649d72db9b0db7c02e49f2b5fac2407a94a65324e168ceb485cb5847edfee5caa58fc84baa90eefdfd15fc527f42801193fa514e7e02afc351d1d9e3cc8325aefe81827ee9b2d087e473b7ba474db9c4fecc78999ef240120e73fb3ad5796ee3165800927d4308ef25aab78a5428e9db6e3d5dd0e11b0ee0860778b6f67873c404eaf8d2a14511d011b81e773f8f26b8c6045fbcd03a9f4ea234fc7261953019b20dbe516e0f82ba989bed2c8fc2ca43225dd3d8f66df63ffea8ef5f2826919e38e5de6fc301cd2e19bbc4a0649e1ae72c53434b4af7c2adcb5e4d2e45e4ceae93429b01d54efb7948d994cdc0ae8dd39939866d5571e9e4e99f612583c7d8793e543cbfce47738a90926dc39c9f6e3e0e1ebba49e0f41a2f18a39447d806e8520bda6a46845e05c088d4ae76be67f850f8cf5e966d4d877eb113c74d7f4639b465ac60cf52a5f53f021baccd45da99f587a105b0ac293184024f8a8f0ea5b58e72bf7804875f738b5cc6cd06298ec507b325b58e6634f8c135468ea6fcd6121337762878ebd59f7791fd19539b02e5c783850a84e58a25795cec5b3a0d77043aaa98c3ad9e5d953378ede8d0d05afa6b76d78c05558d49da7710ba8f32e1f67031ef36a80917907e15f71185645e100a1e9124a8e9c6c882243f2a66dc835d2627fb4828a40e0cf055d327fab8369f6b9727546208ebd94d91c17bce18bbee9f3880b04311411aa862c37603042397bf82b5dae45734a4bdd0b21f97333da37276c9e6a62a458c37423b3b83e13d5c6153fc2e40142c3fc580e9d44df22a2a9564a3bb2a7b9bf4955cb96c7f7c00f94c47a6f1c318137e3c0981e5ab404de7cca6a8824c38512981991b3df71f85e08002690d366757b5377749065d4055325b78b6a465c3437b429682e3e8715311608db5cfdaeaf7d7e6fbf3b5f3974268f7d2d5dc89b98c50a69271efbced0d35959ed68c5e84334b1b7c3b22f7a9370bce1b2bbbba879b6cda45c9e23857b2f98af80c370e4e51f29dc854103361272c2ebe89fcf816e275788c3b0ec1224dfe0e1a09b0bff993b5b6ef0e86976cf6d260517da2a799b4978c4c48515431c4e1b25a27c24c1ba334ca63ef63c8536bd680c1434b4c8c29f5a2ed81ec78d95106cee4bda73dd0aac2455892938a0b9b83ce1958fa44571fa00e63375c808463bab08524587be510610b30afa08a624b61841fe50d36c7bf1c8ad7639de931ed40cc83722db2e7734abfb4d9cb94b7540398416c5fa7ba209245b8d9cd900aaa2e8ce0d03b08c5055cb09574851d9de9201a81f970cf5b2e76700adc91bf031d1ee5dc11e6026507895501a050fb462de4d3e6f4402aa2b56cec0a30867e6a933fd936ebf590a2ffa09794a6b610718264214b7a0cd5d0e1f3131ae617d82e71a2f949dc5c5d9a3b6153baa0ad75b60ec506f94569f90dfa545b1e94be5ecf6c68b5c71faf00782384792c6b4c5b8f9188c0ac9ead6d994a2c43ff504699bad350e562f180d4b0f7c3b574f82056e9640da3d0b95a1fcffb537ab6391e7982abc88fdcf2583e4f7ee112b642481e9a8983074410566c7adee829eac2db43a84e5659bf44a422839af6d3027655cdb17569e9c78b7ecd36ebb2869d2c6de51d57a95da988d638754c86b5479dac12a1be1ca5997be2cece91910433cd5ef177b74b1d3d1016a00cc9db25a18cf1d940944f0d2c1f755d0a19cb82d2433bacad991533be7f0e70f5ddb2543a7fd0794d1d0e31bd2a99e6d883cc790ca0bd0a3c167a43b1dabf858b83440b1f27f87c29b5cf4fb4c4d71b127aee303e46f28d63a50cc5ae0919edc6d70ed6f43f596fa7e1592f9d264dd2251e94b4ce071f7c52845d97ea331f0602daf913d8daeeed13748248a07ff2b6025cc30f01f53b511ccc98c03bb9101aa76188ad009253b0c18063b5d2a96d285aa6a8001e71beb21fb3d0bbd0ddbf56ba036770504a8e1ad344be11266328574b1db1dbabde2f1161528fed2957fdc8a763698856c6890ca872741a0730713df98021cb497a6ab41d9ffb75bf102f576c2effdc4522de637d8ee507b796419ef75c85991f192c3c78b058bf0f71786d9f38ade64da885304aaf8bd40a642c57465780cf0110e1685a644c7f987f847a9b6b2902d36e706def1397836fb5eed3ac054bb62aa8b3d71b172c4a27592f139577359ed25e513bf3f8fa1e3339e6ec698b62c586687028b1ac3652081e60fe529364326d012820f3e2a2a6f13c374be6100c49d34e2f01df9426e30b106ffcec20c5704c1e15777b8d168c46504de57de94c69eb48fe4ff9a5c5b3fc32de331d93f7e2a829955bbe8e275341234d0386f2e98a13aa65b7f6407306751741e749abcb8e111fe25c744d1f1fc00eeee58ba9d621778005da1c4c1d67ea1f4ba6821895eb8ad457cccabfcadbed9636c6de69d3ace1e8c443ea4570edc0460ebdf356922bc1dadf2fd89175bbe4069c2af1474c6f5f4446b9d34ec063b6ee850639e17e50883013384a2d189f69408e8da88fd04b078eeecb7ab1d55b5975c3719dd842a4a49d5916ca34b72a6353193c2e832237ead0e3fe31978b9724dffbf10d4dab01723c8ed1b73d6c07268a4f990571c2246f063325096cfcb37307a6a63e9fa9a05334be9a1cab059493171dbe3bf35a0d27b7e2062d0a160bb2266a9def35464673c0a687804078ee08359627ebadf17b73c38e0e2d274af509adc319f3f7fbae117218578ac64617446e9af4d15cb6c68b60ce184d09953aedf65cab50a32c5141e42765f7be17c73edeaf42f47144bbea2d9e63a9e7c15edc9414a5063623ed9cee6bc4747fa0fdb10ec6d0f21f92a15b7f402670ec1ac350bcdba8f6508af142be82a718883778e57da6591bb2d6414d70a320fbf35f1ee64eb27afd5d3d6844d763a8853a6d962837b3cba2d65f3d0e5b0722bc489eb8357ea6b2a2d9ebb69531b1d93aa27d674515fd5e400af8d4e0663c5aa7506c77aa0a662033d6b89b46241ffe78cd53bcddd94fd818859ecacc676d2eefb2c2cc64583424d033cd4a915e7bc594bf3285a84f25d0424f9b07da1d7a9d9825c211fc8c27c4efead60d510aec3cd00da7f978a917a26d407ca7b10a8ce2fd68ddda3887d054c7748e75adb07eaee24daf5f3ffc01c438f87806784f7585b75df23a3d9b859326bfb18e0490f9a4e5af7a61b7d0b82a5521b69391637343a0b4b9d1415597c4f38e1244036c4439837abb4a3dd15788c8236f821d7f2cabef984b80d76d73fb24781e1117e9b81f433a15f8c3910ff076b0e42c516f8361306f955a13af3af3a7a52378f99e0e6b34c21e76381d9c1d7b85caf2b03562e3d6fde3a67dd56581094affee868340f3bbe620a600f6502f8e09526f2387b7404cde58e6dd87191f9a770b2c6c2bbca911d28a3f16b00f637c11f8c4480101477595b3de9167e5b553b5b57dc465cf9ae39d202889d3c3f225c2881ef9b386fbc2196cf8339ad2f9ff17b0e4167322d3e459e35cd1eb1e42ae7b68c2e926cd08b67b746b1de4ab944d852cf08713704d1e603de2f9ecdc8633bfb6401fc56758ac2306860bf8ef5342739407e684cc6893aeb87a4caef88db743aca2af9a67a63a59f608d5415b8004b6adccec49438715d7bddc03875a4dfe86ea4e65383df435e11498335212b071b97782055e2209300060ca67381bb366c39158442691368613aa6884329126c0e7d63401c567de8e04a0a49ba549391a9e043043a3a16f0a16de40190ed27c7a0a5528bca880f9e3c36fc014f202812319f8e50e77f32e7db317464e2e236a2d805d4e63c6c754db512070c360656bdeb0f0805af2a9b723264dedde5af172a3fbeb2903c1da56f60a24c8fe0eb5a02497ab5f7bb4d04cc5e722e5eb7a2cebd38c5e7b9aecdb1ad5aaaced0336c442da0de6b73350111d88ccfadc13d6a4733d85f956ccec34e9fb1ea900ae87417c84ef2ff2a4fcbd31acd666f64cec583a5109c9dc620003a64d8a84083fdebcd4cb481a83b08c673e00455546556d44fc77f3bff83a048ba9de550414aa439a0febea48a9027808cf546e2dfd3e0814a5ea9004ff5035d21cde8afc12eb560b236a48637e113d86b58a314b7b5ae50a8c8c5437799e03d9cf7363914d30a3243ec1a77888577c77e4059b719549e6e0cc47e0ed972b696b37f60f02887c72fb617ad49699836fa0910aab224b89f4c2b7755fbe539a75b4e273271e5da4314f10ccc7339a67ea904b01b31ffa7db33939f0863f4a1ba87d814c9bc8c84227a73418014583e10cda0b1f7bb7b9aa89f61a09fd8a0465a7a3b6a9b4b5e13a21eca55383e5b57318f1a5af1b8b621fb4d836d06eb6ea60d826957ba32d99871153c9e3a87d622f5b95e7fa068aa97c4910521b15b5259133d5b39a3fe84d734dd79c5a1acd29ced1a0c2f7308fcc698ddded1836cfd1b454ea0af824a2eeb1a01cc6af37bee4950dfc011aaae57a19bef937a2a1c4a859b24ba9457df6a613949c68193c2242535f9dea607b8c9d1cb3a773a0316dad87b37a067e58d173c29e63871c78afda76f9c3ba1fadc1572a65709e554057ca4f00dcc53322db0e58af20cd9fd321b7f5673ed07465b6464502910906573b706f26bc1d081eaf13569a189b649af9194d9f87bb726c92fff899e3a4d3ba852ced1184a73ec0df2f2087ba2e9c62b0052bdb4b2721dfe5e7dfe54da078cda30996763f7c2d4b36ddcf73f1bda40c72e3e076162cac36097e795cf4d8df61771f1429c2166aecaaf960d3c71ef02c3be40edc8d3656c017fa7d596b988c04e38050da2ac567927d606a93d1a9a429d5de68259f02cf1a696121841f078e4da79eeb09bd93e01f58c2f77911e86753754c83f59f07ba68e8987138ad7f3c9dc2f027ae703b164a373afddebfdeadf41f019cc269e98e10f267470720ab1f2092d6306bb5bf754e3e32e81f561ca6e0076502f1227ae98aea3b7db6d641c4ca42278ee4e61d0e5e292b1b734814a3ed3e1953f69f4f70a4a69229163e9ac262a227b25a96ca8941652a78528d13e7b93b9f06cc755b5825f78c9c7800b7814a869ea303047d72ccf15c7c351f39664d387df0b93dae740e4d9f9d0ee9c6cbc0e0d9c2ab0dcc18540bf5f89dfc9a0df7bbe47e6cff648609dd4428a18834f066302b140849d16f494abdabbb8307f84a11a2b02e5fb841a8f90d51e21cf1d3b98da99c25191848f1424eb4b7416a132389c0176017fd81c2b98f8dcbce08d290f1a2f31946e13eabf8fe8919548de5ab92c0534265559a05a75b5ec1a63812b698ac2390e34b61f00e13dea25059996b6eff246881c58a350a21b83781f5988ad289e0fb6192f26a3eb133c49d24b02bf8fee716dbc01f5e13941387a3186579a186810ccaaec5631e953178f6818c407d2261c6c9ad468bbfc945acc49d5bd5e302b485bc53a30395660304d04592912eaf8b9d36037b9deb2f6134299d11174e044b3d5444c6ee443d03c39a44dee243fc523ea90b27ad22c4a41f595f51cb2db7d1af93fbb65d03142fea8e7a456f1eae9b8bb36149ffde4019d0aef42619770581b661687cdf8e64ee45b3bbbed7ba8e9fcb4b9da10f9377ed44a10b9f47991551e79d5c9278468b0f0e2bdfdc027b334d253bc667d719219ceda1a349a3aa385dc292b6ccb472259135b77b2789da4b509c4816e84922531f484e6c5ad6b28a023d19bdbf2ee525a3c0292761ef690c4f2366943dd354a2947aeee5d5a2f851b4938990c65204ce1970f98a5c239faacc04d8c9f36f263e430a1f488dfbc333e2dd7630383b3494c85c2369a3713f932211025517371e84cf5014992a13841062d579f4b30be0a1d2b2523229ea6645ff3c4c3856e8422a988a36dbdfa80c6cc84311df687c19ba18452cecccaf688c28156878d8624e230863981fc2192c9414d026d32c6b7f97a40fd7640a9737c1627c75b04ad7c8f0def990917ba8f2e078b3cb7f0edf16f11a4119506038dcf067152d86a981690b3d985b0948327df510291ff97bd65b3990f43be3190feca04cbf398d04b5fec256ee6eaad7a7e7aad96dcbd1fc1dc7831ce7fcc5646f56c9684068470923f0b85712cb1fc91970d00338b5270bf7095471df60f377c3306687d4986456d97def8ac026e6a415891b51e2b82c32f0aff57abebee135200a6c3dc6466ff5337754322aa9f350debb1703cfbe4681b44e9d84d19a31f49fc20038ee1e8ea9d16df6d0a472b444e5556445b64b9efd5e19fdf5a83e3a283fb420e0cea1a5b5ac76046aee8fd7a3862f44c618384413a66279365b1467f9a7b74aac8a245bc12efd93143fb6d0bf4400b506b5f4fb143ae484d48e7f5f9854ccb69f1646fe48c696b2e6b544c4ff255613d6b978be6df6408f3de30300e9f4ca8129aadfa7ffc17286e18eea3467bb7df48c1766e524693b8f1858b611facf9aaae4932cfee328f7145ad88ae44a64aa77362abe86aa2b941418c93d78985bbc5669ae922eac62011fef98d5bde9210d9fecb09d50fb2b7066a435f8e8f691027038a27ca2dbbf3e55c362bbf1bcebc750bd987479045e5bcebbe6d91d8ba6c59bfd337d127f475bb32e10e19012597c328b1037754a7cb8528d8e0f43bc3388b00134db9a9fad62aae03ce8383ad4bdf867f56bc8e29f2f890c28f68a4c89975e47bbefea570b09465bd3f38e8f6fbc3fda340b7640e94c2477499a11c1b652c0837f48bc091ce677ccab7cd1f914b2bd7c42aa5bfb0ae091dc41589bfd9a617b8a03314158d7bb5ecac910bba387cf66229550a0f5c84858ae1b9fb21c0cc19d93228be06a09ff03a3477a1e9652ad89d1468e4dc28b00e46150651c6bf91dcde6530f488d07a9306420cc46249b0af15ab337982c4f5268864193c470b284aafd9b8a398074a482453a084ad43bc8fd54b279810ae81d593b32fda4e5e9ee5c41fc1e94c56b36175b0e1e62f259686998c5ef7921b73f065e8e2db1248765d0753cf483e40ae0eaf9bffe34b0cf738158815d0884e3b783d803df9a17deea0b7855b35b6593cadfdfa2c5db34eb263b57068102b6531d593b32fda4e5e9ee5c41fc1e94c56b36175b0e1e62f259686998c5ef7921b71d4e84db870cb94356a1f434bfd7621325d6bdb869fde798e1eb11424e4b85bdedb5d768761e8bc4c293cac185cd379c7b9084e28c55f17c0ff7ad470800a0feeef62ba2fc6549c5d1a67f77d03044c341fd539764fff1227c519c87ef2dc2f1bd58854d4ff84c288c16e55f7b88deacb1ade46f92fd11f4e57167b15ec99b68c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42ee781371fbda33debb28644c0b11592c09b066c2facd46a349088f3f4663a7376ee582a6b7bf96180ae86e292b215f8cbe234749a72462ac9c47d670197fbc95ad233a946a65adaf84d527a12e839154098b910d979282ac0168b28948669f17dcd6c0330e95e2b07abc0ba8139c6ac821682d3bcd79f0621e50afa915cf087bc4d63d9419a963f0973c6a7e98de1f1226cc69dc259a57daae0dbfe26808e9ec3a0ff415bbdb5cc761c6442efc6a2053db81693fe4c4fec39c1520453c431d8fa72fd09175be636921baa93f750e86e9b7abf5f2df4a27dcc1af660ffef6bcb81a080167a1a57ff37172f97f0e650b4854d54a055e9e20ccb4e110a72abc307dd0a2fe3391b62653ba59f9b16ed25c1f4d704a51e23c91793a840e43a99953732dad4c313fe7dfafa2e2df074af66d0c25780d5f7c51619022d8419e2292b6b709dbe012f346f5f02848f9a1d8fdb6cb1a77e7b23b86f5e521498bf105492252643326ccd355aab9b67a9d8752aa9592062c502c8ed736f77555c4b9648e3084e7c1602d0cbb5997afeea2ac19bb89bba81ac4efe5deec23eb165199853b2066e3432fc20f5c730b74b446015c54534fd819f1c4a99959da703296669fc0fd811a12e4216c15e9636bffdbba6866053cdc4cbe2c451daa80179d6f84826d8961e712761e82f4696f07a763718fae173b6ea5fa72f47aa4ce2fe32e9d369da981260ceaf2822529272019c7eb24e0f47f31261dbf3b80fc9bee48bb920d6df84174dfd59bf740f8dabe83d6f0b6c1ba4763c349a42180a7a9f99d4bf9e7a4c2771944179d0874a643ba5f83094b939109897bc79e48de61d654db04b921e6583d../CHANGELOGrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootikiwiki-3.20200202.3-bp155.1.5.src.rpmconfig(ikiwiki)ikiwikiperl(IkiWiki)perl(IkiWiki)perl(IkiWiki::ErrorReason)perl(IkiWiki::FailReason)perl(IkiWiki::PageSpec)perl(IkiWiki::Plugin::404)perl(IkiWiki::Plugin::aggregate)perl(IkiWiki::Plugin::amazon_s3)perl(IkiWiki::Plugin::anonok)perl(IkiWiki::Plugin::attachment)perl(IkiWiki::Plugin::autoindex)perl(IkiWiki::Plugin::blogspam)perl(IkiWiki::Plugin::brokenlinks)perl(IkiWiki::Plugin::bzr)perl(IkiWiki::Plugin::calendar)perl(IkiWiki::Plugin::camelcase)perl(IkiWiki::Plugin::color)perl(IkiWiki::Plugin::comments)perl(IkiWiki::Plugin::conditional)perl(IkiWiki::Plugin::creole)perl(IkiWiki::Plugin::cutpaste)perl(IkiWiki::Plugin::cvs)perl(IkiWiki::Plugin::darcs)perl(IkiWiki::Plugin::date)perl(IkiWiki::Plugin::ddate)perl(IkiWiki::Plugin::editdiff)perl(IkiWiki::Plugin::editpage)perl(IkiWiki::Plugin::edittemplate)perl(IkiWiki::Plugin::emailauth)perl(IkiWiki::Plugin::embed)perl(IkiWiki::Plugin::external)perl(IkiWiki::Plugin::favicon)perl(IkiWiki::Plugin::filecheck)perl(IkiWiki::Plugin::flattr)perl(IkiWiki::Plugin::format)perl(IkiWiki::Plugin::fortune)perl(IkiWiki::Plugin::getsource)perl(IkiWiki::Plugin::git)perl(IkiWiki::Plugin::goodstuff)perl(IkiWiki::Plugin::google)perl(IkiWiki::Plugin::goto)perl(IkiWiki::Plugin::graphviz)perl(IkiWiki::Plugin::haiku)perl(IkiWiki::Plugin::headinganchors)perl(IkiWiki::Plugin::highlight)perl(IkiWiki::Plugin::hnb)perl(IkiWiki::Plugin::html)perl(IkiWiki::Plugin::htmlbalance)perl(IkiWiki::Plugin::htmlscrubber)perl(IkiWiki::Plugin::htmltidy)perl(IkiWiki::Plugin::httpauth)perl(IkiWiki::Plugin::img)perl(IkiWiki::Plugin::inline)perl(IkiWiki::Plugin::link)perl(IkiWiki::Plugin::linkmap)perl(IkiWiki::Plugin::listdirectives)perl(IkiWiki::Plugin::localstyle)perl(IkiWiki::Plugin::lockedit)perl(IkiWiki::Plugin::loginselector)perl(IkiWiki::Plugin::map)perl(IkiWiki::Plugin::mdwn)perl(IkiWiki::Plugin::mercurial)perl(IkiWiki::Plugin::meta)perl(IkiWiki::Plugin::mirrorlist)perl(IkiWiki::Plugin::moderatedcomments)perl(IkiWiki::Plugin::monotone)perl(IkiWiki::Plugin::more)perl(IkiWiki::Plugin::norcs)perl(IkiWiki::Plugin::notifyemail)perl(IkiWiki::Plugin::opendiscussion)perl(IkiWiki::Plugin::openid)perl(IkiWiki::Plugin::orphans)perl(IkiWiki::Plugin::osm)perl(IkiWiki::Plugin::otl)perl(IkiWiki::Plugin::pagecount)perl(IkiWiki::Plugin::pagestats)perl(IkiWiki::Plugin::pagetemplate)perl(IkiWiki::Plugin::parentlinks)perl(IkiWiki::Plugin::passwordauth)perl(IkiWiki::Plugin::pingee)perl(IkiWiki::Plugin::pinger)perl(IkiWiki::Plugin::po)perl(IkiWiki::Plugin::poll)perl(IkiWiki::Plugin::polygen)perl(IkiWiki::Plugin::postsparkline)perl(IkiWiki::Plugin::postsparkline::formula)perl(IkiWiki::Plugin::prettydate)perl(IkiWiki::Plugin::progress)perl(IkiWiki::Plugin::rawhtml)perl(IkiWiki::Plugin::recentchanges)perl(IkiWiki::Plugin::recentchangesdiff)perl(IkiWiki::Plugin::relativedate)perl(IkiWiki::Plugin::remove)perl(IkiWiki::Plugin::rename)perl(IkiWiki::Plugin::repolist)perl(IkiWiki::Plugin::rsync)perl(IkiWiki::Plugin::search)perl(IkiWiki::Plugin::shortcut)perl(IkiWiki::Plugin::sidebar)perl(IkiWiki::Plugin::signinedit)perl(IkiWiki::Plugin::smiley)perl(IkiWiki::Plugin::sortnaturally)perl(IkiWiki::Plugin::sparkline)perl(IkiWiki::Plugin::svn)perl(IkiWiki::Plugin::table)perl(IkiWiki::Plugin::tag)perl(IkiWiki::Plugin::template)perl(IkiWiki::Plugin::templatebody)perl(IkiWiki::Plugin::testpagespec)perl(IkiWiki::Plugin::teximg)perl(IkiWiki::Plugin::textile)perl(IkiWiki::Plugin::theme)perl(IkiWiki::Plugin::tla)perl(IkiWiki::Plugin::toc)perl(IkiWiki::Plugin::toggle)perl(IkiWiki::Plugin::trail)perl(IkiWiki::Plugin::transient)perl(IkiWiki::Plugin::txt)perl(IkiWiki::Plugin::typography)perl(IkiWiki::Plugin::underlay)perl(IkiWiki::Plugin::userlist)perl(IkiWiki::Plugin::version)perl(IkiWiki::Plugin::websetup)perl(IkiWiki::Plugin::wikitext)perl(IkiWiki::Plugin::wmd)perl(IkiWiki::RPC::XML)perl(IkiWiki::Receive)perl(IkiWiki::Setup)perl(IkiWiki::Setup::Automator)perl(IkiWiki::Setup::Standard)perl(IkiWiki::Setup::Yaml)perl(IkiWiki::SortSpec)perl(IkiWiki::SuccessReason)@@     /bin/sh/usr/bin/perlconfig(ikiwiki)perl(:MODULE_COMPAT_5.26.1)perl(Authen::Passphrase)perl(CGI)perl(CGI::FormBuilder)perl(CGI::Session)perl(Crypt::SSLeay)perl(Cwd)perl(Data::Dumper)perl(Date::Parse)perl(Digest::SHA)perl(Encode)perl(ExtUtils::MakeMaker)perl(File::Find)perl(File::MimeInfo)perl(File::Path)perl(File::Spec)perl(File::chdir)perl(Getopt::Long)perl(Gravatar::URL)perl(HTML::Entities)perl(HTML::Parser)perl(HTML::Scrubber)perl(HTML::Template)perl(HTML::Tree)perl(HTML::TreeBuilder)perl(Image::Magick)perl(JSON)perl(Locale::gettext)perl(Mail::Sendmail)perl(Memoize)perl(Net::INET6Glue)perl(Net::OpenID::Consumer)perl(Net::OpenID::VerifiedIdentity)perl(RPC::XML)perl(Sort::Naturally)perl(Storable)perl(Term::ReadLine::Gnu)perl(Text::CSV)perl(Text::Markdown)perl(URI)perl(URI::Escape)perl(URI::Fetch)perl(XML::Feed)perl(XML::Simple)perl(XML::Writer)perl(YAML::XS)python3-docutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.20200202.3-bp155.1.53.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3_q@_"@^]-@Za@ZY W@V^UB@UB@Callum Farmer Marketa Calabkova Matej Cepl Marketa Calabkova kstreitova@suse.comkstreitova@suse.commardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.de- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)- update to 3.20200202.3 * highlight: Adapt to API change in highlight >= 3.51 * mdwn: Fix inverted footnote configuration when MultiMarkdown is enabled. Thanks, Giuseppe Bilotta * translation improvements - Switch to python3-docutils since we do not have Python 2 anymore- Remove BR of bzr ... we don't support it anymore, and there isn't any need for it: the testsuite just skips the test, if bzr is not available.- update to 3.20190228 * aggregate: Use LWPx::ParanoidAgent if available. Previously blogspam, openid and pinger used this module if available, but aggregate did not. This prevents server-side request forgery or local file disclosure, and mitigates denial of service when slow "tarpit" URLs are accessed. (CVE-2019-9187) * blogspam, openid, pinger: Use a HTTP proxy if configured, even if LWPx::ParanoidAgent is installed. Previously, only aggregate would obey proxy configuration. If a proxy is used, the proxy (not ikiwiki) is responsible for preventing attacks like CVE-2019-9187. * aggregate, blogspam, openid, pinger: Do not access non-http, non-https URLs. Previously, these plugins would have allowed non-HTTP-based requests if LWPx::ParanoidAgent was not installed. Preventing file URIs avoids local file disclosure, and preventing other rarely-used URI schemes like gopher mitigates request forgery attacks. * aggregate, openid, pinger: Document LWPx::ParanoidAgent as strongly recommended. These plugins can request attacker-controlled URLs in some site configurations. * blogspam: Document LWPx::ParanoidAgent as desirable. This plugin doesn't request attacker-controlled URLs, so it's non-critical here. * blogspam, openid, pinger: Consistently use cookiejar if configured. Previously, these plugins would only obey this configuration if LWPx::ParanoidAgent was not installed, but this appears to have been unintended. * po: Always filter .po files. The po plugin in previous ikiwiki releases made the second and subsequent filter call per (page, destpage) pair into a no-op, apparently in an attempt to prevent *recursive* filtering (which as far as we can tell can't happen anyway), with the undesired effect of interpreting the raw .po file as page content (e.g. Markdown) if it was inlined into the same page twice, which is apparently something that tails.org does. Simplify this by deleting the code that prevented repeated filtering. Thanks, intrigeri (Closes: #911356) - update to 3.20190207 * graph: Add an optional "file" parameter * emailauth: When email can't be sent, show the error message * osm: Don't raise errors if tags don't have attached icons * cgi: Avoid C compiler warnings for waitpid() on NetBSD * Hide popup template content from documentation (Closes: #898836) * meta: Make [[!meta date]] show an error if dates are invalid or Date::Parse can't be loaded * inline: Cope with non-ASCII `rootpage` parameter. Thanks, Feng Shu * table: Cope with non-ASCII content in CSV format tables. Thanks, Feng Shu * trail: Allow unescaped punctuation in `pagenames` parameter * comments: Hide "add comment" link from print stylesheet. Thanks, Antoine Beaupré * recentchangesdiff, relativedate, toggle: Import JavaScript at the end of the page content, not the beginning, so that the browser can render content as soon as possible. Thanks, Antoine Beaupré * debian: Allow Breezy as an alternative to bzr Thanks, Jelmer Vernooij * inline: Add basic test coverage for [[!inline rootpage]] * table: Add basic test coverage * po: Add enough test coverage to reproduce Debian #911356 * comments: Improve test coverage * tests: Exercise Unicode more * aggregate: Fix aggregation of posts without a title. Thanks, Alexandre Oliva * poll: Added postlink and posttrail options for better multi-page polls. * Fix permalink to comments.- run spec-cleaner - update licence to GPL-2.0+ AND BSD-2-Clause as ikiwiki is licensed under GPL-2.0+ and the Python code in plugins directory is licensed under BSD-2-clause - update description - add w3m subpackage that holds w3mmode - remove shebang for ikiwiki/plugins/rst - update BuildRequires and Requires - get cvs plugin back because File/chdir.pm is now available - don't remove syslog.t test- update to 3.20180311 * Avoid unexpected full paths from find(1) * rst test: Probe for docutils Python 3 module, not Python 2 * mdwn: Automatically detect which Discount flags to use, fixing regressions in 3.20180228 when using Discount < 2.2 * Add a test asserting that no plugin is an empty file, to confirm that the build fixes in 3.20180228 were successful - update to 3.20180228 * core: Don't send relative redirect URLs when behind a reverse proxy * core: Escape backticks etc. in directive error messages as HTML entities so that the error message is not subsequently parsed as Markdown * mdwn: Enable fenced code blocks, PHP Markdown Extra-style definition lists and GitHub-style extensions to HTML tag syntax when used with Discount >= 2.2.0 (Closes: #888055) * img: Fix auto-detection of image format (if enabled, which is strongly discouraged) with ImageMagick >= 6.9.8-3 * rst: Use Python 3 instead of Python 2 * build: `set -e` before each `for` loop, so that errors are reliably trapped * build: Use if/then instead of `||` so that the `-e` flag works * build: Ensure that pm_to_blib finishes before rewriting shebang lines * t: Make the img test pass with ImageMagick >= 6.9.8-3 (Closes: #891647) * debian: Remove unused Lintian overrides for duplicate word false positives * debian: Declare compliance with Debian Policy 4.1.3 - update to 3.20180105 * emailauth: Fix cookie problem when user is on https and the cgiurl uses http, by making the emailed login link use https. * passwordauth: Use https for emailed password reset link when user is on https. * Remove openid provider icons from login selector, since openid providers are increasingly not working. Verisign retired theirs, and aol and yahoo/flickr are not commonly used for openid. Any users who still clicked those icons to login will need to instead enter their openid url. * Updated German basewiki and directives translation from Sebastian Kuhnert. - update to 3.20171001 * htmlscrubber: Add support for the video tag's loop and muted attributes. Those were not in the original html5 spec, but have been added in the whatwg html living standard and have wide browser support. * emailauth, passwordauth: Avoid leaving cgisess_* files in the system temp directory. * core: Don't decode the result of strftime if it is already tagged as UTF-8, as it might be since Perl >= 5.21.1. (Closes: #869240) * img: Strip metadata from resized images when the deterministic config option is set. Thanks, intrigeri * receive: Avoid asprintf() in IkiWiki::Receive, to avoid implicit declaration, potential misbehaviour on 64-bit platforms, and lack of portability to non-GNU platforms * t: Add a regression test for untrusted git push * receive: Fix untrusted git push with git (>= 2.11) by passing through the necessary environment variables to make the quarantine area work * debian: Declare compliance with Debian Policy 4.1.1 * l10n: Fix the build with po4a 0.52, by ensuring that msgstr ends with a newline if and only if msgid does - update to 3.20170622 * t/git-cgi.t: Wait 1 second before doing a revert that should work. This hopefully fixes a race condition in which the test failed around 6% of the time. (Closes: 862494) * Guard against set-but-empty REMOTE_USER CGI variable on misconfigured nginx servers, and in general treat sessions with a set-but-empty name as if they were not signed in. * When the CGI fails, print the error to stderr, not "Died" * mdwn: Don't mangle