postgresql17-docs-17.6-150600.13.16.1<>,̉hծp9|:6'm 2P5Ed\'0T[I'DAQS3O { uo%"#/%#IbE΃ pڠTCynhwgͨ`7Fd5V.wTOI(= >nG=U3JE} _Eޘx~Lj a+* kB`k=H[XpJfeF.*.O}+J~+;1t}@]/"J/MA,>;?d ( J $=^i  Z ( ; p u^˔V(u8|H9͜H:HFGH'$I:0X>Y>\?$]R0^rbcd!e&f)l+u@vLzԋԜԠԦCpostgresql17-docs17.6150600.13.16.1HTML Documentation for PostgreSQLPostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, and user-defined types and functions. This package contains the HTML documentation for PostgreSQL. The start page is: file:///usr/share/doc/packages/postgresql17/html/index.html . Manual pages for the PostgreSQL SQL statements can be found in the postgresql package.hծh01-ch3a7SUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Toolshttps://www.postgresql.org/linuxnoarchTC=o1AO-Z*(oyPok$j'(8v+Q]l3Y< UJJ4MR6n<\X8,)Gz"k:^OVYB/iEL!4$v~G@#'y I\7ו!N4#;k#cO$ ;,Z8|s 3n"#n@0I8Z#]`h .9(.aa;-V9|CI̥  bYlFE" T  j k $Ck9&b&+||589$v84C< tU@/'-r1P"{/'54_ 1<$DE CsW _> @7d :  %+k ~3h0 =*a"' .  *9dX1!E0 E@8 `L3D;KM%a=Yr,̆QT6  A<;Cx%L_;""-b(=fFo7r4KX>R_ YL.55t*JO$ /8 *}!i+ %/l^;i"O:7X&3 =uBfU=1y65~sq$6%KJv )[PXq- 1#V(r c {\"?t(V)c-C/{t.l\?%iEC[VZrj&d}U' &Z$G[%"2n&(F!_d AUR#o ,K, \8~ xz%(" \o^''8]*?8  9: "Lfpr'K}"?7N{Y1dsQx#:;: '(`3kY >6(Js{hX=8L>(ro4!z:$CC; U Mri>& :H4rg &CM)!h%DS)j^V)i% Kk+&I%-q_>!dwD+^ v \:bgbL5-g"1zc)MDXbN*Da! 6/38%'Xg?-uGV[(9 4<Lhra 9(<r# -dHZ f>"_'('7 >]T5u- # O$*y L ' 1 @Z@_"L%SX)n?ҙ1%C /}0kKmX8rssk;l0t+.%f$ S#xf%b6 Uˍ I^!! !'MH RZa+@FD\}*+2j{+ r, E6-YzkSS'2A,`>CF=g}AA큤hՄhihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihi8352f8a2ead605b4dafdbb86fc490e63172740851e0fcb1e99885927763cd7ba60641f3cc63ecaa99c02a21bcb8f1c9280990da522018e1b8707f1b95270df7f521cf6d4877e6376eed21a01c246dbb6c743147bb14f0d37c38c16ec89e4a86c3de18c98f5cc3911482ecd1548bcc5fafafe4df93d4336a96c073a29aaeae05269efcd59908a6669fa29b834b02d8a2be53b63cca1484c5297de2cb5b52dfff5eb59fc2f4e0197dab6a7962962cdb51d1a02fcb56ff5fe98204e3c271f94f19346f3507ebd4e7a653922087d59c167bcb009b81c297380facaa3bca927257b8fcb7742e51101c548e6298f96a0a17c1dd129e11704f5ecfb617a74c9ac2137e5851b6663f5d6aee0e7a741b461f69be7f01c43872d6553a9b6add92fe236a99447d76e72688432bbb1ac3f42654c400c12939394dd2efe7bfcaf3ca653502864d5aa0dab0505103575147a316abd8b185a4845cb14dfb476c7f459be18026b036059c9ddf03aa910edfcdaa0d3b0bb73f92a795f3bb53d32fe3b7f7005c4d606e6db0ab13e0b2cb3e0b6e6aabe39cc6f8e95ff05e8e99023e1813ae16ce7e5864b252f606a16fa32e76a9d50ab9b084d6116aa47287fb55292034d054f644a2e3cd5196eb4aee8cb4158571321d21d29874692a9e07ad0441ad6daaaadda200443122fd588a2798a931cf4c4e5369876a0b1d2347a0c0f0fcd995b9e0bea28dcf09258cc9b658c13fa7d8f6f61a150f4891aef14f91906c24d150bc9e9a6c1dd5bb2093431c3ebd1f90ecd3c8b852823e553f1b2ad2e2034ac658e9cda00beffd1eb40d836c5c721701e08ef6b481d6edf9e4c0d53f724188d78f747dc9346ae474d5a6b9911ce1a24a11798d44ed5037146fdb6471d878b38d1d6cf794695ec851a31ed8c54016f7c2d06a91ba62aae6e1d51da7cb13ba328e519c5c0a97f96a44ce1a2c6c163b4351d9e28da17a5aa300c7f4f2814b42b72189645fd0cd7be139e5a6c96a8afee8c98bde7e3986c833c23e70d92e9e9339f9800bb76886f1b5713c327371bb3ba14e17e1ff41da846e56199a67e7f7e46f2fb06c01e4dec2fe763f9867c465bf28539b1ceeb94ac840fb9bed2f21d168e1fbc4c90255b7b226f3f1b1c06d15b302bc8b4b9ff66c978cde3a2443eb1425f42118cc1554fb65c73d2fb131550975c6148edd03d84ebcb90960eec18207324b057a92abf8bba9600ceb28ab367575d10e8351454d6b091f3aecb2faf1fee9ec7030b8380d7c013d0a7b9601b18af9238ddd70a3f19db105df4d3951e8f7b402f7827a77113b4aa43f89fbb30c19e305c10e31b3b53aa944d258e1c12d9afc84ed82d66ca94936edac8fd20ab62faa9986c26cbfab88cfbc73bc1065a12d6a8c78ff69d4f784d10d7f7e6495c38e851ec009ae64de331460bfb41cd1889f80edbb4804984432adfe8ca59643ad25d29c1f1da35d344225b976755d3efacd9cbfd52353e1a8c3922f88f0ad94dcf7f7f8db71d8abbd813267bf981aa7c3f6723d3a4fec7ca9ab150e010d7ae5dfc9e351300519dab055d39dd67cc589b628611d0dd1797cdf10f33d3dccf4d23f20528d89201c1c071c592b89cd9773124a12c7908241b0d60c6ef776c08437e0c66fa4f27c39d434376c745aac2d40851349f7b5dac0a5f7e19e5000b7342a7c46a368ac29e05bd14b7a32d3e197ec7d8c57bb9b27c665b27c9e0dfcb66110d4272165726e17a4f08a9ac1f258b52084f2c3d652d92820e72a672001bc07592de262c2255992ea7e4ecd923a7c102dc2ff2b5e87089eccf5c812f8f74c49b214bd613f9f62e0d386de9912817ce0667f356b5158faadee3c794487e30787e4f37f53fd2ea391562560189f9f412992c3be686d4910809f5899f0d77e9cc1d389e439a2144931a7efcaf4c081fb2d1fe7b9ead9d7ba5269e5efc406da9e23283f3d1d221205ebb948acd00fcc09d214902c91b8cefc2dccf6a68460091b1aca9df0aa6e1f58c115f166a4881fd95e0f415da8ddee71d1a65ad689b9a091a003cc2451e476cc8a078b92e151021f517b86d7b27251aafdf42e0f75c3d135c08a07bd31124a6ef878e9b63e7dd040433de8a1a98b5603a8e742b618949632bb1393a0a8bc3816d5cbc22d5f775ede04ddf9bee71feb4fec6b32a6e6d1a285d2a3eb9435f9760e535c4aef9572a54ce375cea98d5f36b1ecb333e51b60e5bfd4f30cbdee27cb21e52beaac23208b027379a78f674f423dad4aca9a560b7b464a68cb200ef53b9c514c27f7cca9c7b0cdbbe77d212a66cdbd9220f7497bf7a71dc9a4dd1734b6d872246a27e6b74648a8d5db6d6ca751170ca663569918395b1d6b8cf4a87036d7235921c68ec706f5aeae0960d1b88ea8aac9b0f52944a651afe25adfddee8b311142c7ed694a86532dd4330db333f5d8502a1f24b3fc9406cef673513b7e8a35a5c00389907f5b02e76d412e56d11a9d1c4f3bffe680e7cb88fc75eb566c835657fa344ea285476adeafc7fa455e7eb4d22cae20d17919e3b899b28bd108c5a975a0c5c68140bb46aecc8287fd993319d3049df846d8ab8e9d74fdafcf36364560b91b66183793b5ba2b6c56a85a24090a1c655c1f90ee3d741120278c3ea824ecbb7306c77f8c860f8e5bfbe6db6befd7bb7aad0bead92255789cea8067535fbb95a18a16d45b6cbf0095574df8bb3bee369a7bcda9bdf7bdcc72f1beabbddf2955e168076699e23f7338d6ee4ec9a700e51857fe1c2768090a9d6ec9f694bfc30093efe881b87a5ce61838f620213ffd9f0fcc4bc5925068d0a9217c7a5b18bf54366cdec25be2e7501da48bfae90f5c265c2f0de56a43f2cac4f62f8c937ba6504b4bdb8ba64925471c33227953cadf2b566d7f0c82eddf64659b23ad30440ed660c2c8c12cd6cee9305ee7d1d352599e167bfe715e8719e0a50ef1655e67e177dd581bf29abd64e4539ae05a9a4275782fe9c0b8de5639fe8a68ad3ab6a9a649d04c0ae8e2487d361eafb9f8c3153475423f307984fd964467c46c8ea4e0160192ae106d6c6713355436086c7befe18a0c0132782cf90b18eebfd3c86f637f5878d58cab1f95780fc1a7a4690695d5b9eadbbd38a7e35865ea5af6b486ed0a099d6b584fb5058b7f8a028426906a6a0ec8fa852938e7166adec961ee0703a24b1653381d23f3ce0a608b7185cc911da51e3e4a629c4e69e0c9fa58b8210e5f1b94841dac0def24d7f284d060b481346e06b060bcdcd168f8daa879dd61c0503d8c4c2f981171a8625ceee42cb84d01fdcd08f08e139feb8e154d9372c2761ae16d1d6f08f731ea84de654e3a8a8bfe1d9f9d26d7b1f36e41cb2f33a1dc1c2e33d3e2ede71f48876b3ba4785ed17636c958204e34fe49f3d51513c3b683b0ee84d960ec6f2361360facec15c34254874c4753a6d0da23a7b469d5f97943ba4058443cf5aff31a92cad479593a647af83090973e61196e523b3529112b4a8c5b3e6aa70a242d1548bfa16e33d9d70ef5fa9530ad0919122ed3ce848e7260a763474688c005f5c71d0a380adfd9d5e2b42c0429674ceebae1b799dbe860338e5e333e3b2efe1efe4e4a18284c09aeb53575c509734851cba43cd983485d17837e05b52bca70db7e97dd870f095f78866a64e4a5490145f4fe73f408cce37c48fdb55ff21938787b34aa4e6fbe62da2d2db35851fee96af3ae9200b9e8a2e100cd1368c5d0a302c0de804ac8fd91cb2e3cf62b84e305ce3f2ce75b91e563fc95610abfa197e07619fe27748e6a98dba03d762b33f97fc2fd4f6e75b5c710392b4fde6735cbaf586fc1e33666502dffcd23da34278f396e0d2c77a4a0c21079d0ce0b689e9c8c66b9cdbba24f97ff01717157a903f99202aacdd0e3bd3547c80b91f42d5cbdcf8174a0f3cee19006263ff73fbe5fe293a6e5c28777237630b1adb8d5501656f5523e9dd956528bc4c3d7a5ea489975fd66682dcafa2f5b23455a985594d985439c321384cf906e029cd27d859bcf49067a396a2fa1f88a97e60aac931547420dce83406c39d6b50c8cd7a11c09628c239c80108037a4b09521e5c69b13152c5c2d1e759e60348b3e34d757fbbe478bc9a9b4a5119956bec39bdd0bac34dd3df7e5d040f369ddfd8591ff176932e7df0a8e0db0dcd408564a8b1f4744e04b26695057b714deb303dfed2b1d79d258d18dd43363353c83278c5a3116dda0aa39c521c12411f64f702b7ba44cba96422f8a6f6bf8fcf644cc0f482f7c0974611e53fdf9c2eb142ea21ef7565ec28029427841854e00af3c9a59908ee6913c54c45dbd546895dc096b367a3385b959d1b8f028a4aed7f71222c2d6fefc6faafb6e34e09da7e30bcdcb928dc271be70ef3202cf360ef3f996202d6ff235b39b66c2073248ee1ae1b68158fa2ba40280be2b8168ba19e04b9a638da2f368d1fe3c2608a5cac1c007b1b5548048cbba8e5dd525a11a8fae14d81024bca380d43dd15df8936e327ff9720de05857dc5c52ec103189869082009b21a76a43402838782f1a675a3ffff2b204654001f22140d10a3b85185816f99c611836ff4ce59970d393f97eaf149ca01e3600f197a3ab0647bf5753a40d71f6d3586a319ec0f27c9418c1fcef9ef3ac1d4c62a98936deb3d7d3df356635052b967e35c415f6a84e4a4ad2bdae837caafbac3fe1f394e7cc843950027a14d50a9268c32e6c21fb10fcffab2bab50aeadbecd7ba6cfe4e7bead5f1ea8438025f6267643f123c62825e28c501e77bcaaef8c25c192d275a37c42bcf720e617f258ad2b3d2d239822d3f519c02f654e531d1cf9b052d58e6aacd43f4262db9c255e38d74f8f167fb5e0808ed61a27a25bfdec104d924e065d818547044a6c337229e90807a0f15f0ba9cc0b74d9a4cc962837c19bf235981f9d01f8fb7d5e5a1810a8082f646503688e93e6f759a03178c128be2356cfbd3ecb208d8c55d2083d4ee7a66c51b8ca931db7583b9086d5076f0a1fa92e0e630d24f86a460e9bd9606983558e1b852ce1bd3810ca74f75ac81aef478db7388ae54155a05d20fefc9e91fe3c9e4dacef5629324b833a4c09ae3ea34b67616199f3545095442fd094ae2101b46c293bc5a0463b7c692b8abc7b914349ea907562dd6ac5a85849aa424b1e6ae316912ff0dc412f0c61b100c03d4663084e35db2f8cb3a910f91932284adb7e11daaf6e83fd4bd4d9725cdc40cea131f93c8b01470f2e68b50ed852cfe87309043e3b34110b583c26be5e759940751a9b4b08a65abfd3e6d8626bb32846424db8120795bd287751fdefb082d73227f94ff35aa50a166c963482215b19170823252bb29978379b972222c2aac9b12b7c8c2802c379631091adfbeab86721e0aa0c372bb527c0953cad788025837b05eecf36e237613b22be0efa7629ea9e06091af90f803d2f0bb03d25484e6a3de501823877d84f30f0aa98d30f12c9c23f098f882b4a23ebba8e6113391eec3a0a2a178fdb963d6d92c463f02c5aeb1a25fed1583928e1567a7ce039a08d7ebea845922bcfe9d8e4057fbf663838f90f4fa21d5ab829b5e89289f7127b6bf10d82f27b1379a53a7c8150b6faaece387bac64dc719715a4b979dd51e9eb8c08bbf8fdd91c0c95b8870b14dc70c64bd9f8f94479ee5819e7d374212385e4c5eefdb61cf6ab6adba06a0859f232cb0e12a6f7a0d6dda5d8d2617ece83f09d4763ba3679f1d64938e3eabec754dbe3048811c2968cdbf1369527b3b41ffff577684453789e1aa1621b75991b059da3f64e7caabd5c3cabcd09d317fbdfb861c8af3f66a3b27cc86399e0e62d853b89913ed066a95ecaa4a877cbbde7860e84a742fd9f719f06968e2f27d3cbfd912825599ef9217bc7af07e4b9615418476ab4220d4d82fff50a118909992f29dcce30b0903b58dd81b8cb0632649bfa01fc8915806a66c784d21da0494d503c372525d0a9169cdddc23fd46cfdd1ccf62bcba9e3f80e5aa13b4f0216c8170bf815b1d438d86eab36f0e4abcc5ac99a2bf2f4862bd539293dbbbf06d283126c4e6b1f34fd4fe99a3b606812a60d739f4a06c3c0d569490e60c496dea90a76121145d97add7108f5d5787c380545a8e51e6f518ed082b747d566cf59b8adb960c8c3b54b1a70eb5dcce9df30320493e8c891a00bf6a3f390d8d549781e5b9fd3f36dc58fa48ed56b0f3833913fa6cdbb85d08091d7574661099df27e0c6cf2ade76a37463c14d4a04880d2c211f1d565f4d9957116361591feb6c137f0e80c70913fc4201e55891ea8138238c1a8e4a7313379333e45b48cbcfe7721aa78449e926c8913faeea28b2df39bf679216721c2f1251dfe71e8c7c220be59f3bf5612e89dc84ebfb636ff57747a1223b29360d992d9a89698cc89b033e850fc1727d0c186cd1feb90fa807b06347626be48e4436ca5a900134da381ac99c976dfc93f55cdb63f2f7c449d67f07c0b164cf996f526d3506df3e04822c71c7c218ccf8b56f9e2049292d256f541b9b746b12ce7b68fa59bf4d24e95000fe4831b3685bda4a981b82adbce1c2a28c8187d48cdf764840f88160a7166cd1a5f35120033183bb024e6e890de483b048df35000801d13666a02863040661c24d72aa0f5159130fcdc0a84146ce1a41ab0491cd0897c323828bde0e99e8ecec54df5344e298e24aee0c634d05285bd2948b68a9605c87a5946f6d382329dbd6e55e9791511fcafcf26653539a2ee266fb4dcf28c62d2ce755ae3d1ad5c98c3b2b9b6cf3db13082ad919878e437565a729ef0069a46a84704d6f8cdea1c61fadddd03173e545cf8783673bafe21d296f92c49240143071861fd5b178425a12e32e77d3aa1c5712037906a018483dd029d85262b2781f1e4204319298cb76ca70e7fec729c6ea8fe9f10699cb377451ce92512740e1e5dd2c6776e71e94f654d690a87d2bdf7ca87d4bf5aed6b28b375c57c7a36750d76d037bebf6433d4e5f0be3498bc74f2bdb9b0871a1c71ad3d8cc7b9bcd31177708de9be6c7b57b6497bc78c26e07b543021df01124f732aae2cd057319470914109b7f6ba63ab0fecdfc302de660719902df1fd7291af35d56c58278c74647d42a033bf9ac71b8e05ad1cf88309c37cbd0b95beaede3b6ef91b2651965f6025374f5b2181bca1a1b7b96ed74713eb50fabb201dc291ef133acad3b7a5549585e524d375aeface48771fb2aa1e8ec4b87a9dec7e875160d836df0e9cc38257f6d956bd65b20a0e85a024bae192a21ab2c08e68682556c68b6855a3cda99f36fa433f7dbdd46d99d11b35641b1c5bbb9cc1337c61cf5bda4727fc0ed5794392f078fc8edf5e8a998616e75196fc782c90a50da7c0c389dc1770c60eee98ac15777afe35fd128d4d799e0922c53a1bcf46e9ff0b60bd99142a2a12a9f04bd31ee42b734ee9dffb90616b1e405ed1f5393d940c950c2bf01db6d3c0e1367675ab35987daaa8640c4a47aebc0620db1ede6621a46f16f183e78a5fab02537df112de16dfa97bfae56145fdcaf2e26ae8f417f2cc5ff24b1c717328a419278eeda4eb595a6e8a308cc29749ed4080f689027abc3a2cd1d0b9670d66c9bc9165f7ee8ac73cf01b231f42e1911857239e95edea62fe24edaaecfe4f435f50d06380683b905806d1b52443120851c9fbff49a37b6ce6d9edeeaf2a13645dd42765774c5e9995368469f97b927f90fe3a8c58bc51f431f62d6ae40522c6aeaf71ee0419c7ed54b0bba875df9b6be87611085323b31fbcc1e1d52a7b0319d3bf1bb40b1815beb35a69065877375054096c8fe83bf5267fcca9c66082d36f383810e43eb044d2d53c806961e2634626ca4f87ba56cc39644eb48cf8b37f3c506e8b61cecc742aacf38cd62422d248aa890e66c08adfb0eca4df1e719f442ff633a05f171ef7ab8bf9f8522cf79a7dc6497260d99e21aedb52c759ba6d23371a20ae581976563417906095465216bd3855978b36070b9e47342f63fd909fa3101a001553158a8c617f344bfc9cd2d7fa4cde233694becd4600fe5adc1dd52c90733d9374b362d41466b0d64dfdbbaa5983e6aac87d0828dca0af0fe0e77571f4e74112cd4dddc4782d219bfdaa8cc54a2e5890cb779c0771401fe5fbfb1ea49688f9430a9d96df5c28cfd1c0c8a19c001e050748d46032f63bbbf60376dd3f3bbe12e210a3e3127060cab92bc2337b9cb2c8dd774bce34b11fe7eaef329358d62006715ad201e16c1147a181e2cb1a98d5b32ca99c3a8a6c3b345c0a9ab95e8b361f7bf09d70e2a391fa69834ce17a7a7d2eba2045d38b76a9a38e1f60b6d8776854f44d488e76b547cdf956e6dcea39aee6e291c45a4cabf6cac48e8de355a22ae01655aac06977b16058dc53ced7cbd349090d1fc3bd1d649f73d7e9876a186a90f95a2c959c12907b63719f19f2dae979576a5d157ae56c714f3fbc38c2cf1c1939711cedf61b48e4a6d72880168d312bf4b1ef59d12e3ffc7b0fa56f5b7672d68717ee1178096029af4d80bf3df17becf76c2623300e1d924a73d518c32f848bc19c364fefa408c69e425a14554772daae6d0d56dab3e05112dd7752ed2c4add7d3f41995e46778a3b5f7063144dfb1ded9b91a94cac5ad99e0eaa20d9acbde705dc933947505e32966185e3457e6c6b986b887c539cd8ad35abdba4da95cfd86d024e140b0b72445f81576a93fa7e717695e43775aba2e11b3623740ee3bbf32fc988120b22a19be653007782f98f8f5432c2eb2fc3da68b18494d9966f39625866ddfeb95791c9a5249c269ab6f0cd08bc1648909463726fa21aa5d9733e956a1c33151d8f435873a598e1353ec71b8382bc2442fdc0e96d4afd2ae257fdaa82527c573a450bdcf050cf73c9fc6b09876f68456fa6a50c9d08ad85ffc24e50d9f3c035577e18c62940085b803d8d232db2b92a92ef2001394db09035f98c1c2762655a0376b9d4b6c0ce526c044d4de65f0b17f3b55083b53333c26a42a520c37a45cc1a734603f2993a79f49fecac27632d2c2d9b4c99ff5d055463e7694ac0aacf176a9182a792b6af72132c96fd150bda34aa019e8af7dbd82510c586fecc099a4335244ccacc98bc5835bf7ab09d0fe2f70ce77893255c73e8b60cd2bfea503de1a6f811bda4404165cc88387ba731237e9cf3f044443dfe7ef70bb88e77b8520064d65c1281a835e15328baaacc6ace277386a8aae0d78414ed9266b08e0244ed9f869fe7240394d94bcd52b77ad884de902d11f8a529376b96a71018929515b8b43355aa50bcfc94d6e5f2f0121a99f7cd9cc6dae2b4da3267bd9b95548d07431bd0d69b624fc553e6ee7fc4edf5a3492369c5b4c026474fba5af3d97092b5723b336aa6483f517af6bc43764793a3c2a5a483518c8f38afd0267fd78020525bd89371515f9e2388aad20d7f3072f537611d4bcbabcee8f59f75c64e8b7e4d41d06b2757a0c966cb5de41ff33b177a00bb69e5d6238a10b57adc45a6432a057b5758b48ab75261d835b791922fe5aa4061509d0d02aec7af2525d283a6f87bd0e8dbd6f9a464e0aff498bf80c758398483fad71d480f490eb99eb789fe3308c1864640b873d7b6dc0cc0d85da02626a8531cc0cec154df49dcf16edf5d44d0ec76a908d2c8913eaac8c49cb6361db58d75d714e4fc5dc5bd7070ee6d1decff4d99bf314bd30dbbf73d43b2b0e1edd243ce09d608f29e1d5ad05ce7757de0316a5ee8e628c413538198964d6e4ad1c6413e267170c360c488756f8adf6e716e09bc349f7b68fcec8608f9f2232e013fb1df873f6173b9069bcc1ae5b0ac9d269985fc486f66cc85658b7b3f6538b0a376ff5804c53339db68905aca49730e535746a4277cdf9cf00f284a9d59169c4092bd0e92db00a9e66f83e949161369d2d44c102bd0a4fa2836472ef2da4aca5d32504218ef199d7e055484d7d16f893f10650b70521a95d85b5ab1e450eec2c718e256c67bed9de16001c713e397dcb3d69269be47db6929c4612f5e9b8d248aac065ce40654a4c77186599c90b48c58a4300a8681e61c06c3853f953e55e6e694c253147ea8b55a5e15549bf0abc433f32c3d6223d1a583754effe4e5eb412b7836c0dcfb78a755538f180a73b8c86195678f7fe542d3d0635487ba584f4e687d7bf20391379964ea15574abaef7aaca248809bbb347c0086a28620408e1241cdecb2ab8fbb0f0f913c6d078b5d08213088449b699a56871e9e62e1f51740b5efeb4915cfed9841099f29c20e44b3df27368cf5f712e028e29e418e9f0c991de9954774bd8f2382016cf1c824426419441cd95f905c0d4feeae7d338d34f4c80f0cb3fdb598c1eba4092ec647d708119d6b061baaecc9e76ec32474a2d467b2dcc00cb951ec58aa4f1381b9e1fa3344b56f3da85e435fbf76fe81ac677e0f509c902a71dcf5f54e992ce88e3de09030ffcd3bd282daacb0571f5c6e2aa39ad71ace23ea6faf1e99c5035a549034279645f5734ae264e111d2cfa5495fb347efae12120b1dee0223e07839eb14510b3512c0389ed808ed1d03f6c2d34576fcb19a69c6d27f450a2ace94952b0923fae409226c4839a697ad33bef5355c453ce0407b7eeef0c3828c8044614ad9f0fa7202450c161cfc1bfd70fd87a1e957c6ed2e41f05d44fe19fe333764b0f099271d4a237b766e5720a36b4fec24c1562f94088b5de243fb71ba2e8f1e2e4e5aeccf349a14c27bad29ad625e079cd5dd981bee94b741b0dc9d02fa7f7e85aa2ab2c3757b5814c69f8d9be33c5c10afe13d396d63935ae5ca293db48f355358a3c618d014c8ade9bf3070a1dc446427037db624b7603bbf93cdef4bdaa29a673841f210580c3911b786ce13037f0afe1762202295039a2df71366c71c1446f916bcc50f6bfc1381852d6294f49bef65966c5f5f5451e126f3ea9886912760322e70bacb0f288dff7c78f27f8b911ffe543555a13b86885214c7c158828457570d8557f3261495db1e26836c2d1e041231e3f4e2cf2aae979a1614280198d2c451029398e70bdc3d6b9b05289d85e5dec4e53263ff44de30590988ac4b9e01a05bddf5222e1d0e2882a666a8b09276b54911bd34dd0091a4d05bf85dc3f0ff86c47287f8429da0b8671ed8f200b68410f203b401197880c5227938b95970a92aa4d051fee6741a73e3408f0a777e2952e2a26d345d9166cc1edc11b4ddc36a4b47f9268da232be8763d4a587b8b9d1c4eca60ee66569f125dc62535448548be81fd5fa049109ec65a0fabbf6718f62e1985831f66ce5ae62edbd2b23af45105491b9b67b9f7067fff362e43a6c05079a59c6121e0afc0029c6eef067e81f334358e622288aaecea0c002c3c284977cddc9cf985a36a4525bbbed0a18b1ff78fb896740c740e0582e13160bfefdf3c120f9e68beb938258a0898f96fc6f12863de53cd7ae701a6a281b6e2c45de3ae49d14c78744ed96154b9f167cb0593fb283914401578d42d6e7388a89978fd554dac4908af1cff0444cee2fb16db3686c8ca787a86e8fc69da23567d5872f14a48349909df6d3717f955419ba6f49df7a780f10145902714f3ff619dedd5bb54c309d26a5985ee6230b148bc2ee8d3fd76d44b2ec8d038e22c5e032da18cd12f6a4a091c4e1942391635cd42ad219c2f46d6e8746c5c29c10b5fbd901887be6a201b99fa1742adf97d04b8d066775fb25ef28358cf190ea652eedfb4bce098e14ba76e9b180641ca283860a9567cdf1c68604155b90079d3410a307160550cae9be91e41928c63a9d29e028d5b59ad0701f82de27547e68c268e635b1a6bd5a9192816b8abc5762ec0143de546bb75e1bad74cecb436693b98389860901191568549d05f36d2ff453fe7339b8e2e9d6538cc60dbed69494e2861e14ef1bc92e9c06b230bb1def824e1322bcd171e4104e11a9800342d2992e620ee61d813988402989582325c041f6d59e7376c5d304271eff203e10274068bc08029d686469d10315e54273da30d53a01ab9a24355981fb9153d3527ffd2dd7a6b36e61d744101d3fc99b28d7dc74a288f06c98306d54f666dcfab403217623b007dbe4b98e722433aba8f8c6c307d9ba0aad75416445a46ac4e1096c813a905225cba11b890efc51bc2aba7c95a2f422d1c4ebbf32e1ad48c15f674de034852cd2a915be63f98c3c478905a7c5f18f7f10306a958d900b4d46127c36e7aa1091b88d6887b6abe9cc36697eab249a1b7c67373265176e208e3df6f04335381fd8c8ef031b833872af8fc1799e6b26d77c057265257bcce64a6031e93a96c81163c33d67e921c04896a341090c5a78ffdd6e59edf6e7120014acc4cc3f0bb61c68d3e5252f0f631225455d89cbf9352f807130e9f552f0284197105b9957950eec41b5558c11e182460ea743fbfcd831337c9780e24eec18c4881dadb6db74c08a146e9f1378ac763985ea3fc43ccbe2035368062b4d14fdd439e1f7c8dfe55a26697239360481e176f7789aa042f043526a2940678530885b10c2c23bd11afa956cbf4ae13a0af2addcdd7fb5e6840477069d233b9214b77a3e5ea53f0c51208ef22013aed8d047ddefd10de2d8b72d1cc8aebb90bc3ba85e99f690bb1bb393bd2e3b927b53268e39bf966b03d8958801e418f627385f70b969d1f35b5199f3935a6bfdfddfa7c973de1bf6aca3406b8f698378479e089f04367757159c63a851e3c40d783e4661769165a94faad5d060d0fd9883634b07fc852055a6b6e5205afe74eef51419239fdbb00b1d274ebc0a7a4cff77a9f5edeb4b94ac5cd11ebb987f72370e70086c4645f72bc56574782ebac8d4f4780a7a9ceb0b618d56227b09634ea3952a8ba4ca6a2084583d297d5fc7c316c0a50b6257412fae0679bc7c460fa0a84597ed32c9cbbd6670c56ee60f1ae6ca62e1fd03d6d2cee9009ade4c64b2dae9a1688080895502346232b3e1eeb18456fde51b5ab0c00323017041dd7c3abff73ce1450c78d39934974b68edc1dfe63aaec8564885fc34dfbb18c1f996c250b4a122ac56b0f6f1691a5e199e469fe700046c9e1dd0d58a146a259397353efa1dcd1f4e6a8e937fa2626d50f1d3ce5d32a86a50c5e169c7e703e10f71be6d417b6f36d389face494e56bf350d906a8b99da9c6773307e880a9885ea080b18ca1cdd5b0dc883df04b3696392286ba5a4fdb171128e098cca4cf30f5715da9dc903e896f8d0684d7e65e22502020e542f58268e4395dee8f3bd3b4775f9d8396e8202092aef3966f9f715bac34ca9d7eb8651ed6023d38c1d6e7c5c9e0fd658e596fcdf6d01d770c8c99af5b4b2167702e86a7f1bf4896f9f1df1696664ad66d41fb59bd0ed97321f25355d1a1a1008c3abf252efd0a2f2ee158cb6ed0415101effd1ad6915b132c03ffc4aea7a11a188d5978fec76fcfb9d2c987f40a8ac99679710edc0ff7828669e414a5da95e43b535ce77f67a9c30451191ab6aa4740b6c2c77736f02540975b218e7fa9615c7dd05be5be508654fc85da8ab06375cd8c63a0a1c0d728ebb906765e81329a103284d9bbc9a7efdae10ffc521a94dbc5e85ecc2bcdcf48f37a267c3b9bb5c0a388aaa989e8f05fcb3619a5c75beab5504240290b6aa56c29640acc4ba4c7640d0c29c1982e6a857612658fa1cdb950093555ba3c51711939a1f3fdb08d39ba85d83f7ccf393374db01acc7b0d694749f65754c7945a41dc3ab2fb4aa6deafc96d23ed2363ce23ede24170321e5e66b211a3aed5da02c64582f1661e1df97d118d0d53034be21316b01e0c2a814d665b008696043a95c15be669a126ac361900d35098d05f1c69104b99fdc9fe5adc17384e8b223bb399b2a48a556a048ca687d6eec28b06af76d3ee615ffb67b374bd80897c65a40ad86289fb7857e351df3cef0836ec210cdeca3699eef2ea9ce60fd61a14d1fa6cfd03c8dbe8e5ad64aa6e4d025ce7f4856b2582f1cc0e3e86de68ef024ea014e5d7a18b17aa55fa6328af906d3285a5578125fe86f74e1a614531578e3705229974839aac83f717249def715d3396164f64133d8b4017995bbe4a2dfe6110c7be1ea17b0933e4b10f4263907cdbde5398a1d4e490f509b8e373fea3753c552b03f16f4fe895ad89dadf013a53a0384fb91c09ef23d38c7badc723b10535c930d1cc3bcccf70a118a4be54e88cc2c5978eac0e39a0f1d2da1683f5b9fffd3f5dbaee50d706e31d440268da17d54d62d4cd1635c79e9be3c9580411676028c0cb78dc6a9adaa00dfd46bbeb2216d47a9d3c062e568fd573b722880a08cc003cc388738a7ff7fba337e75673977f8f54e3ea4072adbb21286afda543bbc4feb4aae49ca56855966ca8c09d47379681b2b754ce9e73cdc896e1ac1224a2e8ec447306f9b3f1bcf960233d9cbe8ee61fa23a235e2cda84cfd98b4329f98a24afe3605feb56075a415becd565794799645d3d473299a70970732f9c364a6fb4f77960ae14d27cdd71d7a0651504195baf467a4c1af032b26d11caca337e3041c5b17aef281ff817f6c4a68287e2f10acd774da541fb1737d7d1a9a60d8540ee53033e86fca3870b92c5b6b073ce24040fce77156f98d337533d6a6ba0a8d4b250e0f7458617b5346d9614a695044fc368c9a38b1310af71ed1053cb8dc4f0abc4674690f37cd44d897553edb146d924e888257d25533b505ee1d60e3e1fec7d35c5711a9c39741c9775dab4430db2a63f72a1706ffb3e2f617d177056a5e2e64e2f2e186affb2e826fa13daae81e32806dd7ccfb9d5f76b18ae3ab3e15164485e1832e3d1bc7ba2da175a0ff7d2e8773c91d06903132e15e0e2076857d35aef081f0ea1eedfbafa21cfd3441fb71fb14c02eff735e14fe84db82eb93d69532c5b90f2edb624c7b086e7d6ba1d85f6dc7c6e6abfd03553aea832d159818a73153427c9fbe0e5da2ddf982fbbb24b5a674f581a2e0372e90b5ffbb6b060bfc6c575ab784ba52073f959d4637d002a5a39ac991317c0a27b102d1007db7848ee749728dd4a986df90736242e95f5b348c051fcce7e270ba0d06eb830de4abb41824bc5425078a7cbc3a2e687807353b380e50de8c064f857e8f3532a678864d9db1c2512280cb5eab94a0d62209e5ed1e077c3295337b701a1deb848b680bdfa6de9617c8442953dfd01106ea40809f849ebf151c01880871e77a857a52c45ff6eb67122bc89a7b34d900b0614e9ea4b5c51b953be9fcdcde58c12b88f4e6dab1b65cf34b4a28620950d75ac593a21ad4b4e6beff96fe0d9db44f44e93e39cdb2b560fb6f3d73c5f22134c8cca0fba7d2429baad6285ff6330b4b6fdcdb7e1d4d0ccc3b46eb37ec9a40a192ea99ea8f0a2edac70ab157b548d147198495af882d3228bd17b0d1b981d91df0d2d61f4bb125565196ae94507cec49d82f9e892cdc184ef8653d14632018143367ebe9ef143b5b12971e199a08511a5e6810632c1d0201c4c11c15c96f3b437b57daba5c40badad2f0e1bc36cf3133c13d75b927aff8a2bb7efc808f55ba7a6a50382554c5436c73e0217c2443bfce488cd1b1d008c215e2e707f7dd86d78432f0742518e614db2bea848d7997649753e9db47b207fbb590b54bbb3cd042c4d0cae2f4bdbd13132450ae22f2b21722dae36ba03c6ed4810940fab2551a7e81722096077afe3df33fad4f57c345a6540381f90c7bbfb580673fd145c02a9f5e7acd551a2450852f37922de871dcb268bcfd922709db3e3af2e67aa37c8cdba1c7037222d30f74726733e35575f2e98584b9821bcadac6b1092375156931492b11bcd9c83d925bd8ac8e6b339af1aeca5274ac865999ba88732f41942ab8d08cc8777ad273419cb7db1c3d2ea468a1e856205a37443beca48930e970155a2db8f8977d4c33ab1371b2c1a54329205d76ecfd7ecced6c414f9baa7d24b10f1b40a5f04687f97043e398c1385db055a4e794252090b4f678cbd01f1a225a83aad2264ac1889c9c49f17eb0dc3924f5982e773c39311eeab8ee2778b059051584f9c89d0639927832004a3ff04e844263ed14f9538182ae2ff6b2cb922486e5aaae82920d58f109b809935f55e914e0f0410ead2341d1efc3b3f69a22956c11e639e79a7e7931e3cea48eca22ee84a3311299780599d205d2d579270e11c8d9ac0b6a2e17f490adb1c14f9cf530068589bff80a545ec833a696fbc39648ced01f1fc32711ce22ae6187759467af3de2f481877fe545eb7ee7de4122788cd9d98f00f101e465dec7f32a291b49e8da2091b0935e4808da067c084edc0df51f0608ecf2250c893bb3a6a33223f34e2ada07c341dbc2281ed006fda8d7c4e0409cf80dc330e94ce2d66566248d3c81282667610628b24444aeabc2e3a163d3f167e1f3e5cab36db0c1a9cb801d0365d2cb49259737fc2ca7acbded1144da83b433bba92f9b1ced9198e7d4478dd48dd9e8ac88881ab176695f12d163ce67807589aac90f920d5700a26bb50fbf9c5831f4e379e873b872c9a827debaa000f8afee034646b07dccde6085807a8a1e3feb5240b89a7b45cdf524317d2233afe39845f61b7f6aa3b0e7577211938ef889f71c7c1f280078fafeafeaf6ad12c295a45aa2e1efe96d5bed7d6fa247a30bfb9e764b252b2a29d06b5ffc261a28bdf9c322a6c2f584ce674b6d27494a2b170b4cbadf2b6b709e6658c472fa9093d04cc25573200375ab6b8d324c6e4dd33498d321b5c2df7575ad177dcc586a952ead1b89c732a7c11e2b5e1066fc29a132b64ae32743c2dda778d518e1da5d1acb94795481e7e8bfe10c6bb8552eb8e4c755dd30acd0d33fdeab616e3db62ce213aa66cafe21d0ac8a2ecf1e6e96be70ac363c339c22b49b938c7d69b221e5982da9fb94215935e05eefa3aa2413a769dd1859f839a6a810c3a58050b4ec1039e3062df2c954b00a39b6767f38a03c90f8c45d9e659a68e2168f012146d1ec31f1d9a2a2ea85bfb970fa2036edf651ba74e80601b42fff81e7f1e20a8f3de3a8bc65c56f9bc7a79cb97feffda8145c5902ef0529e18201fdbf19f2436ca32ec381dcc8740dde3ffae71551d00eb14a5812f926cc3ee57c060cfcac0e40d9ed1cf1f347be0e6d0ac7de980de0b4888e88a1bf65a9626ce483027c119c7069a955b4ac6b47e5f7ff91b3a519f22a3ec5fc2eee75e86d419d0e95c6b39a4810ec854ff6cf0f59e7b740d4a06eb0ca333f6ff6c0875eff48571dc2f8da4b1c5501d01b6f19fe472693836aa9c7fdfa07fe6302c066ee47f6d781a5a1feae7c2405fbf31ea6bf223523f84ef5e49ddd4436830be2336d2296777545a22f0142182b1db226d1787176bc5a46fefab5697b53d99b066ee20085ffb69f05848a5c88ce28411d36f10ad357dd79df5f6e818109eb3d59259a1546417ad85ae5755838d2981fdc9c749a72ac929db7a41821266bf128d9a60ad6f83964d4529b2f41fb5d49d8ae2580d2535481d407836c6f05cd3dd629ec8b2125620ddecb4322708ee9af98a3e2d9ea5ab15ae7b37d03678a08f062edd36db5683f8e29f2264c2e25b4305fb757e6b9a71a64eb0c678646637aae89dd08a98fe570afc1b35d2b3c529bfcaa335962307ae09afc870ddaee6fd9fa25114b7ea92087ce6ef945cf6e3c8f121cf5fe239495ea950218cf05542a1e3daec543ddefe4a316c8921fb491396e09a2e7a9dd84aaa845ae8b4cf83d3caf568f4b0a60d7ad234a08bce94a78911a09fe747eeda8f938bc09716be7c5a247df23b17d7465690460dab1f7f08af6171731cfbe64dd54f8108b5c8ccbd03436f67087d2aefb7cb3e074a4353ce1c776b5a5099332e9fb016797a5e972a0ead1b01e59aff14015e73c3be0a3bedad184b7b410910b30c04150497ca0199af612c56170c1d5417b2c283142468a60b06a165389761cb6569d14a17509f4f3d7a142bc41ea7674b00680b9ffae0b11fa7adb4209ffd887451796f7adac573a9e5456dffbfc1755f075241ad0cdc78d9d13fe7466910d944d699f5e6b9fd32c9fc0a269ec9b026efb51e871ab88ea1a2ed3a591bd6ea4b926f21eaf9cf4f8a5ba5f2a03a6997864daa2ad42e963fdabdbf011795f47383e3e8ddc752a72e061fb8dbbd379c50ac1b5422b955fd1c0a6055762618fe32a4872f2ca1e0d67616912b354572ae3c506077aaa9a6a43bc62d78c9dd24e199220a03af9af69202a390f7ada08395d7569d448dae833e4b946ce35855f032f9fcbc165b4bdf7552f6b27d8fbccf0afdbabd322b4997a3ed3f73a60edeb11649844888b1a1050bf6d94cc4f560c04a0aba7431c3a0a5dc724cb91ae8dee630f2239bd810e246fe982de7008e5ec1f262aa9201098568d7ea164524a4e817be254180d9a6d086fde8fdfc075cef83b2886d30dfedbbf7dfb61a713f0fc19ffe80cb58041eb48d6a51c97a2ff7155ea90dcb26a6da8d972f0c0d2ffb4cf279a6389787990d97a96065249ecc98a97b7ac11e22920bb2545fa685ad7259f5adb26acf52e35c835a65947c562a86687cf459756c8b7d593aba2e3792fbdcb31652c4c1fbd440f02b27a0a57e4243db667a4c0b1572a4f15a74f21db7f1f07b8a866d85762c5b4988b691cfec74cf56b1dccb292b169bb36e7cd8fd9e349d2c750282728c75dda5d05dff3ef450318b5574373e46b5b5c353831ee0fb862202c31509e25f1b48848baf40c8554f5f3a3f07a240ff69e55e3db8c41a9142a6a134bf24f934894cfc799293499b8f8238d3fbcf19a9c2573d1781b2e6c73d1daf4109d5b7556db3de15890532858a9dfa7d0bef6285b7efa574f8ffd32ec6a63bb31a0e2739dac20d61ab88d14bcfbd4874f0fce8253de0ec327d836f553e94cf41d834005836693188f9e1b642a9a7ef9b119cadb35b02a478d7faf791873fa02683e1ebbe7fb0ce2d9b085904df852858ad5d4abce82a0ac08c629793f4dcf1296bbe02ae746d46b935bd4c6983d55f70521238fc69f0a5e26197761e4a9a883050a2dda2c0f61275fc7c9a90d4b3b2efaa917536a0172139b31f4cfd1cf7ac8b85252d430d82aabe0d80d0fcf87ee25d295ad03c263ab987917e7da4f93199df7516ad4a5a70c6f09de967929ac09ece0c913d969d2ccdc77b1ef33c57a64e9f3cb09653248867010bde045a868bfebee6d87ca74e7131350b8c3c357730f27daeb70d97074ce6730e3647c107e48b889f343c63348f8312d4b05e696e1a0ec109a16fd6b02844e099433bffd1c48f93700cf72e1f7f9645579c2b66c1268c9d7bdbceab43b6b92ee7baac815d433bcd79929a0727575d946b1e45de4c6e2c22ed9524651f3bea1d656ee8d21d61964123df76b5ef4a1474650bad52a0f3911e33c210f07cb17ff9b89171941aedb82b3e79ce3df0dafb4825a66be661ef473ef7368b4101ea39c167d4ddbeb521430369feabe04ddaf0972fd3d9cd222a87a446bfbee76fc815883eb0da088babc7e497bcf28cae2a08fa2cc06044ae719b92972a36ce5e85f00fe5dc194e6a6acb107d35d45215264d3249e5410e4923e48c53bc7607431c48b1c9cc63956590ddb0dbc6a194094d7eaa8bcd91dad6d86c412e2809521a5c521f1ad3ef565978909ab2cbc014c7474bd5ddc4936dfc69317d3b0be002d1e380e0e03412c443e72df23bf9c23075e14f768b78964495aceaa51cefa35106e8c5dc3d8609db787cb7b6388228824e6b5c381b30ec83619104da56b74e9965b54cffcaeeb5d3426fd58624b176a659adfb0f058aba1e9a0843da085fa29dec452f5443d983374cefa4224cc4df4e5e7110ec05678902ea81bdf73e309d03c5c8e5ba77a5c608f5103261f5e4b20e0a56df8badd929b23132d0f10497c3839c5c803fe58307435137d46f0a4b488e286dac34610877bac767074618a3432852c02fd7f07bbd1a2e292f5393ff6ea8cf23029641934ea42f67a34ba6e38fe01943e7daf8d1c25da068dfae3248a53e170050fd7847112b9258063a1093e49825c66aa9419e495626c49d99c694b2e743d9ce003c9f814038dc7d00d7560366205f971f81719f79e1eb198f022ad0b35522202552a69ac4d75c249026b31666da4c8272524e87f6eed2ab973ccb0a39e57825c921a8e3e396c21eaad38dc681e7d0bfc69b0e3a507fa210442c7e7e14c9e301425455c41a66df0ea0c036681170bec667c059d9f0aa5fbfc2c37bb100c30b24d8ab2aa2e83c2e14e00098fa9a93ea0abe3161b7f39f25d946fa128952a56540fbca3b916581b74ef185c8c351ecf7639685a14285a04bb23c8d979dad74176969523075dafec374b254411627ff02d74a394a93ab5ca5ba729676592d86f7d3fb1e0a76ba43274c907e73088f45d307eb62c7654676ffdc0ffdd85f90f276a34b1198ca4ac649921809318118131f6398fae473e1ec504c2de97faa4f88a468f9289673ba841d03b6d532e3afce172a9663660435610d988ee41b2bd7b9e203c023d8278382d7d08532bfccb83f9294e437c1ae26e87708073955d6411eb3879050ba091ab6687b538cbf9c5a72cbb2dad362bba5327ed33a9b615d46e89a655fe5cfd6e859d917cd3dad2452ad89a4243064270c3a68a333569881f9fe002a27e246dd308f368f54714f97fc7e6d4fdc86272f3ff8f2756343d771bf95480813c6ee691ab4b33e49ec309a7639722b880eb25f029bac6fb6cddaa26f1e1e5402f4ee5f0330d4d74b4859226b9667a944ae79321c8fa4fa2224be7b11d5f147919f8a7a33c3e48041caf45e98def079cfb2ae3d90ab2512b278bb2195a5f06c573181cf9acbb34d51208fb3df4ad94b7bc04724ffe9b4cbc51212b80fcf160d121b1bb84cc8037426e792778d4202e8893cb09940d364fc2a0eba3e28a592808eed07abcd7444aa480f1401522cf42a159fb2c70102e224d26757804df6747b43e6f23d46638b531364605f97299105f65237f7a94222db49d7a6cfda7f8e5d08f66deacb35aa9adc6eed83fad7d60bd2d2addb94c6ab50270f83ca2940b250e0f9ad1cf1e503e448056e9f77adfdfa77bce0a07f440db3bf52419122e53ede48ecc2ce6e5a066ab5f223322e641b1930f4275adb7196989c7e267c4e737186c196f607ae67bf71fbcf482528d299cea984d2c186fa79671b2ab2d29e950f34000c8dd369a628a5301226d038ef53a2f651e38aa1c67705c8e6afbc642ef2a14169c491590a852a309dca32fedc47b8d1f0ec6907954f39b9ad0cabbf819ca9c4edd9a1ac1245aa6530d7f2afbcd2ab7e8eff2c9ceefd26652993298095d69843b6274c81e6bdd5041222e5ca5c7297cddb55916878a34179aba7083877c0f9bee2eb3696796586264d47fd02337fc044da74ac75dd932c988d63fa0628c6b7ad01458d333addeb8670bb1b72ac7742cf1064cfb7975381e776f057454ab0370770924f9c3cfb6847cdf1f88ea77a973a989d8fc7881a5e0c785728ce243eec9621d1b659a57de1318e83c4c8ced440e0cd6eb563fda9b96fa2e7c776e5a3c46ebb80da3f3dc597d94f1550cd2b345bfda43479bde2f3488608a7dd78b13fd0aef1aa0c05083a200cc4130dbf55ed13ef14a96c2f3890a3e255972e15af82a7302b5edaf58c6f93fd34e11d2bde66b89bb69de13dc03a3ed955aeb69f11069caa250efca4e3447f03cdfe6046ca137c17614133bd41aa3c47708ae678929416de5a85450c7601ce010d3f76f8169dc9b713e4dd465f365ee99587ca63fa6692850effb20a5786da103c69837a12a43fc2bc116bb16dc90260464912f80b14f9181f634d10613c6f2f56a0015e624cb88f216814268ffb4285ac5e61848b07e5ce08c6927e1e09c356237b62fff05681f730e35d0479e3e317e831ed0cb5aae947f8d6a4537c60b6a257a6274ae256899f03c8bdd38d5bbb702ee828f95429b0af1119ad296cc2062becbe252541e9f71110b7864587b8f2857976fc36984ca674dcf66bb6b72fd23f8e2b4edd68ba9dfef0b0403b161a628c70f2eb04e5b77d52a37df79e4c1f7fa880888fd5d44dab0c4001e959ca4f8ff5e51b59ac32e9da9ba6e0306aeeb3b0b9d748921a7d22ae3e260d4730f5eb96ba1ae2b8c8db76e02ee955be0fc521d0dc006e6418aedea275a98a5de6f381ed72240ce2a68bfaac2028da67b0dfcaee11f9b7a81ce2289011d9c3c326833ad3520fc7d98992063d27f90be9c097ef48f34cfd064b83cad3277977db71e8ce4b3e10c4d458a805075e63d7c7cdd628f109d87d89ac574f3ae9aadfdef23368b5c1b614269c14d2700225efb33c7d47910148a61cc739cea45ece1eae96071a6bcff2f9716fd00cc107c972dfa0fc17b3ea204ebfb1c50d1d3799e163a18f8af1adb7fc0440226419276e85e3347a0186fe1b7f85cc9013ff17a6c97465869cfa64c4bd1cd887b201efaa6866881dba48f2d4d1c787bbb7b8798cf7ba1f28f0553334281d8a0e1edff5afaed7ba51e2f336789dd8e2200ea1205ad378cce315b327e6d591e6ebd09358bd7984dadcbcaa2829e947f988fc7b26442f457df789884280439d8bcfbfb40d9cb1962f16381d6c753b63efd530200e2688de9b806293572cc3f14dadb3503cb365c7f1e355177a6375fdd4640764f739e30eead4e8e79ec220c18585e9c2d9cd920ddf7f84aaae21ad2656007755a58c21fb1e203fdabfbe65170150926c5f4514e9b98a5b32cca854638ccfabc7fd95947af8ded1190bef34d2002fd428be4801274288b02a0f4a106b0eda2e5aa9650c06bb60f8672618449b45d29b27cd59f8d1db35aa2debad4989fd8b111d94de49b15e57fefa2863d82778ccab9396d231202d4509b9d4aeeabdc29ee4c0b631832f7ad44a891c55c09b7389a5ce032a8068785aeb9ad2cb6b70d4490534b6bead4124883b4e2ade14c2de72ceacb67da4106ebb76ae3bdab11547f04ad5f7360743236e894eff38cd7965f5363a0f2cc349c3bb4b8e5cbd12a56820afbfc40e2c8811d2841019d06c12a0eae62867906ff0a0c2fe392729913be0c8168fc0080bba34cfd6ea9c25b7ab4d48878616afe382ab2f8216aa89f3c22bb5717e68b72d71a285d9a1518cd691cbfc23e949c61bedfad31a980440e90da100063c56c9bdba70fffa5d69a41ef7dc46b8c1e020762458f36f7d6f640f67765fe69b096c14d2f4b5e25458c6206642561f47074ecd03ed8aadc2118d70db9d4d91b2a401e0a0229fe91513ab2176f66dee9c5b968518d754c2b19412fb8528feb8ef15ebc9d6e06bcc9c6d864ba2dc54015195bf6e5cce52ca72cb370abfd60a99c304a98faf3aa0f0c54e6092100189b487797ccdd1f1dccce56bff282bec38d789f4c681dfe372fe5b4c44c953c56a14484b2fdd74b34c20f9d2b317d2093acf476ad6d43958dabd80c2c70a553392b2b656ac9ba33464616ef322151b834bb27b25fbf309cf4a7a9ed98dbee7074c879e2e721edc27b429dd9053e3ec92e595b753aec333ce43a8a7e3c8603b39db45c81c51e5725d3076945dc99e505cb815664924da1e5c6de33b658c343beac8b18c92a543b605240ad12abb772f04e06c3155ac746ea0f51d5636aa8b9a160618e7a389c8e3fc55b5bedcf7fa79a55d250bd3ea6b1a70c06134955b8d13be20ede96ab25b65c5731d46226844b9aa32636f0b6cc9a470c48c971fc3ac288c3726124f9e343836faffbd9cb6c6972f6e63cf10899a6ecd103040bfb9eca67262dcf32cd4ece0ec92ca7c0fc21fe87d13c9844bb8bf6b154666f00a40e5b9b3db0372afdb18970ec50599272b165ad0d1c049465868d74403ac46cab57e0ed474ab42612e79670894713d5cb7ed3d12dd25f7a188bbf7eb7685b6841fb3854ae9f27a228ebd20229cbda7ca850c3091ec927266ea0fd0b945056427f5959931ee45591d4b44b8f3c580cfcb13c06f22b43c5fc8244edac5946d55ac5056caf17fbd4cbe9336227dc02dbb96e0fa229de06bb890ba53864d50a4bb4b1a2b35bcf162e7d06fe3f22fa95f0d1e5c7891e4e330bba46eab8517f1cf2347222b9f788e6cd9a5646839476f36f335150f6ee76f34daac2527986e01d57accfc88732e5fb012ccb48713c4304ca14bb145f9dadce4ddfa9dbace5914c2fe381e8f8bda1645a2025c607fad056e9b98e7f38e99384ebd200985cd4d7a9da6953f741b99c2d1bcf52fe26b9441c9ff8b63a2c2281fdddaa452e9e9a17fbef31cc3430dc526a08062676d03e335b3ed709ebe975032e4cf60e61e43164ade0ec9be32588b0b6996785ae6f729972be6be9eeb3d111fa5432d60b9be8220078a68c348183aa1fe8c9872822a9e63e383911c87198a2a378c7ddf271b8a38bfe966b4ede011401700fa8c037b8c06e5f31f5dc2bc8c0cb71ad6004d35d565d5d17f215c65ee90e3d5a33b44d75e972ed20470975fffdea9cfb66498a9e5ed8e0719cc963134e76b1f9c05aa7a9ac385d3ade98f42c54fd0f26cd63b38d72cc099523af51707d653b9fb573b439431759ae7c26f98a935c86d001142104e38eea72fea15e051714ee859da91b3224474797c4aab7cd0b5c4206af2d2f785e0609f0c9699fa9621d45556dd6da7aaef673904308dd7142cd169b594f248195834c31737ddb5e3351cc43b777cf0e8794e9edb1d0904bc79c8c346ed4c9d3fd30118fe8c46818ee0ab7f6a534543eb36e486b3b2bad5326df1dda0a16b668eeb110bf38320c674b07fd6b445f13530a0fbb273be56b6453baada42cf3691f5462f8cdbe626b93e24fa236f5dd295295b256251afb3b325e0b8b3ee65f4b8ffc8c6aaa7bdcb9da23f6331b57ee8621cf6dcf05c74e72d9a412e2227ae7d0b8ebcbf219df8607cf5c5b08c1ff9e3d6b50bcb22cbe0e109c57cca0a26fd33030e561d36d87318bd40d60174395cf4bd9e96b48b91854c95b2454bc988c2a439a4f2c5110414bbab4749060249952475554e163af51007b6c80bf5f02aed276393f99eaf8a041e8e74bb1ad403c9d282c0313f07974e33d82c55b24fa3818cd9116ce3c9d0656f1c020587b72385a5ea2fc4dbf4323907a9bcf2add60db905881532965837e0e492096fee4ad48b59238a3517f3cf34e569e0609fb14be23c95e49cff9ecb64a2d12273494448329d1109ae45468edc1ab44009c195e0b0ff2319dbd265bbb4212d52c38bbb31de57a92b3018d3b8a3db9a5f3eeb7322626cc8af910b45e8306a38b76614900e44f04f6ab3745391d6a9ba630473182158a3d7d759d2b1eb06eaf0aafff036de827a4a901b441cc543e9f1dcd23e2e6b22c630093e5c5bef91c54bac28a6a634b36caec24a26913d4c8ad6b60f5b51ff9928c4cfab22f30a08db7ad96a38c8be5415a2eb8af5ece54f383f66b3d9ed5c16e147c8d760e9a39d38ee044be85f78335f1d5a24e8671c080acdbf9fe8b47487469101d34053e1c943369b1d2fbd6bd428053208b83ca02118149285116efc88505a2ea92714747aa6503ca15592065fabc16f07f9d66e4501510fd9f77b41cdd634931747ea2b867a197e6ce03bbd45c049fae2c8c90196b9951d4941fa4c548de78972d0b6b8ff891c6e40cb72e6f2b779fed94af019e28d360584236eab1206d863c8d7db37ea3dc8ed184a47dfeb909123bc336fb2dd927b1846a946807b3b4f2d6bfcc99ae6e0ae5d45600f63522a9d3977906db6f71fbdcaf3639a062c2994b864e4c491103f086fe79cb5bd73f45ae0e0657d9b7e06ee0ba3d37c79c5a05163d5f37902f6009819cb74c3eac8ebd8e05912c7db8b8a59733d78f58d965279d581a1e39e3bb4a6d5b40ef2a26b0a58572331c2e466c85d6f0fd4c99c7e1182d53a592ea2fa95e6079ba1ee9455f81779c829a884a41bc136281d7874da35436411b4a8eda6bf1141da7435a0885549f1f350198b0e7d14174da97a2cbf60238700bdf7c37617528d8cd9406d53a659ae55a00ae2cf0e31a204c7d65c91dda9df690e26eb735562dbd6999117fc64f47b11d8c463b972a517607d6c8dd52095d4fd76f1abd93f7af7021e8a9befd597f63b09daec648a6d36537b12713973db4b8f4502e6de61fb1dc887b57973f5700ec2daafde654c35a77330b1c2062eb93a11307bd65d8851a028e94e2249469c3b5dfe3d5bdc8de12adba1b1387ef26d08757fb57c2b2a0fc153273a8fc0aa8905c598d70c9d6ce542d90b8e89a906fe3fa44265ef5a2c254a724be380e2c2c6078767a0a4469b21c0fa795e34a51e9d8ab931b2e1ac029d30e6187ce824112d1b12f60cc967def0d760b1d42eaff5c8484bd3d216e776464f60ddec47d121f72c95712f21aa48f2ef75bf23edd4678d7808884bc9f3e6362e233c9067e9096d03615995b7c2e96c15c55f7e5a96f3e9284da9d7cefb4b77aac91513ee0965a25dca0dac2004126b2c49f6d43179342d4ae736532f46cac2e9ce32260b55bc217c459d03d7e585c2cafa0a43a21bf97538bb23ad57e0ab1247b518185d4bf8f29f289819447103a593c251ac04f156b94e6b305853bfe720b7adbdccc46450864b52993e9afc1e3302b394937558d652a146d639b01c0693aec1bfce6e7a240550fb21cb8653b170e9b0ea9a694290ad7fc65ea68ec896a351c5242c15466e026b43830cf970efca5bbadb59f58a263d6d8322abfc3d41c71c7491f123a2e50251d0e52c3dfd99459ab167d978b9c379e562815cf995be2532908590c8b68a36b69f49c422384d306d9b9cf9e0d84677037f70647ceb7065f98c1a915905b33b8da746a7641f181abcfd93f9562d458e55a89cc8ff2c6d7e48c45bae5e80007aa1d2de90c05e337229604ccf415991bebabe2221622cf1509b0352a1595d4fe865315ca77895254470cc6499c2edf70a407a79ed50778976caeaf9bdae98e8f25fe7168989c0e06a90a88fdad846d43ae213254b45b6f5ce98974211661e38889ade13be251125c867c1bf7153f6c67272d5ccd309fb04964e7f73ae35d0ae3538c7f93f5e960cb309384b6a5a9dcf1955f7a2fb5e32b47b334fd7bfa9c9d30e5ba7303ac6e19d68f9496ec79f9788315322e1ea3f2f73def765a76a8c55f9bcc0bf9d90924c32abe1ec722ea3b8c4e2598b68ac4b59174bcf07973e021bb8bdf416e10a7eac525a34704bee48c5352530ac14b8bc57e31b1572e67320fad0b7d0d686a9d416fb5aaaf5073461d83f480aa5e3f0ea3645e196c437deab44dd8b80c39da601c8f156e2d5784eb0a337ddf4df1d1520feccb09d62404aa19fb7dcf04a89ffeb5f4a3b21a257a453975a0c54882773ae0598ca7423e53cb955f44db800b192c927e41dad8566ba74bc8d28bf0a48e2dd54f73fc732c256ac42c9a64c826db62ee89322c8dad896d72505ef6ddca6a38417dd8ace20f1b6ca912c8ef30300330994e6dfa3ccf02f96363686eef3ff4968612d49dfbce83cc67d617c51a784bf04117a63c7cebbbe1561ebb4da18b5b1b783ce488f96e7ce72b234734d33db8bd2eb8785a865a68739467d9951eac08ebe378150e3b1fe6b9ffa5c8a29b8593612018e2769a0d4dacba8015fc8864d6602bb1c45faa3841a851d256edc63a4092f29766e05182c35eb474181e3de737c024072ac734af529b1696f0d7c7687d695247c50600fbe1bf223d74b8cb0113ff105c6033abdda1c9ef09ce53921c94a35801f21bcc92d4ab47119b5316dc9511643384afacbe94d3b247778afd02c3b1e8089c13fa584102a1c498db656bbb9531f145814fd79480c45b7156834f75df135733ddcdd0c88f4622964bf0ecc647fe9fe74d7be285d937dd8838763d48e00e266dc68f295258fb417b4926861c43979910f8279309dce645229a0f643cef91341a9c622334dff99484c70f70b48e1e89df1829bc1981b252320d820add874c733577e7a0c41abc0f709a10ff462e9058ab7a21df9d3eea4fc1e1b02d286d51bc9cd7afb9e3dea55cbdf78c99f3f151900c3842afb18264165e9f7265d256b33cf6c2e6e01ce526fa9f8c9e3db381d04a48ce9b5a1d1b3b808acbc79a71066f0595888f9f632e076101346a10218d26f3db078c2aa6ba40ef0123545af29a87c8907c6b747ec504615719edfa67d24e66272999a45502fdc0c8303961d02dfd8b3f2763e3f631fe6e0e587277c357014af2f00667335a3051e7cac467dd7a0c954791f6b6d7c59b6f93864f84687e32d180e8c2d5da3302cc01c1370a8a5badd7648df8a0f907ea4ddc48abea171e67a64b438dad5f018085d7a4236ec56f73688765d88ea7d99856b47db4ad683b59dc80480e2e480d9831a43467dc4d2f6911f8247d4f1a04858650e41c917f091477ba08cd8d784fdd6ac542b3f977ecc2e709e7e636baf7c18c7dae17f1d19c704f0266ce1ecdb6942054392ed4e2b5c08244af886a62efe6a24d3f5adc36e5b3b0a02e6f2691c447c4c7ad85958f0dd757acb9dc4c6ba705aa4481910a7bab635cdd1fd397f3a0b8c02efc37fad663816d3edc8ac9b2caf26542c01c3fea18a5d112e6f3e68d3c036d9b1980bee64ef239a79aa863031aeedd05184b9b79678d4b85471053dc9ed45ae2617a64bc731aaf6f7dbc0c9ce69de1a5a045476692d4e7f804be4554d1b373f0e6877736be8ad7ec5125fc8a19542e2cc5775de18208257aadbd6a7cd2c6dd2bcd86a719f22c390a5324b193ba6726edf53f48c5c58ac282b3321a6a8e8ec1b71968da1b07dbdfe358150a330a9de832ac92f1a795dbe8dd5fcf98b23fcc394d1625ba00681ae84d4814065c7b58be13c4b9ef5e17d87604e968dbbdadd234b3ca3c945f1c3da282538f067216fa3405cb23ea18ae4e3605cdd14b50880cf501394cb139283118e8e1af6e92593a1a2c43e71b7440ce990de6abc972da78fc061725b5e378f6aa093e2b3e2efed305d62dae549920569a9913851ef0dd19a350884e5e82f8f576c31586ed80c4c1bf52c29bba7dfeddba79e92755626af7637b49766414aa313f5cb3d16d6ece9290e25339f209cb4718278d61dbcbddfa5147782224486994b3ac58674092586d9adb02207d3fcc3d71eab08e5ed0e56691c7fd7d7372aa57b44c305fbf327c438c052e516a0c0fdb456bb5ae42b87f4ac0e8786bd050a7953380cc65d8fec4aef26d3c241179b25826b5b91b1425ef9665565511a55bb3a84f9474da8dd24ff57c9b98f47c77346936cf322294c435f3c67e4a1263bd68509ac1d40ab3fb59e901918fe678c95f60896447cbf1351439e117d739c072371e6d65ea020b93ee2d27e0ea1498af77bacad92fa9da0fe989d4ecded7ca0b2e56681b706549c8b2cd9a100116068effe95afa5b5a711a11f66c357846d17fecbfec98841ccbaf1d2f34235bed0ba6c99ca5e0935a31f6d68e62b214635d27efe43d82ccfbbd6b73e85acfab190eee63c87f84708ffa1ab3af3dd923fbbce553671b04c92b75c7036d3d64cc0cef72e57a4bd2957244794abdcd54389d358cb8fa1264094e2ba4b349b8ebd6fb835226bab13d988b8376b6151560f8d7e04ff2c56230b9271cb301d5351c2cd79dc84bf2a7ac00f36f5e6b1398b34820624d24b5035822ac69d9aacf78737d44115b07f49c336032eecd7e8aeb1c5576a6f8e87fb5fe9a023f3723afb8f62c2f3db56d5a81202d29d29e5b0ed3618f647f3502b3ef497d3a917a8d9bcb5b0332d683f3b934bf48d346dcd0fd05f271dbfa5b3b6b1620ac4b2f7289ce114939da11b502c72dde445d24bf195416ac6b57bc9e9cb632c4719e2ba9b938ee9a45387bdd128499140fa8468126048c7e96ec5650013116a5f035d14a039d10231c64e1f07ce885c6655514503da933f6abb67fc5292ea4ed2f0cbbd9b1eb05d5f59d37b8fdaead0d197e5c1a0557cf6a00041f7b27cb13b3dff1b92e454b85728a0558f034c3aa9bafcda852df833463ad8af3e4b7ae470340c9cb59c780f999b6592a18c93750d45a77468e4d96a9e7a1b713e9e0a0e1d4a4a30a6181f9ac988474c541c5dba5e401eec3120a974cf98829ffa1faae1471b05f10638b14246754c4e3fa22c5af2675704a67f87b7e663f36be30b3368cfaf91fc59ff20db9132d183afbf639766c9ffd5724d134f8eaead61d539b0125e656357f7bf810b8cad6239fc4cdc34a9a1fa54819869e9cd3cfd92e2ac91eff87dd48e1c1c8963b323b0339d13d2cac43d004194d97b4c71a315c8886cc8d64343785e0c5969397743c65dab53b88fa00a671ea87310104a2775f603e70a6dd6d19402ab805520ee84db3bf4c1274758fc66a42512583a77b502cbb09e210442cad405514203de2bb2b785579d85e1569492200ab1ee926a69ffb397b6c1b30bf5ff45169c97d45e7aef743e5870e0a051352eac0bd559d1a46465c7ca1700289f7d5c64b20431c4bf03c2de9be71127c824384b1c0c7d052ed704ec039355a97eddef36f39de244960252c7fd4952cb612422fdc36d2655246a7d34a6fda2ee332784106d630a4f513cb15c98a5ca44600afc5aab49883065744c1b352b7d2b36028840f142653085748bbb2381601088b57b5c72d2070f70cdca284f4180ba79f38e6559ab2af046aa1b6d2775b7e7f4ac42840ea62fde5e811eb5b785c9bfb786fd2954bd9f9f8cd05036ccb2f8ae11ea90cbf7c3b8b7c897e4608027d7c7e0b3a2f65557d154e01e81f59c2a4301a1fa8a768b0eed7483909005eb2eaae0d4596785a5765cb6f94b3d03595e73a0c63941ffea12e859c6d6b8cb68188e0210282a81eb15f081ebbed16117d809f7c83355c19d86aae79b759b799942e9a5a52588e4b12414a753bd20d0fe12bec907888472d2c608c7a4e8b8e6d1497228379a30b54cf911cd989fccd6adc3e9752616730c8bd6ed8ca72ab8ddcfe9add2f43f47f4aa104583bab26a1502397afb41217d69810e0ad964e20fecbe77d3b84cd14fe1666fad947d01ff151fd1cba97b5fd2fefcd436a22a5717fdea878a0c3e946e0e1ae14461418687ee668bea4e0db873272278d7c6ab6eec58b88b18ca39346d634ae88c0196b3daed80032c00b134c712d541c3e5d8213cc2cc96e3efa20345d2584d35491b545b83996d7c17835c53ccfcab267ae4a9786b000e2200e59a9202af5b7819bef24d680e40162aaff316a558a1edb4ca3a4a49de196381c6f8a5a0c1545741369a218daf896220d01ff9a4eab2cc89f454902344fa299ca7d034e08ccbdd14e10d25423b9b9e529f664fc320c761102d478f7a26e40f644a42c1c2fdd285f6c6856bc2b75381f5f005442b3f3d02a781006108fb90a8e6718ef50744c2b1bd4a80e7eba30512a415ff44717ef74ec2bd7a9ae83ba2bb56e7c1b25d587ddd3a1ae7066de824d0811b10655ba31134bb0d656be2160937248fd9a7d8f6f031e8b8e960dd6684acc9cd2e7df817a183564aed817242a34eb9cb1d2abf999a779532eead0a0b18eec2bdaeadbe9b35d032a62ce0c0a7f57c1fc9631dd3d6ce10499bf84da283c1e511a744393d2698e92e5853d15d703754974e427c7a97a5c7ffe0c63c55bf9b6c41f31cf8b496a2e8d64a693c2e844d8ddc3c0a6cfad78fd71d912857b3d76c81b6c08002fbe52cb701d95b8d53f8163a345d6f8f7c9043e6bb4f04139b10fbc78af422c4e2a0a43d3d58c181d5aabc6308ee86f6d40daebc1c54769767a41f89d149495bd9e5be5f67b6b08f5afd35f3bed1df01c92ca51baeda7085833bb71453634322adb10a464d4f9a3b13ce50bf52cbe53c55b3f343169742bd4d989fc125f660f161a6e3075abbecb33da82633065cef47cd8f51f196bf28e5b9d9856182d46d6c268cb6c904bec4649ea074c4a43a57c7b4b383b92f38af5803d36c26adf24ab1acd769a5402aeab21d8a675e94a0ec6335d07a0c59864953099e9201a49c59b1a8c5d3af9ca8652509a9b2b89830d69fca1644cdb105c2277c9b600d8b5687fbab0476c7d16980ed7d7cfd68f750200e07dc9fb431b85565166a0580983f788c824a8266d9cf34ed7b93a177e7e28abef4cb5c60c61696a387b707d081455f085b3fc36007d7cf4bb30e1d5d38dc3a94baa9b0febbe6478d3c4a22611eda4b89798a96f9c56658bf6c81da54c99cdf68611d98876ded42189d045517cb3a685feb1aa4865b633bab1b507a7f4ac9a579dced8e564b8ae2f845e5d81394b90001f3930fe27d50d143025348b230cfe95861c004ae2fcda63fae2c2c7136dd0e36386ffbc6ac412a83e39ae84e326febef42e6bf9d3012a9ed7896709fc4e29d824eff0cde7bc334150961d066a603c6c9e9a3aea220566db8ab2577f0657d94cc257c2385ab23e713afb06c87653e10d3e80cd62e713b91abfe34df63d0c9e94f31b5295442beed88b6a9a2d7c53207baa1ddf0d304884b667200310a690e29de4fe2333a9015e4724731af5c1f6763e600420821d86d2208ff491366e9cd187f7c19e6e361ccb829552af7584c2d3637527d3469843d2b4fd91bdc90275749da5076d35c4726e85c978d72de41be3ef25ac734881226a49cb434bc1eb0ac565a95df4efc7eb0627613d9dc3aa08ef0a7408f0563cb694a6f1aa317bcb779347cc74e3f88fee4fcf4553e5ec99dbfa6d2a987799347743b501babfbfb254e99d3b122ce7048ce430c2dafe371d007d5e0499f41a56912c5affe7953ed11f67955da9b34772705a247d3e1068911154065fdd5148b206f1edade51d63f2f153185c66059c761b0dc126ff1fbfa770ca93b325076a5643cdd216a94e0604858c5cb875952f678b079117f9c7fc9169083fd0982fa6a66a3f99a0e9944106d1ff9fa678032bad9b823e52e801f145c381e32658cd8a58a0182c6f77151f1e634c80a9fb9e7b60a0bda4cfd548e5d771dec13d8e84710454026b7604f7ce5d5bd429696e913a58149babccb75db28ac01609243c15f4a6a45e995ac1ac12871e332fb7331166be7d3f7fe60a0114a38d5b1d53261959ba6257a3246b1faba061096f700239490ba5a99e746208eaa4cb3745c3e62d4a8aff3c1d3aec3d0409568077eef14b0b18242fd1d3d4405084d70e94933659c70bf67dd84aba2fef0dd3635c01bdb43fc459d77e66e1c19b91ec00808e29ac7d67c7c3c114c4a4b03518fee2b733fbc18d8d68d21097c9ead8cc23f00f9ace33f6d4a1e06678ecb43f4169b8e851b7536172e358ce0aaeadcc54a97f786d95d6ae4c7be62b607e7636bc685c342d916cb92df785d9eabf177794204ee20f06ae47e943c5b35163132c43d8a40021c092f3a417d179614ea64140afd897a1a13b9adbda6a63e9a0ace026032a1ea5bdf714554f22870e824fe38c959dc00b06ab6b24f884fef85ee2bce4495e3a40af4ef4552740730398b5b9f3a96180704c6ae8f0aaa09f881ca1cbb386f330ac91f33c6a6e612ffcb6d0342222d182c54afb7c9c969968fbe344ed179d27a87e5b7433e678af44127c3eaa0adbe43667ba76218e79851525966ce730339863ef57ae0869071616da59cf95328899fa5adeea442020f4e0e6bc7b531bbeaf3bdf6cb38f09cf02ad258dc886cd60cf6990d27180c87be08a002fb374bd38ef2f618c1b4327801204b714de22ce7db39c75c7339069f0c6cf76b79cafe66c5d708529e37b4ee71152ac7a111630844f28c5e602ea26db30ff5a1d0d4e6d1b320d7785bdd7ea6825bc0e83f3da403189f9acb4886eab2b866ae1c1c2c306e3cb64c7635a00b86d1e9e2756a1f455aa0be797b8551e12268db4781675abd33db316a96c2b5e2f842b94ee4b158f472153f5261b71fb4620fc859f3bbcf4113c9e0b8b98c8752e45dd2c53e9e9acfe72f9981202d56520b6b9532a2fd11f5ba84e83a186196282abbae56cb0aad2c57e9b2eaf4979fd62b2038a6e17f94c565a2a1d30685283e8dfde0872dcc09cb63ba0a6ba9087fca0479e58900896510d90cc83ecc7150d74ec42e0542de1530f18b6b60ecb510ebc8f8c3c509fd2f7b15b5c85697dbd403187f2d82302703c3f1fc27586d917a2b07bd63fd145e519cc262e249ee1e02ab0e084635a2d1062087fb572d6f5d60f8489f0c25fd4966424fff1f4468e59772ac9c2a32337eecb5be735d07dde4ccdd73d5d7ce698eb39309e8e28ca1a8ac4a4dc5256b90cea4f22414a005ec178ac7282e2ed9a5adc819c3a2a3f6a85629e990730fcf41aa46d8f90ada460d379954f69fc9d55f821f39bdb7b343f4ae0f8c8b33bb5d2dd4a475fd0f9259825a2b6b895683c8e820215576d1d72136f7d1a94aa31b41e6c3b4a6ee3964df2e4df721873755b095684846695d93f591b13df27e75b6b55852dfd40ebd80e8ac86bf2a1254fa5c314064c943628efa52c3c942ecebb61ae5d70f0e513b8508f00e91a8bd2345d879a8f9da33f3886e81ad53f08850ccadb189f3a69e07a4e165e792c13cebae087b29535407927f798a7e9a8cdf9428f21e1d84690f50cc40b09ca233d64e99bab4428ba21a0fb136e7ae901c278918f0d19acaf6a7a39801033b3b3465a47cdb46e84e62ece7bdbc4934d6b44f2c6e684c4099b262a6c027c16ce046b0fca9f0432903bd42fa18edebb01a325d9dde5b5b049b981945d507d6adc8a23cfc80f38a413eb3cf18b30822d4604d368e9407c243ee9b687d3d752358c09f61f7827a721c501efb8345996f5c0fff5603c493e93f2c66e407888e8eb0b36c3d0db045d851a8693fb4211d1c266f4c72084b5e83a93b3676089be794c026ba4ec54e1e4163af19c9e111b4d93f565641ccee39f3bba0f85a22e8922815d371b7976684318a36d764c9eb42775023f5d71d565fdea0672685deb5ee6ffdd306bd4797c6da8dfb9257b5f54e906bafb61973b3803dc801859534e414ea1e6da2ac846ba5ae6a67d253e50bd80ec800a98e4a575bcc178d89115c48feed2ea52cc90807a487ef6bfacb716366bdd5b5d96995f9c245d9624f343d7d22e21bc76f5e0cc7cda30abea373a99a100d9dd9372bce894897f625798f2828244b34d0ea3ce55b97540c9debbacc54659d578e0b74f72859ad3d920b28616d914cba30fc66edbfacf1d237b6a85567fa63644345d73caddd33c564639ab5bb731919c623ef6c76de7ebd3359211dcdee4bd24cc8abfe6741a37f413fb7b768a08cba679e0b21eb9e5883df1781129220382895828eb3a967d1f22a493258658e2de59389b2bb324591d6f69764699243fdcd0c83526e8ae88f634a2df853ed0111e482c7e420732cb208f978de7e2de82ba2308e148fa4de92c834cfd1b1777ce2a4e2e32ae38dbb5e4a9e5ab24394088bd70607822f7870d363ad513dde843c19b62e78f620c1eba0cad534f0840f4705f1559cf7cf40a9618a3ff7869b6d32f06ce405da855b0129ae1247912c32edc0ed996bf2db462f6c030b7111443990a8b0b9a27c2041f3e4c0f4bef02c1b3eacdf951057c8e3a4e095d8d6c3ee9a5abc1f32b4a08f59d4e0deb6990216496bf432353e1dea14ec48fa6dce37c9319a672d1e70a504720d3990d8cda793094b8171665103c1ab484113df50e79e6c237a830e0aaf5a1de4588e88dfed4bbe9169573479012f9d28c2a541f6827c75f52b60e54417a4f488811357ad57facbe3d180b3d35b4251bbb2b3b5477fcb613b105bd04123451123a9aadb32c7eff713d5855466622b825dd6841abe701d0019a3d6476de753b887d816caa1e0a3ce7ca6e65b5519f7cec6676456e22e059125bfae620e5afbf0c4bc1c7e646e3891329c7dd2cf6697f33bbb66bf69d1bfee8bc1720b3c3e0d21a632757bc49831d200d27879c1bbbcaf680746e624bd699ab679e15d743b934a05340f04c1124502e4ba145e67080804660aa74b5cd21857e5a14624a36b07528bdf54e4193455c354be3b60e7a6da77801a028cd5df34a9f27bace4d32aa69e0484211ce93b935af0ed400d7ce498e3d62474780e62ec27f757c5f23326fb1f93a4b9bb1145be9356d94c6eb4a83cd0c0971a871013bcde3044eac5803f87e247e219d9ff732810722be17875391b6fd6f52481f8be4e52b30982a86a6333ebc28ca5f48d0c5273a7739e736550ed2f5b0dda224e17c794e53164a5a67750b0ffc8738d80f59f643f3bc7c0d4c712dadc815d82b097962048782a54ed712192cb0d2a94c1a4b85fd20830ad53f7e4051831269c3a777a7c1eea83ef7714a537e29e841b8ae570a3448772c57fab97e54f67a864e60c0685435892b76f64d04890971f2493018a588e38531984fb6aac12d75a3978651da4661156508b97c1734834c248747eb301d67f2d920c3e3f809a2ea3a20503c65a58b6883356cd9e91991a9d3fb930be3f011283ea10b05f08d2be9caac2e5e3a172a49bfff898cf75f343f089d1aac39005903cf42fd75eb36eedac3daced2ea0c6573ca77736746e4f8e830c48d4676b134b95254cf0897751f6614d714200cfe4863c91ef77f0e1160b55bf20c35b75789f09db81668e15005ec63ff9c6588cbbadcf4f3cd4948616130547c6f3f94fa67d55d870c48a27cfdca293f2867020db2f34e43f2bfa5871504c0a204d5489dbc18524c6239a2857c3e62f9fe2b1b7d38770a09d775e267b80948739df6a38cc9f6be8b541d89b629865600c3266f2a2fbccb338ada6910ea020ef44f4737828ae2dd0eee99bdac9ad7f4d30e7ba0d3551ff441d1e593b74d0d1d98feffb626bdcedb35fe1f299cc71622b3b6757414e0e0e6c6428c29f1834578dfc5e19fb58a52d6df75f91ef50951875714da7021a66c764bfc4134084976985442ff433894c942c9e7483480bb15f73f1a746b690828b5b932d11bd0daf6c4d584e91f7cf5f8faeb6df05ed8aced7abcb5cd025aaf23c698f26b6544afcfe293072242eec655cf388f6dc48d67a0881b43d3a371730bcb5967ec461df61a87870d4c8930451a8f1d410ac8f251b1e8d36c6330fc1d06efc87ec5ec10c0657b77c905614ade066e1e04969f440a72cbe76c968ef0e4129b9b9f0b4cdd9e7ccc1691a3c544976e14a08917e6e5c7e3c6eb9e797f0a9917bc0b325fbab696c24cb03fa6ff15ecbd2faf1e62e28f1a6e17ea7ae7bbe244553d5cfdf0e790734abec92278aba9d250712fda57c050636c937088e962c7a0d207823d3fba8e3d4ec2d61b404f96929ec65a9696d1004249b7695834138e9bf0a696c71142048435f2efdd3f68877d410f41bf4f4e594fce92961208010be69f4dea10f701d3e8b469ff532afa3a569fb21b0560f005d460a1dd4e08acbe31ab5abee03a701092ab31c1e0e468088b3a3e93224971819fd8426bff3825efd2f83620e27e150505254a43e11d6c2758199f1b6ea6bbac2e4ff672aa5ea5c420a0b56315add5bc21fc5ced701f8f5f0659710902bf0f02b4a5d49477702e9ce2eabbed95f635fc0b425a7df2714923da60753d36e94eee57485bc71f178f4a0f2d672ac1cf2d901095363cb77aecc9ea63860ff0bf12332583a0e2a1fbc35565b76136a911cf4b48adbfdd1e72a0ae1afcb59bee25942bf9098afaf749fc43000c68e88103aeb668a2a5e8f7537180cadbc29c92d639f72bd03a58334a2125a6d26a3e4faf8ea997f2a4f8d23bb6ab7010b83a8ff581980ea61664b82af85ed7066ea546ba48bd23977776f7b6dd83e4d757e8c7c773ec785df985f792764cc8d7f398bbf1d4b7e0211dd85de6bd82bc18c5834c45bceff026d09440f46088dc18ee0f6292ac77c01a5d262abe63d842e3fc76a36870ea6e6fee144111d546462996ec189c3a008f2082ddbf11118320dbdb7af8eec40ca97a127bc67147d1294a2fee123028fc09f18a4efd99eb1942ad87c59d2de0345947826b8ccb28f4aa8e5b353c0f5833ca887f75ae5a0fc6a3b7db910d6ec1cb042be63edf67614e03333681ffd8cef604683acaec822969b499889f630ccc4c24d2b765ea9200c14532a6d15ae69797e095c5ff94f3e1fe3d0be48e61608ca991d9818b31a8866a7da88a841fd983a36ac7c7296564a24cf9959efd4511b994fe56676328abcbf0f14a7244220838243c7bad9b616b4587a59ff7f9ddffa297edf103ca437cf31000b1cbf8b798283d3ec37e522155fdb369625dc08cab67168cf44e051067f5af24b3e4f6e9bbe77c8e498aebea8bb6eaf390321527553f3271673f17ea5d3240e4aa23c6db836e519b157afdf15e8e26eedec8c5e5d0011584f5dd86b966d2c61b10abb93e0509482f6cf652bae24ab66b0c013e826516b3a0c88f3a3ac294cab0a120e7df4fbccc53485645aafd93a21918d2b57111ea462e49ef39f361ae14945b799c1953499e4f61f6c7187cea87f0356c9cd7dfb0971ec7a03213c5834450c6358925ab9d17fbcad852d582932a8792115751e72e452dec886280e3e76c35eef339756bd70f9410d4d948abd6d3b7904c6cf831faa0f80e6f7d0ef7d7ba77270628bee9da1af79771ad72f1d68b52cf68685a8184b0cfd010f5a157fecb96ab02b8a368fde20b9bfea702878f8c9117311929eede273eaf9d3842006d4cc457ba5ea20402d5eb32bf50b298d508809588b6ee75930132040d6e5eef5e8a71f316501fd61eb2737d6b5d67bd8c9c620b03da786aa1ce78351e49149a2b3671455a8881f64dfb5ce2c79a517b773be878f19b4ce822cfd4c2723b43b2c98cce2dc587b8d227e3b49c825e12f6b938fecd90eb21b098ddd9adb79b0907e604e5a190d0cb9b9d6baaa69449e9c547244b2ffa9d1166bd67f3dd2c6c443b23a801d3c9ffed4558dcef16799cd378cfb34c31455e3d13b807edc4ecffbf0b559f6beda6154539ea359735643f0c57c9ee74485094280887e002fa677c54c6c192df6f54ba125a10fbb141314b367dc75cc636b1793d384a67f6aeaa23ad5b96778151d6925d285a3ffe7deca8355b4f96a6cce8f66fd5812ed6d0fe5d72f05bbb839fe497198a885b14a539e31adb53e0ca4a37558a6d77422a9f079e6f48ddf002d0824b98e9ac4d85e828455e1543018150ff1de6149c80f2639f283de3acf2ec66ec2545ab9493c78c55de5d5285b79ff399f372a6f38204919d0d11d84a7c5ae95ea4ea411e1370780eaa44803263aa453e6ec6fa2ae3269b8c0746bcec3732825eae854ab3e21bf5e66b5d9ab5f9ea917272b2966a47feabd04247c174c1540b07b4045df7b3a98968237bfe9eecf835fca70175e53a72236b5a5a95d004dd428411be40b7e75c4da288c9818e66ca3df94d5bebb847159bf7b69abd19483f8628d1ea3b1cec28967e7fda2a0df045045edb81944ef3bfcc979f2dba5e5ccd60bfad9edde60d7b45f71e297f78bf1bed6918f7d663b983c303df5da5de6479a6c7c51a335c7e30f07cf1bf1fa78d3255d1d6dddf98c66c44cc293731da38f7076e716d87c40ca77ef73ea2d20bb4a18dead35c5db489d4d70964be62441fbe97c0a677d3abd96070ab0b874fca38575bec6c6a3e7085207935537afec435ad5182ab614656f350e6473625afbecc48caa2b1ad3e83d2fb49226f9c85a963d64480b0cf560472af0cfc603c9edc9250b8214bc62452b1fc620dc321150433fdff6ec25762fa8e39fcad98472e833e3d3a690ec3977f222d02ac277a8f46dc79f156e14a90855ad33b7b2046a4c4ffba0555128e4399b9cae44526035b190fb1f1299ecb074512aabf68d6e7d3132060f0ea6cfbf07e0287ef2aad2e8d7dc99419d165c950872f980570d015ea1cd4fca99fb98c35ade2505c3442313c12586d6406fdf2903909b2ce85bcc80d9d6b82386482c74beb20800ea59985dd81017b5a10a1d4b862f2abdcfcbe25ca73ac0f33e87f9ab60879d1131542abd99a3c131b5d70cd81916ffbd058abbb1edae978135e78c73fd7af0674600b68379e532f2a7933b3d7f186afddd1820153c87f1afe67bbe940b4cf30a9d1e67c7b5faa8f6ee722b6df00bbed079b0a569fc233adff98714c0df0d630b76ddede37b76d094ec2df2278a3e75e5adb0f23cbede32e41deaeba30a947bc5ea0d403aa5d9acb37fefbd0f0acf471c98c928023fb39069ae7c069b20f08eb867e1681dc1f4d53be5977026874b44fc39bdf655dc500ef80babd2bdfc94dd3146b5534e14c7999e4aa1fa3dacb96433b2b557552d588fd0eb9d9730db2af34a32c5817247039d04cdce159a2182c524dc1001e9303ca28a78bd0d4fcf3a313939483d97fa6a0f35eb176bf7745b15ad3948d84cff145a83fc2ba95e6f5279a97673a1dcf80323d364276bc72912954d3d93fe1a7c9318ec6dde63415abb39440da70dfd77011c7d3d3491d93c1b3b27254060e1e540f5015f636429f2976b197c8e1287a1ae1094f80bd8d26a2329c5a6fe98269f304cc5999bc58e83f85edbf5c964d0d354ccb9135c34a3d58e8a5337389a8f26121f82b45918d6c0888d6579e46edebdbeedf4d338a4de709a2188cd4c53eead6ab0feb9420bf9b0bd82193058d1e28276c854b1a880441972a7aaa1e05b1b9f4bc496780f85a333fbd9f430baffcf9469f5cb86d5a2012eee981b654e7c51704a80da7f6ec9fa514be0787f3fb33d7e3f05d5d6ce9c4583c2d4e29e4fbdf6d20f26760597c70b4662a5bb9d3526784210b28249b306105654fcae8f07aaa014179319d783d5f3dc5adee304075d77c95a7751949ea7acc3087e249d832be2ac421ef0411ed6917f5fc53f5f2453be03645d594c16433f5205325e7957eb9c9b8bb40db4de90b364d1211b74579d2b03297f88e7bb062ed3195f8b1e11803818702cb3689b97d63930ea1d2614f96d060a9888f184a9a862940b53c55f5d3d61c25f9979daca49b7d39455135282ff0820c5a30c934cbf70da236f29ca9873b24dcb6f405cdc72530b80cb03a47dcd41e9640923fdcda5159d2479f5f0a826f629434d5137d0b80a41c53fd3c456c78cbbc1535153bbc3642964fc6c01b8a7baa4a578c01e1d088c52796bc3061c220cfe06b391087d67241cf650bc048c2fde5d9e21cd7dccdfc112d94e9f3cc48263aa51374758d83b301e8dd84cff6286539ad23e4a18b17d6694b62d56aa0e89bc27d5264bdafa42a0d2fbbe886e48594f56df93ef2d9b1ba65acbe836b3d01aad8fede3602f488bfdc40be42ce3a73895aa43f29e8dce1ca133a7f5bb52cf5adb3e94b748ec839c8a8d9ad7abf25e28de18b1dc3e772ecb14ff7acca9d13d55a3e379347f9ad7d7bd55080e14da12142c009bdb3e7c89b5b207d566a1d54af7e6691482c5eb92b866f809950fa3e04a337c32f9d89fa467c7b0c74fc5c6577ca93c5fecf39f126130166f5d33cbb9b17997e0b980d3ae26040a9ee1331f75e56bbe12e967b3dff9c4f35b7c0e4360b4c70baf409b96434b914eec28cf809557ff535ba00f0e5c01d3d851b5e33431c483b73343eae41c15e0925906346db160c43f05e9c2fe7c26925522e97795eaf4e132c02ac47a1b7c2cc81ab9dd5da07fb0b17f1f15e0e5b9a3112d8c4ce16e1092b1bc4c1877c8ed916fccc8dcc98996d4f317a49c53b7d9c3d4e91fd2371617e9f9ec6d6ff6d5c057613728e964cf1eb5f16d8a1bf7112bfb4d5e4ec87d6d9b3c856cf7f3b0e9094b0b82eb04cc0ca4f71c614e108ef38035b484719c169dbb84b3d4b57d98903423ea7b7f5f3e03508fcd908e08b9617468ae2b483bb9a1799bb7770ee581f3d7373fa9befabc575b602d59ff82dfa47c37a863f7500d7a571ffe0e8e17f649884b5f6843f4daabfc98fe55d904f8c08db7b84326a6ef0724206040e3393bcbc5615a2b055034e9b9e3260875422abb63311a21e691d8d1ad970da03ba72a1914be252ad88f901575adb969aaf03cac50abe0ea5ef9068a634cef049c822f1227c004052d7601177cf4bace41a4350ea4035064b839e6aaedb2f52146c616fa0b6b3ba28f7af60a6ba86ba080e44ca0b324c94121c9b703daa29f5608ec3e32a4573715060586799184af6b6e634e3b424f93a51ca37077e00a99f98539fc9a85a58407adaf776a9006e1c5f1f7d9336bdb82551ee6c3dda8b6b532cf5fabc3b67c5e48f0fbefdc3902564487a47ce71577c9fc76afb9d5f7d60d54a6ab43930ac1ff1ce7933b237c087b90febcf2fa140b78774ea8fdecad609d92a0814bcd6d5d3c59b50f27b87e0faf04dd667b511d3de9705ff6199e0d1d583c5408285466b904aeada334cbca0ffafb276d299697b189c067196076a89c8b7993b140135406dfb2a157e405acb49499a393c39772c89992cc74c7679ae0d5b4309b6a02f862373ed4855057b2dfc84458e3852088b44c54e1085eb8e6d21095eb7d0ee8817ff5d9a37b13832016607c5ae2df707f1de9839a4cd070f9e5a4c38286e0c3a0144ae3adbe96c5a2f53e133ee707e3e2a373ed5d1029a7a3cb717220aff028dc6acdd5175ef749d414430b47426b3fa84d17609e8e07f75f76fbb978690514d806207c01e33c72278bd8e5e8db87026bd3e2838d37047d926fe846d9de369ae7a1c59501bff41dd599f2eb98532cef35d7fc779b2320b7bcc71c6ac5fd75e27e0014416f5d91c7d678d0d1fef3aa3ea10c064eeea4673762d07e25b3313277bac9689a57a28ce501d5f691d7585d2370392cae0848e54a818a5930fc514b0705642836f9137fba4c2fc139ddfa664e05fa444f804a582b861f04e765e6ab2596d2a86d58d4a374a968727e78186e409806a97eaf43c4ccf8d5c4cf62d397736c864aa99947edce5c1ed21bd26589edcb4ba471d5be33e4e2db74ac1d30d9367a2a14db5b5840cb68681988aed3bee59664995a8aa428baef33258ed92d3ca78fcdcef104131aeb12656dc0b710da871f2d92859be35ab67d2d62211393c14fde2764285c0586cde176789412ba46145f4fad253bb23fa36b0bfcc11bf8153011287e050db52da34429381ad8dbdc540b3e0d2ad50a7c257437749950ce89ed19254fe41647b62deb05577a2428d7dbf168964d9e5534199454e48f6e3408906de2d3d2b9d1122300011ba4b35b2636d8facea253859521f6d405ea370387d514fa88086915681afa5937db07624dda60e4fc49f193d9909b76a751b0ade64c38d5618a14a513717d1e18f4eb6e2198ee96a0536321596b9b8052f6c21df8b3fce1c008fa6013ea6a5bbb53e9eafc8d7b844babd2e37fce42bb4f119c55157292da05c56c91ba807e98e5ac3873667cc1cb7426acdd67accfd78b4190aea855a517b7f796cecb562870126c6da3da829ea8c314cd94b7385427abd94826a4c24837907c28ecb42e76317986a1f15ce5abceb9fac9fccffb60acbc4b2c3f5c0137284d3396ac422beffd6c57dd2307b108c6c4265873ceac535cc3ce6d49323efb51279d2a524bc7a967c5282cc324712d56f420ace55d15368e720d25f72c0f934fd12c47a58b91b68056132870cee8251530b5d1b968bc767dd54f6deafd03aee3889b6f10e4f6f6c7be675d3b8861dda2eaaee78a13cefb2e3c533ff931b1a94f39a8672e0a506fd80d592fc8e6f2874a8101a981d29ade14ff26f7ec2c0f9a35bb595c61eeb5821bf97a754eb09afb422d327cd4cfaebabfa57b859b0c3409819d22bf51bdfe3ef9f582d1b7455ddc76e3bbc82c2c7d0c47b16918a8c1a778eadcb13b14c13b58f63f4972e34e814dd9e3a7fc6300a47f364a389b0ac5f04f068350433d08acf67447d68728b5e56a704b94dd19f815f897128c1c4fc738e9268080fdf6e3ba73d42352dc2fc574422baf7bf95f26a06a918efceea2b891cb08c77e1c3826a079173902168124550ce12da6e08503faae225c1042c7e2f23766c20add0b9aa67ace8b1701bef242a92912b4cbab332db447cd7806780d56a7f69b0d6d1afd7af5bb209800ff5e9a07eab17c9a464f82bd4dc27c4afaf06cb17448416ba19d5e92cddf43888d8a0b1df2088d25ba0733c509c584e8fcda6949ae93bf86914bee7488e517e59a6e084f8af0602dbd9884dbb384f4601276f482b6a608aaa07b873937c00aff56067e5e06cbb7797f77542e66363b65152ccd5122fe32bffed6d1a004f2e2b7f8a6bf5a35008a9fe47ef897a6d11b325b08df71cc117e0925fb28d789d58ed5953f9989c6e4d7d5d5e46ed99176077315b3b572c7c1f763ce39d7131fefb3855ac014f9dd4ef78ac7064e1d163ed2bfa3226624488b60789e6d3cfdcc9cc845c9c2ca976f2e7ab93ee937c4c2ef747806ebb4b3868c590057ae9564fa390ebed385b3e909eddeee223252114377ae18082480c0ff45e9e5b2e3b05cb7acfb6409389dcf989542a07a6f1b33aa925a6c9ccc4e2a1c3238252dbf88b8d88aa7de632052b866717954bcf270384ef17736806c940ff98338f1d18df88db8d070be47898aded9b0f2572736b436baad0df38e6711ce53dbda074dbb0d9d03313686619e6996772018ec14c65603f51d7f5d7a8b2f66618fe72511d0aac802b858478b3d9b932ed63499f5b8dc0a8e5ae5d59faa9f8b617c114c25a8077d2a2c2536d7f5ca3716a65d1f9437392e3d5dcc7568b257bab69a040772a87d47741cc6eaf5264976bd1e737d2e11291d821fb865e58f5cab2b155fa31f132101506dee0124627c95d0fe601c5d84011005066262ee0eb737ee2307ee88689d0ebf89296cf4d2c766c07afd771616d3c8001982606cbfa56916e4842e0e199d5b12710a0e0e48fc6fe282b7288b18dcac1bd8f47445fb7a5f41dc93f179cfbeeb63b247b70f9271cccaf51ae9776d604e13c8a246c1df4af51620f1b42f93224d18a779c3df1c408b1155565b2c006214d60d081b3d27ef9704085865a892895a26caffc7eb342f2066c61b0d15a0db3eafc19ef1e667a73fbbba9c8bb58a89ea9b77ea39e50f810426da18a6fe51e77418ffe163e5affb093639f09b40b7c3d8776cb753353f9491d77ae29337fe49338f3a0730b13bb6806a678764c9d2f6747eb7a83145a972af6761d5843faf96e64a88f2329df15560cace125074a9f65e5357fc5902e010ab5a1be7e76de5ca28cffe8014c3d23c8fc0a12a83066da77701b224c6421095567dedb58defd1d98884bebbd1193dec210f148c6c68e16080b4a84d5fa8d4ecfd3b53f0c72d0c8a49d7eadf5890cb0f79ebfe6bd853edd958aea750366583464180925bd605faecc46c365f6e5e9d17820c58bf944d80cd2b323dffb18b8626c7bdfa5bcafd3f01991d0de7e793b6b334860a31e6620b7e70e52f51a0ff29fb0a382c394874fa4d19487c8e1e9bbdc9f946baae81e4d0e0a7dbffe8938372d4cfca13a74ac9a655d31667dbc744cfeb21d7005527b2430758600c054610f92cf4f2827c1c1b4274d42359e67384166267008b6b7091d928c81eb8fe83523553dc501c0672cd16ddc06b3d64ed79ebfcd32136f556eacfa8adfcf1f9b0e2a777a479a22214a3841cd95d0f8c47e88ce5f056a6c1733ac7d16d056d6995521c3393d628d0f7ef0d82396b098253982298f259c62c90fba490c5900a5b89a7aec40853f8f1aba3911b05ce5e8e65ae65ca3e1b9513289056ef3d8a1a6aab2112a3243f077f9bf25c8823d32c5e319a7f3873592f74ee3377cefbe0ec75f17e5f0d8be6cd58787f149c1545b2071c0e5b8403e234fddf2f34793f503bedd1c13cb2a6833b0e5ca74f7377d0275bb73e133e7d883bde1a49288060843d9b3f6143b8b2e91ba6b9a4c630398b4d96ea2dfd438bd0e9bbb3b9274ab2cdfc2fc3adf5f3758240ee66d90b2e9d906c09282c5ee5ae25e5e0e92fb32b248f959b692394fe72afb37055c8557f187b58fcd3f1a8d185c1783a15c0ea7813f14b6dbd2245629b3297673bbf83d7bb847f701ad67769daa8fd4885f151faede088f46b7417a6db55eef5ae48b98aceb3e7243d99aca5cb0a30a6a95104763941bec8f4a6720d671092693a6a98876fbfc1a0cf415d19a62d42c01614024368d8572d758b942b64203dc3c5d8527d3939743d8b62d0563d37cdc178142c811a79153caf1f1b750b5089d025ec3b291730fd8d75c6ef54db2bd996a1f7f40350ddf8fcf05dd7ca7abfe5d6d7419a2cc2545751483e72efe53807c26ba5c378d1d51be632a78cd67f5beb7163f4e10a23d98d8d5731699e6d3a61fd6e410211d9fc0b1c948754aaf5294b4a8d1801513f958816ed80f59e0b1926ae648a4a1b0d693844355ab82030134183bb15657692c134be4710252fc0d22243eee668664a910219e4312f27bc7c3c8d82d978d56afc8575a3b4e76977e1964aa15887e7c5d1b47b7768659463db139fe23d36192773954674d3982316f629204cebb125aacf08605eb5ea848f88aba9dfbbe9ec06c3ce6fcf6a811da636ac18cb64edff5d9945f609686263a4ab5bac9bc528bc8f85d69203619b23eb7b630f6356efce93c4d19b66057fcd4274a6865dea85a5f95527abf955845f1b69a78b93ddadce818d3b1b8c6999f6e7e6df58b231549b65cdf5c120adf403125d50e774f4210fe53f31b2ba3caa0d4bd2cff24beb8bbd3544f3d3fecb3a2df223b727efb8b6253c448fc7e12a5225267ce5117c6d2c7f673f766f0bc4972f3c90184b08b076bc7a279981593c08febd53749ec6ac7f8eba330f9f1f135b71690e8ce419a0aeec0c2bc7de3df3fffa0391006fbcf3f31e1fcc35ee1e498471932dc9147f1a7efb5352ae1205c6cd7d44916d373e198eb303256352508ea7830afa980a0fdc32b607e7f69304c972e3a6ce1cd46e04cd2bded266cc1796f465634b946a54d57c8626c075dc711b7d7b0b66e3e4544b34ac60d2b9687f7a01c04269d3b3c91d6cae5fd7a5bec6b1b7116b7a0c1ddc9f72339bf0301b133f5de0a654045163ac13aba400986f6c6be59d7d8fb468f8d8194585529b66538fa556aedc0956d642bb9688feca785c837f2765fd9d0144d43ba9bd8b0b5b8566cecbcaf2ea23a6217e12f45c93edd0cdc7eac8ab9997351381b209b181e4aac1b9421886519175611da052b1c98cef2f30a7e7c250e70e5e3aa51e771b5aec772d8583d02cc1e563abae9cd7918da83effd0f0903d051c82fcd1759c0dc05b13e10c4e23fe5dda0b285f86001334327ac96e8faee3c53a182b71669f02fb8f9390e877b6b5b75a34c5a9d9c372f842ebb8a4da0d40fdce7a9328f764ecde890620aab5183bac7bcc5479d5c13d46eebf5e2ddd46fc0978b24069540ea58841cf17aec363ae135092e3eab07f5b13db24ec3ea015c904a102c58c95fb449a2a9a1931c25d5b80d32873e3a51651bb9fd17abff113bbc854add9d2b803613031985be2ebc2ca60d41cbc7836d763e255b9722ea535f929c6472879eecb4de029b77344175eab36410a0890c6f8a64d74b5f7e0a9f89f3a8a4407600ebdaf75dea442cbd8a7ef9faa8e19a5b39325f1e9685023299200687d7774d540dc81ef287e1d8a180b287bfe62f8c2572098905f0130dd9606ca51ec409147b01fe695e1b0aa1dfa85253a8885381578dcfeda38856b672f491b114fe9cab53ca8679156f32256d636c1b110cb7f50a551daccfadc93e717fac851ac141fa4c612577fcc946d8bcc35e54f5eb47b0eab8d28f0164ad0efc0c5a58f8c9682b904ba9ac27626fef25444fcbcf1d2df48fd965186370c651a5b08b77ae71cb22e5bf51751169f4943ef61e042bc7c9dd403ed3474bd83b3e8eb64726d2a255b8f214e49e2d0e65d0ef9ac777617e97c7f57bea2d0f77e69bcff87682f5c5ac8518ceabaf0addaecd58970cd6de360246d5156cadf5f88349061a1dfcbc11216f578c6ef5ea0f558698c45a5271853b4e6a7049773b17650b4f4175423caeb8004f187cdd3cd13d311c2db8854f96b4e33d2a2c683d4133fafa774d4eaa67b0bd6cad847d8c90a5466aaa770f8c5eace25232e72d2ba278a7547ba94175fa41de9dde9cc1da8999ad686f5990eb661483c0c0b92e593e7a2a92a3a4efcedcf32b236ac6830e60a99eed1e12bc20c69eaa42668d2b15f3cf6de1a2dec7ddbd2eb5e6ff3b7643fbc7f51081b54c78701ddf28676a8836c0407774b72eb7ba3cb8daa281e608d8b0db54fa18cb9feae550597d386109b97775073373447edd96d016d0ca79d22fd656bdc854121d31b7ff931f01f068e1358807a70ced29f8fb1f2ea8d79c668d93657b536dd07de5a369ef2a99933fe1493dc366c2a67b5938eea22f4821156722f3cc686c5344ccf2d198cdfe6f6c7cd7285e85fb640334c4f16b8399f1f89e2ad30821196b2d7a4ef48b6b3d87a6c7b9ad5e74c22d8a2bb83ce11386494a6a7805f276ca197f32288f9be5979d622a238d8d47b23315b2f9cc62ee51680c5e988366e38085949e2555211b6088a7c07eea1ae2a180551972e46e659feeb1207ea5f3a79b90f1db8faf42f7e1f6ba2e9b46d3070ea9c7a33519a609900d58289a9a527cfb57c13c00de8058e9589294e7fab59fcde2bea975ddab400cbd7920ecfbe32668eeaa05daf1fe4538df1444eca4c291efcbbab8b55aa00a46862683d009f58f6d36b0373406f7e81d1390697c94c64930d6374d3a0149773e4c8964461fce0ed9842334d23dae658d7c3b4a204c45a7075308ed8bb7c90ecb8913061ee3e1da796aa7d1fe9a4becf0ee16dd49871a4053935d3d0020c4293b01862f4463ecfac85bbe1c7ad8dd53e6dcb32ac0454883e48c1d80425c249994a199fdd6b81737287a2e5a443c0b78ebee9945c72edfeadb27be28a6992f4369a18f5a1f7d165ce78b82175d8c55b9fe2904222dd0ef8680152cc1d3fc998189b217adc599a03f8a33d6e696879520723fc4dab0123bced3854826c4b3a9b4135a4dcd9c94c2d4d22d7dfe120f1c968a61bfa60ee4a18076afb4d30b5942797d86ef48973d7f32ae9f072c471cd5eec51e785124cef005d10d9090a490ee6025ece3d3d9a799213fe74f2aa8782d4c0f618c735ca5044e214e2846757a92809f8f08b26c8f0dc594a09d4fe1a279057f9f0e7d652ae63de28e22a4785d560d2c6302dd87809f55f6cfc00eb12611fdaa9b4fbb9f5746caad7cbb6ef38b2ec2a7e1a1f0e5d81f26352852a7d178cb781ad7fe5b1d40e0fdd7db07f05c9bb97daa98deb69ac255759b9a75f260df2549bc94df52b41c26d2cf21b86aad6283d2c4bdd3d3c3198d1c66cc9d0e722f7957e71c9ff5fbe14cc1e983a54295475f4676a2e1b304f8dea98e25073ea4ee7c5ad96081aa62f283ce3c3c0f6f72fa54a404b1801562b816375b19831aba8a2bef96e1e31ab6361fcb9629cbd4633995c3c0c5c0f43d7b24129351e84c012ce9ad91832112fdce5fd01f3438dc38ce4aa35d2a14301bed03afd0832d84dd17a98ac4f9111a4d1e6b4123bf34e5714eefcc0c29583f17f6e5b2c8255730a326dcd8f824a846599bac77ab4ce3e11b1f67e043020111367cd836edd78c3432c08421b2b9dea05b29db481904e780ecfe64f8c7451b760880261997d4d283af2bdff5770a62e933ee376731b62d8dd26beb049b3814d9c7f7d4f45a95e31dee631bac7a9b34716b4ea4e2f4a83125ed59867009ac46e8f9fc7cc1de1cd0c6135320e875133f2c9abee70d195bd726d0d90d69e175ac5aca359b117df693e95a454cd6f32d704bac2482b37e9bcfa046c2dfc539816591c4fec96a5ff1b01eabb6a2d1171ea3e1413401fe77fe96946d01d318253fb8933ebf4d32f2eb71e171b49a1dfd01b8e0bf87eaaf783d826ff19ac5f5d042a9e95b4feba944ebbfe1412cbf165906a2095dddc2e939cacb81c285125be4b16cc4b81e5d20554db381e0e1f44a2efc7ac14618539266590831205d782d8cde62de08e8ba2455e441b9f33f96557847bde69d588457c67522ddcedf2be37b11b5c6184b974cdb83a3859e44d32aa59726bf85fd550a61f05150884337d470c76b67fe9cb1c55b41201b42ca06e08f1843626c75be38954c4f6343f0abf1bbeed0a69f2698f44462130c61f65118bcfbef4a103ef6c26c195cf9443b615b9a402d2f1d5bec55474ee7a67e58b5a5dc20644a61ff572deb3b6aa20a8d2524f767beb17ac60ae6b897d067126feeaaa27ab4eeb55fc250bbe9fcbb929da5e57ed6bd7df3c6f6ba8b528c48d1736f12a5ec8c387785e2e0ea772aa727ec6d6d62a79b3a4434cbc4e2f92726e88bd76008474aaf2092d6025fe90b0fdcd9d0300404835bd1f02c36b2e5208a48e6f8c1a396ef3675e8330c7e1c5091e41b6974cdbaa063d8df44de48b1b55340e39dfabd161da9f223692c41fe19eaf1ff0079a9e4c7b3c1e9de03b76ec82cd6845cf76264d4b006acaf30c9e6088cb2a63a9f1f3f19afa01eb2e25b71b08bc7edb776b82bec90340f61896957b445a0b3cedcb94d37d24332f87a5857572fbe4f005bf8d8553f27f6b7edf76c8070dc0f483af88be7ca2f84f8190ddb72dc7fcbf1b3b5cdf9201f2194407c8463420afc697fefbe5747c85a1906b32af65c4207a4c40dc4ced231b18838166270d5c87c066f6202f9c8f1a94e662b9671ce84845528ef757a092f596b8a45bcf20b8a554fe4b53588ac0620244d4a6d08c981261cda526e190d6114155009848fb881eb45ff5ec66ec4a3bae4b9cae89fb8470e6746e1c5e8aafcba8ce3d722cd6f1e28c5000d6d0c73658725c5bad4040f4b1f9dc838909bedd63135c20fe7180f8856bd067b46bcc90ffbde9b0a71c86f082f9d14044845e46903f2bcda58847bde26e47cf260561ee2ee9f60bd39130c9e7c9253da8b49a0bb175c47a5ef8bb5495193cb5f70202fb0fdd5c3e9f0e3c5c1f2d8ee8658f3d4a96d51bb4dd917a1658855bb260e6dea2ebee26d0b0d04b8ca320a11fd36cb4a07fcc62f4e798417a6f91fcc079670bf8886b49f9190dffe0b8a2061f70b856198ceb5951bfb7de6b438348b2c6554b7338ca8e755424c60071672688fd7e7b22fb9e01be8a2c2328fa42234684b65afcd55070bb45ceff014714dbd02dfd7caea49d27ac9b5fe8a4c5d099fbd96b825fe2523ae74cc7da229f0d99c0c2b26c5e361323962bc10c218f8224d4005f73d574a00bd17c82ff3351a2bd3a30de8740f6f12ec92ca660fb3623f966e6c14960b00ae3621e0b14220ff478d267db741d0b12f2f99cc74e6471da7e833d4b74b07c338bb0d1cb2eb1bb4f6c922eb1acbfeae0937d4d052195c8d490b82bf4fd2d2031910825c35a073dd0a06bf1a52b2ab27f73c5aa4ceb7dc227a9a0b74804306120e29b00917473bf279e1df7b345c6922832d690964f5246b5fee865d01f4789f0c022d84a8ab4b0d463673649641dd815ab61bf8cbfd344844e2277b54f92aa2aba549663392f0e6e9c6a02b91ee16b8f14d7aefe416c14ea6cf53fc4992d414321b0e30b38239168b215851bbd05c15354b8258aec18a90d962d425e427e84a7f551cba513e2fe853852d1bd6efcf1055faa1579276f56af762cf49185d29f9b99e4abebcf2a1246693127f110c0db6c25c9e37ca09bd79d610519b9d63aa8ef519f884d9574f60ac53ac1acc1c9efd6d657308e16a0ccf0c9f366a0687a18f1a487b84b9c40be6a24e129ec0769571975c9210c33a3f85f8df20844cf272a24dd9da2ec394caa78c7392b780674b18aceb7ea18a5a6b7f1dd0cb2488d12e8e4b3bb687c06567968db53529814c22169eb9f1c8ebfced21e4700d1f9972165e04fb5455a1575c23fe4343796ec1957b59ed37b908058d1c9df21ff0e6d8fdcce8630396c8e2fa4a5d5c0dd37458b153fba0e4c55b1dce9f7ebef4b71db158326f3359dc6dafe133a3030cb630847e2f84eaa23869546f719ac8e6e72f52f13b625bc999402f91a9448ddcc94972567dcddae99e4dc786bdc63345a57eee3a6d6520b2b35e88e3837be11c5b070d4e067aaf2c8fa64b1d7be57e779792b6e2a619912c2f0cf3068c7bad344628e664e5c0f1b0fa7b578b31b4d31f18376ec6c2248e23632202c6a36b36995ad3f39f503ae60eb0c025afb24e035f4d6ffda7f8ef5f554b4b34f7d92dce738e0a708adce0dc283027b5e48dbbff7c5ee06477a0b729dc2b05896656df3d9ff9da9699081477d647cec49c300e5ce49dd1f6e7f717d76b3578ffabfb28c3176a84384910312c6885fe05c452d51a953c1b61376aa3d021cc00e266736e3eafa9c1054e11e891e6d93dc6161ef0b88a99c16cde9b2c133c6a5361b6695ffd274520bbf5ba66356b3fbbf0ca17dc5335bbc6f6aa1dcaa7cd8cef337d85d13bd34aac71088de6eaaf4863f1179c223c8c795a274c82c9bb530cc4adccfbd21e4893f1daedf6119022c0bc94775dc6ff48c177450a3f8f9afde2c4ceb24cef80d07dbafe1f15e585ac63705bf6b2527ac87f650db7c1fa40efc1abebb2ffe6224cd983d3a45d357b4cb4ea3bcfbeacb058d803def576cc7917f21c8534fcca7f9793602f69c11ca2ce2aa6c5e89a023b178c78e4379677fe6ba87c02b657fb9087233de2936c459aab1cc4a50e6fd5cbef380fa49d3abe4e211910244611ed5a3759b98952a5563b21219c982537eb7bb04db72e350fb8ab3f28853e5ef9bde42510c8a486312a2878fd04d92a30387a10223ee23b06d1a320210115d4977b425fee3d295672c6a7fb0e37b6d7b86e4a211c4c7f5381d2cd6a865d45130f8dca43b005aa89d45396d4178da11739276afb06f0b3ae77c19169fd071b59a996067eecfa3584b4f81fa4f4021612dbf8b629bc838784ee88b61122c88cff908822d5ef801b47d1c568301b3c7771f1c7375184a85cf3ed2c2aa685affb77bf82e64a4b2136bab5cba94dc5071cd270678cf1391dc5d227fdfc24dae62d9fcb7e45a4b3b2938139ba1e35874b72f93fb6f48c0cf73388007ec27ca6c4d3459d13106a623824f13011db2a7eda5a80351a2c52eeed8856099bc0f1159ab091019005db08954a8140e1c1b4ee54f409a2466a01b5f0e27cb853507e4f8d1340f926b44203f0918fed900d7e90779d146e21d97a26e4a107ef82bc0e5f84e7d07054342ba5f64fceccce7ea4eb2f6b4a2673e548c30b17890ecaaa375a52826dcfef1d5e230adaac9ba4873a2ef5462d57d91bdd3a4f8c5816052d53a87a38568ac723a8f2ba6451f192b5efab5624faef2cd91e1c6cad987f032d07b8eebde76bfe4f95785669bd9a0f16078e80191d0865d64ae9650fc32fceb190988f6b4109ec291ae5386e1db1ec9ac0f84cb9249e08f57ead585f498cfda72e821c7ef9cd2f91852526f707b7436209aa0fcbb4a3408be0b51a64fb7f50f54f596bbfedc95120d1d7ead75ab842e73225968eb3fe5baae34c20912e0d518c8beb7c0528e6f875c964d999fa5b0b2e1ffcedf3c5f553e8387159db6bd1a2e8056fa7f2dd78a828fd528b82f18a4e5850f00cd8a1f821f6be343773c9ea40106536a1fdd3f210c6c0ad984d3cdf32a22962b6cb481d98b9662c73e7881e2f5df90ea8a55bc54d283692c00f2d10550f97bd4f7a667083ca6d4d0bb41dca95ba157edb91146713b7213be03126d74e00bf525654a3a563af18f5f225d1ba43cae63c8cb6f59459006c37d68e737bc637f1009f348b20b33e5dfe8e9e6d7272359664b12bfd8283873e84678f1ae026aba8084de35234d94d5bf847a1164936fbfe4a55fe5f3e772a0ae18afbf16c4d1f18d2ae81316433d77bb1729fb7dbf55cb4fd1c24c3b1d8e0953fac38222fc78d5126c22f99579d4e76f130d88cd64a951e7b2d59766a78dd39569a8118bc4ff1a4981a559796b76c9238a3c9750073514493a052bc0d2579f4343f9ff29e5e473d6555cf4b773b875fc30c0542eb3fbf78a613eef3fb3a224219ca2e005d95c93980d2115a45a3e52c77b5b47d9a746d8c415fda7267e16ecf352db6df817f55d7791110f5543d0e919451be5937aeb3474ce36e328f9bb9911ab8db5aa88e7976120c5e316a6bbc1a9d2c1f307653237c51ce124084d6ae0a0ccde17ac6d9a4f4f7b200ba7c5633492099a6207ccb35ceb31c59c2157ccf991b743dc8786271bec01968b07f2df3d8c486cef76b871156ee122f411a79f6294b5927115107ba4c8381f9bf1e47553b357de86b926fff3e00a957978fbea0ebf456957cb3992193f02d39389dde9c61e27d48ad4a4e2f4204b8a9a2c55ea1f58083841e149900defb330f98189a095303c5b228fdb958a5064b75d2219a0f960b7bb231880c066010a99ab4d910034b224c3b81f6008ac7b8ba515a699a4f9815d64da3520c94bbde054ea66b8bfee935d839580b92bc8257924fa79626b25b3f42da8d9209e33a5577d3168c2a85571ee74aa4aa46a228e8364e13eb47b85db86ea20c6d3fd3b15aa3ff774638711c0e0d44aef85d46aa7ac1459a12a699ce57d32abce998590db0ab31bfca85471243e32f7ebafaaf8830ed211dbe32848a4802aab889d00ba50d886731e341e30f7db728cea63e022e50c18b99fd7660fee02c1b611507f56d882be7059f44401c1e135a6b16c144d955761412599e4319b60aee1b8d27d12267e65e81d87069d1da9695743b18c4c04e8a8336082fed63e3094aadb0467346ed03422b5800733411fe993c80483944f2d73c8a1c4f62c4708b32981276d467cff8e0f44920da93d9ff1511266102206d3f6fd209aed232512165cf622ec7bf9c278bddf9e90d1562f770fb26ce35f24ab95e8973a51dc1faeaf9f2fe83da9856b0d1ec489a4f2001f4ad9c7d2fca6ffc3365c2e9441632f4c4b531a7c9043b728c47541abd124f9798494dd949af1618cda4b58a4848cf6775cc188d81518ffa1efebbab64581eb773d64e3ca35f6a88a55d9c5c78011446070daf4e187c4bd9fa21230964db519115786b76f2aae13276e7a19531402e74568c473d79af52403d1c433709a9b9ccc362e1c882a87d1ac94930e193cf033adfbf215eb0da78db1c9e3b2981e4ee5df49a7492cbd472772732ac44ea41c43430a496678741ee19783989bc536358ee8f6c452280f4c55667166dbb55a67e444rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql17-17.6-150600.13.16.1.src.rpmpostgresql-docs-implementationpostgresql17-docs     postgresql-docs-noarchrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)173.0.4-14.6.0-14.0-15.2-14.14.3hh@gv@g;g@ggmE@g<}g4g(@g@fLf@@fV@f|fTuf8@eCe@eqe@eKx@e@@e%@d,@c@clcGc>@c6@c5c,N@c@c@cb@b@b@b@b|bV@b[@aaza@apa\>@aUaQ@aO@`@```q`OL@`Gc@`/@`#_S__@_F@_mmrueckert@suse.demax@suse.commax@suse.commax@suse.comobs.coke518@passinbox.commax@suse.comobs.coke518@passinbox.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comaaronpuchert@alice-dsl.netsarah.kriesch@opensuse.orgdimstar@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.comdimstar@opensuse.orgmax@suse.commrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.comaaronpuchert@alice-dsl.netschwab@suse.demax@suse.commax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comada.lovelace@gmx.demax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.demax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comgmbr3@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.com- Update to 17.6 * https://www.postgresql.org/about/news/postgresql-176-1610-1514-1419-1322-and-18-beta-3-released-3118/ * https://www.postgresql.org/docs/release/17.6/ Security Issues * CVE-2025-8713: PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table (boo#1248120) * CVE-2025-8714: PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client (boo#1248122) * CVE-2025-8715: PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server (boo#1248119)- Upgrade to 17.5: * bsc#1242931, CVE-2025-4207: postgresql: PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation. * https://www.postgresql.org/docs/release/17.5/ * https://www.postgresql.org/about/news/p-3072/ - Add postresql-pg_config_paths.patch to Fix a race condition while generating pg_config_paths.h.- Upgrade to 17.4: * Improve behavior of libpq's quoting functions: The changes made for CVE-2025-1094 had one serious oversight: PQescapeLiteral() and PQescapeIdentifier() failed to honor their string length parameter, instead always reading to the input string's trailing null. This resulted in including unwanted text in the output, if the caller intended to truncate the string via the length parameter. With very bad luck it could cause a crash due to reading off the end of memory. In addition, modify all these quoting functions so that when invalid encoding is detected, an invalid sequence is substituted for just the first byte of the presumed character, not all of it. This reduces the risk of problems if a calling application performs additional processing on the quoted string. * Fix small memory leak in pg_createsubscriber. * https://www.postgresql.org/docs/release/17.4/ * https://www.postgresql.org/about/news/p-3018/- Upgrade to 17.3: * bsc#1237093, CVE-2025-1094: Harden PQescapeString and allied functions against invalidly-encoded input strings. * obsoletes postgresql-tzdata2025a.patch * https://www.postgresql.org/docs/release/17.3/ * https://www.postgresql.org/about/news/-3015/- Apply postgresql-tzdata2025a.patch regardless of whether LLVM JIT is enabled- Fix build, add postgresql-tzdata2025a.patch- Disable LLVM JIT on loongarch64- Upgrade to 17.2: * Repair ABI break for extensions that work with struct ResultRelInfo. * Restore functionality of ALTER {ROLE|DATABASE} SET role. * Fix cases where a logical replication slot's restart_lsn could go backwards. * Avoid deleting still-needed WAL files during pg_rewind. * Fix race conditions associated with dropping shared statistics entries. * Count index scans in contrib/bloom indexes in the statistics views, such as the pg_stat_user_indexes.idx_scan counter. * Fix crash when checking to see if an index's opclass options have changed. * Avoid assertion failure caused by disconnected NFA sub-graphs in regular expression parsing. * https://www.postgresql.org/about/news/p-2965/ * https://www.postgresql.org/docs/release/17.2/- Upgrade to 17.1: * CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference. * CVE-2024-10977, bsc#1233325: Make libpq discard error messages received during SSL or GSS protocol negotiation. * CVE-2024-10978, bsc#1233326: Fix unintended interactions between SET SESSION AUTHORIZATION and SET ROLE * CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from changing environment variables. * obsoletes postgresql17-jsonb_jsonpath.patch * https://www.postgresql.org/about/news/p-2955/ * https://www.postgresql.org/docs/release/17.1/- Add postgresql17-jsonb_jsonpath.patch as a temporary build fix.- Use cmake(LLVM) < instead of <= to also allow building against LLVM 18.1 and newer 18.x versions- Upgrade to 17.0: * New memory management system for VACUUM, which reduces memory consumption and can improve overall vacuuming performance. * New SQL/JSON capabilities, including constructors, identity functions, and the JSON_TABLE() function, which converts JSON data into a table representation. * Various query performance improvements, including for sequential reads using streaming I/O, write throughput under high concurrency, and searches over multiple values in a btree index. * Logical replication enhancements, including: + Failover control + pg_createsubscriber, a utility that creates logical replicas from physical standbys + pg_upgrade now preserves replication slots on both publishers and subscribers * New client-side connection option, sslnegotiation=direct, that performs a direct TLS handshake to avoid a round-trip negotiation. * pg_basebackup now supports incremental backup. * COPY adds a new option, ON_ERROR ignore, that allows a copy operation to continue in the event of an error. * https://www.postgresql.org/about/news/p-2936/ * https://www.postgresql.org/docs/17/release-17.html- Upgrade to 17rc1 https://www.postgresql.org/about/news/postgresql-17-rc1-released-2926/- Upgrade to 17beta3 (bsc#1229013): * bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement during pg_dump executes arbitrary SQL * https://www.postgresql.org/about/news/p-2910/- Upgrade to 17beta2.- Upgrade to 17beta1. - Allow LLVM <= 18- Prepare for PostgreSQL 17. - Make sure all compilation and doc generation happens in %build.- Require LLVM <= 17 for now, because LLVM 18 doesn't seem to work.- Remove constraints file because improved memory usage for s390x- Use %patch -P N instead of deprecated %patchN.- Upgrade to 16.2: * bsc#1219679, CVE-2024-0985: Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY. One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected * If you use GIN indexes, you may need to reindex after updating to this release. * LLVM 18 is now supported. * https://www.postgresql.org/docs/release/16.2/- Upgrade to 16.1: * bsc#1216962, CVE-2023-5868: Fix handling of unknown-type arguments in DISTINCT "any" aggregate functions. This error led to a text-type value being interpreted as an unknown-type value (that is, a zero-terminated string) at runtime. This could result in disclosure of server memory following the text value. * bsc#1216961, CVE-2023-5869: Detect integer overflow while computing new array dimensions. When assigning new elements to array subscripts that are outside the current array bounds, an undetected integer overflow could occur in edge cases. Memory stomps that are potentially exploitable for arbitrary code execution are possible, and so is disclosure of server memory. * bsc#1216960, CVE-2023-5870: Prevent the pg_signal_backend role from signalling background workers and autovacuum processes. The documentation says that pg_signal_backend cannot issue signals to superuser-owned processes. It was able to signal these background processes, though, because they advertise a role OID of zero. Treat that as indicating superuser ownership. The security implications of cancelling one of these process types are fairly small so far as the core code goes (we'll just start another one), but extensions might add background workers that are more vulnerable. Also ensure that the is_superuser parameter is set correctly in such processes. No specific security consequences are known for that oversight, but it might be significant for some extensions. * Add support for LLVM 16 and 17 * https://www.postgresql.org/docs/16/release-16-1.html- boo#1216734: Revert the last change and make the devel package independend of all other subpackages except for the libs.- boo#1216022: Call install-alternatives from the devel subpackage as well, otherwise the symlink for ecpg might be missing.- Also buildignore the postgresql*-implementation symbols: this is needed in order to bootstrap when no postgresql version currently has valid symbols provided. Once the packages are built, OBS could translate this to the pgname-* packages and accept the ignores; during bootstrap though, there is nothing providing the symbol and the existing buildignores do not suffice.- Upgrade to 16.0: * https://www.postgresql.org/about/news/2715 * https://www.postgresql.org/docs/16/release-16.html- Upgrade to 16rc1: * https://www.postgresql.org/about/news/2702/- Upgrade too v16beta3.- Copy postgresql15 to postgresql16 and upgrade to v16beta2. - Don't create a unix domain socket under /tmp anymore.- Restore the independence of mini builds from the main build after the -mini name change from April 4, 2023. - Adjust icu handling to prepare for PostgreSQL 16.- Overhaul postgresql-README.SUSE and move it from the binary package to the noarch wrapper package. - Change the unix domain socket location from /var/run to /run.- Update to 15.3: * bsc#1211228, CVE-2023-2454: Prevent CREATE SCHEMA from defeating changes in search_path * bsc#1211229, CVE-2023-2455: Enforce row-level security policies correctly after inlining a set-returning function * https://www.postgresql.org/about/news/2637/ * https://www.postgresql.org/docs/15/release-15-3.html- bsc#1210303: Stop using the obsolete internal %_restart_on_update macro and drop support for sysv init to simplify the scriptlets.- Include -mini in Name: to avoid conflicts in the source package name and OBS internal dependency tracking.- Update to 15.2: * CVE-2022-41862, bsc#1208102: memory leak in libpq * https://www.postgresql.org/about/news/2592/ * https://www.postgresql.org/docs/15/release-15-2.html - Bump latest_supported_llvm_ver to 15.- Update to 15.1: * https://www.postgresql.org/about/news/2543/ * https://www.postgresql.org/docs/15/release-15-1.html- Update to 15.0: * https://www.postgresql.org/about/news/p-2526/ * https://www.postgresql.org/docs/15/release-15.html - Move pg_upgrade from *-contrib to *-server. - Drop support for the 9.x versioning scheme.- Update to 15~rc2 * https://www.postgresql.org/about/news/p-2521/ * Reverting the "optimized order of GROUP BY keys" feature.- Fix source URLs- Update to 15~rc1 https://www.postgresql.org/about/news/p-2516/- Create mechanism to specify the latest supported LLVM version. Automatically pin to that version if the distribution has a newer unsupported default version.- Disable LLVM JIT on riscv64- Update to 15~beta4 https://www.postgresql.org/about/news/p-2507/- Update to 15~beta3 https://www.postgresql.org/about/news/p-2496/- use %version requires for the contrib package for now as 15~beta1 is actually smaller than 15.- Add proper conditionals for lz4 and zstd- Upgrade to 15~beta1 https://www.postgresql.org/about/news/postgresql-15-beta-1-released-2453/ https://www.postgresql.org/docs/15/release-15.html - Refreshed patches to apply cleanly again: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch postgresql-conf.patch postgresql-llvm-optional.patch postgresql-plperl-keep-rpath.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - Add buildrequires for lz4 and zstd support- fork package for postgresql 15- Upgrade to 14.3: * bsc#1199475, CVE-2022-1552: Confine additional operations within "security restricted operation" sandboxes. * https://www.postgresql.org/docs/14/release-14-3.html- bsc#1198166: Pin to llvm13 until the next patchlevel update.- bsc#1195680: Upgrade to 14.2: * https://www.postgresql.org/docs/14/release-14-2.html * Reindexing might be needed after applying this upgrade, so please read the release notes carefully.- boo#1190740: Add constraints file with 12GB of memory for s390x as a workaround- Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. - Fix some mistakes in the interdependencies between the implementation packages and their noarch counterpart. - Update the BuildIgnore section.- bsc#1192516: Upgrade to 14.1 * Make the server reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23214). * Make libpq reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23222). * https://www.postgresql.org/docs/14/release-14-1.html- boo#1191782: Let rpmlint ignore shlib-policy-name-error.- Remove postgresql-testsuite-int8.sql.patch, because its purpose is unclear. This affects only the test subpackage.- Upgrade to 14.0 https://www.postgresql.org/about/news/postgresql-14-released-2318/ https://www.postgresql.org/docs/14/release-14.html- Let genlists skip non-existing binaries to avoid lots of version conditionals in the file lists.- Upgrade to 14~rc1 https://www.postgresql.org/about/news/postgresql-14-rc-1-released-2309/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta2 https://www.postgresql.org/about/news/postgresql-14-beta-2-released-2249/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta1 https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items - disable postgresql-testsuite-int8.sql.patch: it seems it is not needed anymore, need to be double checked.- bsc#1185952: llvm12 breaks PostgreSQL 11 and 12 on s390x. Use llvm11 as a workaround.- Upgrade to version 13.3: * https://www.postgresql.org/docs/13/release-13-3.html * CVE-2021-32027, bsc#1185924: Prevent integer overflows in array subscripting calculations. * CVE-2021-32028, bsc#1185925: Fix mishandling of “junk” columns in INSERT ... ON CONFLICT ... UPDATE target lists. * CVE-2021-32029, bsc#1185926: Fix possibly-incorrect computation of UPDATE ... RETURNING "pg_psql_temporary_savepoint" does not exist”. - Don't use %_stop_on_removal, because it was meant to be private and got removed from openSUSE. %_restart_on_update is also private, but still supported and needed for now (bsc#1183168).- Re-enable build of the llvmjit subpackage on SLE, but it will only be delivered on PackageHub for now (boo#1183118).- Remove leftover PreReq on chkconfig, we stopped using it long time ago.- boo#1179945: Disable icu for PostgreSQL 10 (and older) on TW.- Upgrade to version 13.2: * https://www.postgresql.org/docs/13/release-13-2.html * Updating stored views and reindexing might be needed after applying this update. * CVE-2021-3393, bsc#1182040: Fix information leakage in constraint-violation error messages. * CVE-2021-20229, bsc#1182039: Fix failure to check per-column SELECT privileges in some join queries. * Obsoletes postgresql-icu68.patch.- Add postgresql-icu68.patch: fix build with ICU 68- bsc#1178961: %ghost the symlinks to pg_config and ecpg. - boo#1179765: BuildRequire libpq5 and libecpg6 when not building them to avoid dangling symlinks in the devel package.- Upgrade to version 13.1: * CVE-2020-25695, bsc#1178666: Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries. * CVE-2020-25694, bsc#1178667: a) Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb. b) When psql's \connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used. * CVE-2020-25696, bsc#1178668: Prevent psql's \gset command from modifying specially-treated variables. * Fix recently-added timetz test case so it works when the USA is not observing daylight savings time. (obsoletes postgresql-timetz.patch) * https://www.postgresql.org/about/news/2111/ * https://www.postgresql.org/docs/13/release-13-1.html- Fix a DST problem in the test suite: postgresql-timetz.patch https://postgr.es/m/16689-57701daa23b377bf@postgresql.org- Initial packaging of PostgreSQL 13: * https://www.postgresql.org/about/news/2077/ * https://www.postgresql.org/docs/13/release-13.htmlh01-ch3a 1755501998  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~17.6-150600.13.16.117.6-150600.13.16.1postgresql17htmlacronyms.htmladmin.htmlamcheck.htmlapp-clusterdb.htmlapp-createdb.htmlapp-createuser.htmlapp-dropdb.htmlapp-dropuser.htmlapp-ecpg.htmlapp-initdb.htmlapp-pg-ctl.htmlapp-pg-dumpall.htmlapp-pg-isready.htmlapp-pgamcheck.htmlapp-pgbasebackup.htmlapp-pgchecksums.htmlapp-pgcombinebackup.htmlapp-pgconfig.htmlapp-pgcontroldata.htmlapp-pgcreatesubscriber.htmlapp-pgdump.htmlapp-pgreceivewal.htmlapp-pgreceivexlog.htmlapp-pgrecvlogical.htmlapp-pgresetwal.htmlapp-pgresetxlog.htmlapp-pgrestore.htmlapp-pgrewind.htmlapp-pgverifybackup.htmlapp-pgwalsummary.htmlapp-postgres.htmlapp-psql.htmlapp-reindexdb.htmlapp-vacuumdb.htmlappendix-obsolete.htmlappendixes.htmlapplevel-consistency.htmlarchive-module-callbacks.htmlarchive-module-init.htmlarchive-modules.htmlarrays.htmlauth-bsd.htmlauth-cert.htmlauth-delay.htmlauth-ident.htmlauth-ldap.htmlauth-methods.htmlauth-pam.htmlauth-password.htmlauth-peer.htmlauth-pg-hba-conf.htmlauth-radius.htmlauth-trust.htmlauth-username-maps.htmlauto-explain.htmlbackup-dump.htmlbackup-file.htmlbackup-manifest-files.htmlbackup-manifest-format.htmlbackup-manifest-toplevel.htmlbackup-manifest-wal-ranges.htmlbackup.htmlbasebackup-to-shell.htmlbasic-archive.htmlbgworker.htmlbiblio.htmlbki-commands.htmlbki-example.htmlbki-format.htmlbki-structure.htmlbki.htmlbloom.htmlbookindex.htmlbrin.htmlbtree-gin.htmlbtree-gist.htmlbtree.htmlbug-reporting.htmlcatalog-pg-aggregate.htmlcatalog-pg-am.htmlcatalog-pg-amop.htmlcatalog-pg-amproc.htmlcatalog-pg-attrdef.htmlcatalog-pg-attribute.htmlcatalog-pg-auth-members.htmlcatalog-pg-authid.htmlcatalog-pg-cast.htmlcatalog-pg-class.htmlcatalog-pg-collation.htmlcatalog-pg-constraint.htmlcatalog-pg-conversion.htmlcatalog-pg-database.htmlcatalog-pg-db-role-setting.htmlcatalog-pg-default-acl.htmlcatalog-pg-depend.htmlcatalog-pg-description.htmlcatalog-pg-enum.htmlcatalog-pg-event-trigger.htmlcatalog-pg-extension.htmlcatalog-pg-foreign-data-wrapper.htmlcatalog-pg-foreign-server.htmlcatalog-pg-foreign-table.htmlcatalog-pg-index.htmlcatalog-pg-inherits.htmlcatalog-pg-init-privs.htmlcatalog-pg-language.htmlcatalog-pg-largeobject-metadata.htmlcatalog-pg-largeobject.htmlcatalog-pg-namespace.htmlcatalog-pg-opclass.htmlcatalog-pg-operator.htmlcatalog-pg-opfamily.htmlcatalog-pg-parameter-acl.htmlcatalog-pg-partitioned-table.htmlcatalog-pg-policy.htmlcatalog-pg-proc.htmlcatalog-pg-publication-namespace.htmlcatalog-pg-publication-rel.htmlcatalog-pg-publication.htmlcatalog-pg-range.htmlcatalog-pg-replication-origin.htmlcatalog-pg-rewrite.htmlcatalog-pg-seclabel.htmlcatalog-pg-sequence.htmlcatalog-pg-shdepend.htmlcatalog-pg-shdescription.htmlcatalog-pg-shseclabel.htmlcatalog-pg-statistic-ext-data.htmlcatalog-pg-statistic-ext.htmlcatalog-pg-statistic.htmlcatalog-pg-subscription-rel.htmlcatalog-pg-subscription.htmlcatalog-pg-tablespace.htmlcatalog-pg-transform.htmlcatalog-pg-trigger.htmlcatalog-pg-ts-config-map.htmlcatalog-pg-ts-config.htmlcatalog-pg-ts-dict.htmlcatalog-pg-ts-parser.htmlcatalog-pg-ts-template.htmlcatalog-pg-type.htmlcatalog-pg-user-mapping.htmlcatalogs-overview.htmlcatalogs.htmlcharset.htmlchecksums.htmlcitext.htmlclient-authentication-problems.htmlclient-authentication.htmlclient-interfaces.htmlcollation.htmlcolor-when.htmlcolor-which.htmlcolor.htmlconfig-setting.htmlconnect-estab.htmlcontinuous-archiving.htmlcontrib-dblink-build-sql-delete.htmlcontrib-dblink-build-sql-insert.htmlcontrib-dblink-build-sql-update.htmlcontrib-dblink-cancel-query.htmlcontrib-dblink-close.htmlcontrib-dblink-connect-u.htmlcontrib-dblink-connect.htmlcontrib-dblink-disconnect.htmlcontrib-dblink-error-message.htmlcontrib-dblink-exec.htmlcontrib-dblink-fetch.htmlcontrib-dblink-function.htmlcontrib-dblink-get-connections.htmlcontrib-dblink-get-notify.htmlcontrib-dblink-get-pkey.htmlcontrib-dblink-get-result.htmlcontrib-dblink-is-busy.htmlcontrib-dblink-open.htmlcontrib-dblink-send-query.htmlcontrib-prog-client.htmlcontrib-prog-server.htmlcontrib-prog.htmlcontrib-spi.htmlcontrib.htmlcreating-cluster.htmlcube.htmlcustom-rmgr.htmlcustom-scan-execution.htmlcustom-scan-path.htmlcustom-scan-plan.htmlcustom-scan.htmldatabase-roles.htmldatatype-binary.htmldatatype-bit.htmldatatype-boolean.htmldatatype-character.htmldatatype-datetime.htmldatatype-enum.htmldatatype-geometric.htmldatatype-json.htmldatatype-money.htmldatatype-net-types.htmldatatype-numeric.htmldatatype-oid.htmldatatype-pg-lsn.htmldatatype-pseudo.htmldatatype-textsearch.htmldatatype-uuid.htmldatatype-xml.htmldatatype.htmldatetime-appendix.htmldatetime-config-files.htmldatetime-input-rules.htmldatetime-invalid-input.htmldatetime-julian-dates.htmldatetime-keywords.htmldatetime-posix-timezone-specs.htmldatetime-units-history.htmldblink.htmlddl-alter.htmlddl-basics.htmlddl-constraints.htmlddl-default.htmlddl-depend.htmlddl-foreign-data.htmlddl-generated-columns.htmlddl-identity-columns.htmlddl-inherit.htmlddl-others.htmlddl-partitioning.htmlddl-priv.htmlddl-rowsecurity.htmlddl-schemas.htmlddl-system-columns.htmlddl.htmldefault-roles.htmldict-int.htmldict-xsyn.htmldifferent-replication-solutions.htmldiskusage.htmldml-delete.htmldml-insert.htmldml-returning.htmldml-update.htmldml.htmldocguide-authoring.htmldocguide-build-meson.htmldocguide-build.htmldocguide-docbook.htmldocguide-style.htmldocguide-toolsets.htmldocguide.htmldomains.htmldynamic-trace.htmlearthdistance.htmlecpg-commands.htmlecpg-concept.htmlecpg-connect.htmlecpg-cpp.htmlecpg-descriptors.htmlecpg-develop.htmlecpg-dynamic.htmlecpg-errors.htmlecpg-informix-compat.htmlecpg-library.htmlecpg-lo.htmlecpg-oracle-compat.htmlecpg-pgtypes.htmlecpg-preproc.htmlecpg-process.htmlecpg-sql-allocate-descriptor.htmlecpg-sql-commands.htmlecpg-sql-connect.htmlecpg-sql-deallocate-descriptor.htmlecpg-sql-declare-statement.htmlecpg-sql-declare.htmlecpg-sql-describe.htmlecpg-sql-disconnect.htmlecpg-sql-execute-immediate.htmlecpg-sql-get-descriptor.htmlecpg-sql-open.htmlecpg-sql-prepare.htmlecpg-sql-set-autocommit.htmlecpg-sql-set-connection.htmlecpg-sql-set-descriptor.htmlecpg-sql-type.htmlecpg-sql-var.htmlecpg-sql-whenever.htmlecpg-variables.htmlecpg.htmlencryption-options.htmlerrcodes-appendix.htmlerror-message-reporting.htmlerror-style-guide.htmlevent-log-registration.htmlevent-trigger-database-login-example.htmlevent-trigger-definition.htmlevent-trigger-example.htmlevent-trigger-interface.htmlevent-trigger-matrix.htmlevent-trigger-table-rewrite-example.htmlevent-triggers.htmlexecutor.htmlexplicit-joins.htmlexplicit-locking.htmlextend-extensions.htmlextend-how.htmlextend-pgxs.htmlextend-type-system.htmlextend.htmlexternal-admin-tools.htmlexternal-extensions.htmlexternal-interfaces.htmlexternal-pl.htmlexternal-projects.htmlfdw-callbacks.htmlfdw-functions.htmlfdw-helpers.htmlfdw-planning.htmlfdw-row-locking.htmlfdwhandler.htmlfeatures-sql-standard.htmlfeatures.htmlfile-fdw.htmlfunctions-admin.htmlfunctions-aggregate.htmlfunctions-array.htmlfunctions-binarystring.htmlfunctions-bitstring.htmlfunctions-comparison.htmlfunctions-comparisons.htmlfunctions-conditional.htmlfunctions-datetime.htmlfunctions-enum.htmlfunctions-event-triggers.htmlfunctions-formatting.htmlfunctions-geometry.htmlfunctions-info.htmlfunctions-json.htmlfunctions-logical.htmlfunctions-matching.htmlfunctions-math.htmlfunctions-merge-support.htmlfunctions-net.htmlfunctions-range.htmlfunctions-sequence.htmlfunctions-srf.htmlfunctions-statistics.htmlfunctions-string.htmlfunctions-subquery.htmlfunctions-textsearch.htmlfunctions-trigger.htmlfunctions-uuid.htmlfunctions-window.htmlfunctions-xml.htmlfunctions.htmlfuzzystrmatch.htmlgeneric-wal.htmlgenetic-algorithm.svggeqo-biblio.htmlgeqo-intro.htmlgeqo-intro2.htmlgeqo-pg-intro.htmlgeqo.htmlgin.htmlgin.svggist.htmlgit.htmlglossary.htmlgssapi-auth.htmlgssapi-enc.htmlhash-index.htmlhigh-availability.htmlhistory.htmlhot-standby.htmlhow-parallel-query-works.htmlhstore.htmlindex-api.htmlindex-cost-estimation.htmlindex-functions.htmlindex-locking.htmlindex-scanning.htmlindex-unique-checks.htmlindex.htmlindexam.htmlindexes-bitmap-scans.htmlindexes-collations.htmlindexes-examine.htmlindexes-expressional.htmlindexes-index-only-scans.htmlindexes-intro.htmlindexes-multicolumn.htmlindexes-opclass.htmlindexes-ordering.htmlindexes-partial.htmlindexes-types.htmlindexes-unique.htmlindexes.htmlindextypes.htmlinformation-schema.htmlinfoschema-administrable-role-authorizations.htmlinfoschema-applicable-roles.htmlinfoschema-attributes.htmlinfoschema-character-sets.htmlinfoschema-check-constraint-routine-usage.htmlinfoschema-check-constraints.htmlinfoschema-collation-character-set-applicab.htmlinfoschema-collations.htmlinfoschema-column-column-usage.htmlinfoschema-column-domain-usage.htmlinfoschema-column-options.htmlinfoschema-column-privileges.htmlinfoschema-column-udt-usage.htmlinfoschema-columns.htmlinfoschema-constraint-column-usage.htmlinfoschema-constraint-table-usage.htmlinfoschema-data-type-privileges.htmlinfoschema-datatypes.htmlinfoschema-domain-constraints.htmlinfoschema-domain-udt-usage.htmlinfoschema-domains.htmlinfoschema-element-types.htmlinfoschema-enabled-roles.htmlinfoschema-foreign-data-wrapper-options.htmlinfoschema-foreign-data-wrappers.htmlinfoschema-foreign-server-options.htmlinfoschema-foreign-servers.htmlinfoschema-foreign-table-options.htmlinfoschema-foreign-tables.htmlinfoschema-information-schema-catalog-name.htmlinfoschema-key-column-usage.htmlinfoschema-parameters.htmlinfoschema-referential-constraints.htmlinfoschema-role-column-grants.htmlinfoschema-role-routine-grants.htmlinfoschema-role-table-grants.htmlinfoschema-role-udt-grants.htmlinfoschema-role-usage-grants.htmlinfoschema-routine-column-usage.htmlinfoschema-routine-privileges.htmlinfoschema-routine-routine-usage.htmlinfoschema-routine-sequence-usage.htmlinfoschema-routine-table-usage.htmlinfoschema-routines.htmlinfoschema-schema.htmlinfoschema-schemata.htmlinfoschema-sequences.htmlinfoschema-sql-features.htmlinfoschema-sql-implementation-info.htmlinfoschema-sql-parts.htmlinfoschema-sql-sizing.htmlinfoschema-table-constraints.htmlinfoschema-table-privileges.htmlinfoschema-tables.htmlinfoschema-transforms.htmlinfoschema-triggered-update-columns.htmlinfoschema-triggers.htmlinfoschema-udt-privileges.htmlinfoschema-usage-privileges.htmlinfoschema-user-defined-types.htmlinfoschema-user-mapping-options.htmlinfoschema-user-mappings.htmlinfoschema-view-column-usage.htmlinfoschema-view-routine-usage.htmlinfoschema-view-table-usage.htmlinfoschema-views.htmlinstall-binaries.htmlinstall-getsource.htmlinstall-make.htmlinstall-meson.htmlinstall-post.htmlinstall-requirements.htmlinstallation-platform-notes.htmlinstallation.htmlintagg.htmlintarray.htmlinternals.htmlintro-whatis.htmlisn.htmljit-configuration.htmljit-decision.htmljit-extensibility.htmljit-reason.htmljit.htmlkernel-resources.htmllargeobjects.htmllegalnotice.htmllibpq-async.htmllibpq-build.htmllibpq-cancel.htmllibpq-connect.htmllibpq-control.htmllibpq-copy.htmllibpq-envars.htmllibpq-events.htmllibpq-example.htmllibpq-exec.htmllibpq-fastpath.htmllibpq-ldap.htmllibpq-misc.htmllibpq-notice-processing.htmllibpq-notify.htmllibpq-pgpass.htmllibpq-pgservice.htmllibpq-pipeline-mode.htmllibpq-single-row-mode.htmllibpq-ssl.htmllibpq-status.htmllibpq-threading.htmllibpq.htmllimits.htmllo-examplesect.htmllo-funcs.htmllo-implementation.htmllo-interfaces.htmllo-intro.htmllo.htmllocale.htmllocking-indexes.htmllogfile-maintenance.htmllogical-replication-architecture.htmllogical-replication-col-lists.htmllogical-replication-config.htmllogical-replication-conflicts.htmllogical-replication-failover.htmllogical-replication-monitoring.htmllogical-replication-publication.htmllogical-replication-quick-setup.htmllogical-replication-restrictions.htmllogical-replication-row-filter.htmllogical-replication-security.htmllogical-replication-subscription.htmllogical-replication.htmllogicaldecoding-catalogs.htmllogicaldecoding-example.htmllogicaldecoding-explanation.htmllogicaldecoding-output-plugin.htmllogicaldecoding-sql.htmllogicaldecoding-streaming.htmllogicaldecoding-synchronous.htmllogicaldecoding-two-phase-commits.htmllogicaldecoding-walsender.htmllogicaldecoding-writer.htmllogicaldecoding.htmlltree.htmlmaintenance.htmlmanage-ag-config.htmlmanage-ag-createdb.htmlmanage-ag-dropdb.htmlmanage-ag-overview.htmlmanage-ag-tablespaces.htmlmanage-ag-templatedbs.htmlmanaging-databases.htmlmonitoring-locks.htmlmonitoring-ps.htmlmonitoring-stats.htmlmonitoring.htmlmultibyte.htmlmultivariate-statistics-examples.htmlmvcc-caveats.htmlmvcc-intro.htmlmvcc-serialization-failure-handling.htmlmvcc.htmlnls-programmer.htmlnls-translator.htmlnls.htmlnon-durability.htmlnotation.htmloid2name.htmloverview.htmlpageinspect.htmlpagelayout.svgparallel-plans.htmlparallel-query.htmlparallel-safety.htmlparser-stage.htmlpasswordcheck.htmlperformance-tips.htmlperm-functions.htmlpgarchivecleanup.htmlpgbench.htmlpgbuffercache.htmlpgcrypto.htmlpgfreespacemap.htmlpgprewarm.htmlpgrowlocks.htmlpgstatstatements.htmlpgstattuple.htmlpgsurgery.htmlpgtestfsync.htmlpgtesttiming.htmlpgtrgm.htmlpgupgrade.htmlpgvisibility.htmlpgwaldump.htmlpgwalinspect.htmlpgxlogdump.htmlplanner-optimizer.htmlplanner-stats-details.htmlplanner-stats-security.htmlplanner-stats.htmlplhandler.htmlplperl-builtins.htmlplperl-data.htmlplperl-event-triggers.htmlplperl-funcs.htmlplperl-global.htmlplperl-triggers.htmlplperl-trusted.htmlplperl-under-the-hood.htmlplperl.htmlplpgsql-control-structures.htmlplpgsql-cursors.htmlplpgsql-declarations.htmlplpgsql-development-tips.htmlplpgsql-errors-and-messages.htmlplpgsql-expressions.htmlplpgsql-implementation.htmlplpgsql-overview.htmlplpgsql-porting.htmlplpgsql-statements.htmlplpgsql-structure.htmlplpgsql-transactions.htmlplpgsql-trigger.htmlplpgsql.htmlplpython-data.htmlplpython-database.htmlplpython-do.htmlplpython-envar.htmlplpython-funcs.htmlplpython-python23.htmlplpython-sharing.htmlplpython-subtransaction.htmlplpython-transactions.htmlplpython-trigger.htmlplpython-util.htmlplpython.htmlpltcl-config.htmlpltcl-data.htmlpltcl-dbaccess.htmlpltcl-error-handling.htmlpltcl-event-trigger.htmlpltcl-functions.htmlpltcl-global.htmlpltcl-overview.htmlpltcl-procnames.htmlpltcl-subtransactions.htmlpltcl-transactions.htmlpltcl-trigger.htmlpltcl.htmlpopulate.htmlpostgres-fdw.htmlpostgres-user.htmlpredefined-roles.htmlpreface.htmlpreventing-server-spoofing.htmlprogress-reporting.htmlprotocol-changes.htmlprotocol-error-fields.htmlprotocol-flow.htmlprotocol-logical-replication.htmlprotocol-logicalrep-message-formats.htmlprotocol-message-formats.htmlprotocol-message-types.htmlprotocol-overview.htmlprotocol-replication.htmlprotocol.htmlqueries-limit.htmlqueries-order.htmlqueries-overview.htmlqueries-select-lists.htmlqueries-table-expressions.htmlqueries-union.htmlqueries-values.htmlqueries-with.htmlqueries.htmlquery-path.htmlquerytree.htmlrangetypes.htmlrecovery-config.htmlreference-client.htmlreference-server.htmlreference.htmlregress-coverage.htmlregress-evaluation.htmlregress-run.htmlregress-tap.htmlregress-variant.htmlregress.htmlrelease-17-1.htmlrelease-17-2.htmlrelease-17-3.htmlrelease-17-4.htmlrelease-17-5.htmlrelease-17-6.htmlrelease-17.htmlrelease-prior.htmlrelease.htmlreplication-origins.htmlresources.htmlrole-attributes.htmlrole-membership.htmlrole-removal.htmlroutine-reindex.htmlroutine-vacuuming.htmlrow-estimation-examples.htmlrowtypes.htmlrule-system.htmlrules-materializedviews.htmlrules-privileges.htmlrules-status.htmlrules-triggers.htmlrules-update.htmlrules-views.htmlrules.htmlruntime-config-autovacuum.htmlruntime-config-client.htmlruntime-config-compatible.htmlruntime-config-connection.htmlruntime-config-custom.htmlruntime-config-developer.htmlruntime-config-error-handling.htmlruntime-config-file-locations.htmlruntime-config-locks.htmlruntime-config-logging.htmlruntime-config-preset.htmlruntime-config-query.htmlruntime-config-replication.htmlruntime-config-resource.htmlruntime-config-short.htmlruntime-config-statistics.htmlruntime-config-wal.htmlruntime-config.htmlruntime.htmlsasl-authentication.htmlseg.htmlsepgsql.htmlserver-programming.htmlserver-shutdown.htmlserver-start.htmlsource-conventions.htmlsource-format.htmlsource.htmlsourcerepo.htmlspgist.htmlspi-examples.htmlspi-interface-support.htmlspi-interface.htmlspi-memory.htmlspi-realloc.htmlspi-spi-commit.htmlspi-spi-connect.htmlspi-spi-copytuple.htmlspi-spi-cursor-close.htmlspi-spi-cursor-fetch.htmlspi-spi-cursor-find.htmlspi-spi-cursor-move.htmlspi-spi-cursor-open-with-args.htmlspi-spi-cursor-open-with-paramlist.htmlspi-spi-cursor-open.htmlspi-spi-cursor-parse-open.htmlspi-spi-exec.htmlspi-spi-execp.htmlspi-spi-execute-extended.htmlspi-spi-execute-plan-extended.htmlspi-spi-execute-plan-with-paramlist.htmlspi-spi-execute-plan.htmlspi-spi-execute-with-args.htmlspi-spi-execute.htmlspi-spi-finish.htmlspi-spi-fname.htmlspi-spi-fnumber.htmlspi-spi-freeplan.htmlspi-spi-freetuple.htmlspi-spi-freetupletable.htmlspi-spi-getargcount.htmlspi-spi-getargtypeid.htmlspi-spi-getbinval.htmlspi-spi-getnspname.htmlspi-spi-getrelname.htmlspi-spi-gettype.htmlspi-spi-gettypeid.htmlspi-spi-getvalue.htmlspi-spi-is-cursor-plan.htmlspi-spi-keepplan.htmlspi-spi-modifytuple.htmlspi-spi-palloc.htmlspi-spi-pfree.htmlspi-spi-prepare-cursor.htmlspi-spi-prepare-extended.htmlspi-spi-prepare-params.htmlspi-spi-prepare.htmlspi-spi-register-relation.htmlspi-spi-register-trigger-data.htmlspi-spi-result-code-string.htmlspi-spi-returntuple.htmlspi-spi-rollback.htmlspi-spi-saveplan.htmlspi-spi-scroll-cursor-fetch.htmlspi-spi-scroll-cursor-move.htmlspi-spi-start-transaction.htmlspi-spi-unregister-relation.htmlspi-transaction.htmlspi-visibility.htmlspi.htmlsql-abort.htmlsql-alteraggregate.htmlsql-altercollation.htmlsql-alterconversion.htmlsql-alterdatabase.htmlsql-alterdefaultprivileges.htmlsql-alterdomain.htmlsql-altereventtrigger.htmlsql-alterextension.htmlsql-alterforeigndatawrapper.htmlsql-alterforeigntable.htmlsql-alterfunction.htmlsql-altergroup.htmlsql-alterindex.htmlsql-alterlanguage.htmlsql-alterlargeobject.htmlsql-altermaterializedview.htmlsql-alteropclass.htmlsql-alteroperator.htmlsql-alteropfamily.htmlsql-alterpolicy.htmlsql-alterprocedure.htmlsql-alterpublication.htmlsql-alterrole.htmlsql-alterroutine.htmlsql-alterrule.htmlsql-alterschema.htmlsql-altersequence.htmlsql-alterserver.htmlsql-alterstatistics.htmlsql-altersubscription.htmlsql-altersystem.htmlsql-altertable.htmlsql-altertablespace.htmlsql-altertrigger.htmlsql-altertsconfig.htmlsql-altertsdictionary.htmlsql-altertsparser.htmlsql-altertstemplate.htmlsql-altertype.htmlsql-alteruser.htmlsql-alterusermapping.htmlsql-alterview.htmlsql-analyze.htmlsql-begin.htmlsql-call.htmlsql-checkpoint.htmlsql-close.htmlsql-cluster.htmlsql-commands.htmlsql-comment.htmlsql-commit-prepared.htmlsql-commit.htmlsql-copy.htmlsql-create-access-method.htmlsql-createaggregate.htmlsql-createcast.htmlsql-createcollation.htmlsql-createconversion.htmlsql-createdatabase.htmlsql-createdomain.htmlsql-createeventtrigger.htmlsql-createextension.htmlsql-createforeigndatawrapper.htmlsql-createforeigntable.htmlsql-createfunction.htmlsql-creategroup.htmlsql-createindex.htmlsql-createlanguage.htmlsql-creatematerializedview.htmlsql-createopclass.htmlsql-createoperator.htmlsql-createopfamily.htmlsql-createpolicy.htmlsql-createprocedure.htmlsql-createpublication.htmlsql-createrole.htmlsql-createrule.htmlsql-createschema.htmlsql-createsequence.htmlsql-createserver.htmlsql-createstatistics.htmlsql-createsubscription.htmlsql-createtable.htmlsql-createtableas.htmlsql-createtablespace.htmlsql-createtransform.htmlsql-createtrigger.htmlsql-createtsconfig.htmlsql-createtsdictionary.htmlsql-createtsparser.htmlsql-createtstemplate.htmlsql-createtype.htmlsql-createuser.htmlsql-createusermapping.htmlsql-createview.htmlsql-deallocate.htmlsql-declare.htmlsql-delete.htmlsql-discard.htmlsql-do.htmlsql-drop-access-method.htmlsql-drop-owned.htmlsql-dropaggregate.htmlsql-dropcast.htmlsql-dropcollation.htmlsql-dropconversion.htmlsql-dropdatabase.htmlsql-dropdomain.htmlsql-dropeventtrigger.htmlsql-dropextension.htmlsql-dropforeigndatawrapper.htmlsql-dropforeigntable.htmlsql-dropfunction.htmlsql-dropgroup.htmlsql-dropindex.htmlsql-droplanguage.htmlsql-dropmaterializedview.htmlsql-dropopclass.htmlsql-dropoperator.htmlsql-dropopfamily.htmlsql-droppolicy.htmlsql-dropprocedure.htmlsql-droppublication.htmlsql-droprole.htmlsql-droproutine.htmlsql-droprule.htmlsql-dropschema.htmlsql-dropsequence.htmlsql-dropserver.htmlsql-dropstatistics.htmlsql-dropsubscription.htmlsql-droptable.htmlsql-droptablespace.htmlsql-droptransform.htmlsql-droptrigger.htmlsql-droptsconfig.htmlsql-droptsdictionary.htmlsql-droptsparser.htmlsql-droptstemplate.htmlsql-droptype.htmlsql-dropuser.htmlsql-dropusermapping.htmlsql-dropview.htmlsql-end.htmlsql-execute.htmlsql-explain.htmlsql-expressions.htmlsql-fetch.htmlsql-grant.htmlsql-importforeignschema.htmlsql-insert.htmlsql-keywords-appendix.htmlsql-listen.htmlsql-load.htmlsql-lock.htmlsql-merge.htmlsql-move.htmlsql-notify.htmlsql-prepare-transaction.htmlsql-prepare.htmlsql-reassign-owned.htmlsql-refreshmaterializedview.htmlsql-reindex.htmlsql-release-savepoint.htmlsql-reset.htmlsql-revoke.htmlsql-rollback-prepared.htmlsql-rollback-to.htmlsql-rollback.htmlsql-savepoint.htmlsql-security-label.htmlsql-select.htmlsql-selectinto.htmlsql-set-constraints.htmlsql-set-role.htmlsql-set-session-authorization.htmlsql-set-transaction.htmlsql-set.htmlsql-show.htmlsql-start-transaction.htmlsql-syntax-calling-funcs.htmlsql-syntax-lexical.htmlsql-syntax.htmlsql-truncate.htmlsql-unlisten.htmlsql-update.htmlsql-vacuum.htmlsql-values.htmlsql.htmlssh-tunnels.htmlssl-tcp.htmlsslinfo.htmlsspi-auth.htmlstorage-file-layout.htmlstorage-fsm.htmlstorage-hot.htmlstorage-init.htmlstorage-page-layout.htmlstorage-toast.htmlstorage-vm.htmlstorage.htmlstylesheet.csssubxacts.htmlsupported-platforms.htmlsystem-catalog-declarations.htmlsystem-catalog-initial-data.htmltableam.htmltablefunc.htmltablesample-method.htmltablesample-support-functions.htmltcn.htmltest-decoding.htmltextsearch-configuration.htmltextsearch-controls.htmltextsearch-debugging.htmltextsearch-dictionaries.htmltextsearch-features.htmltextsearch-indexes.htmltextsearch-intro.htmltextsearch-limitations.htmltextsearch-parsers.htmltextsearch-psql.htmltextsearch-tables.htmltextsearch.htmltransaction-id.htmltransaction-iso.htmltransactions.htmltrigger-datachanges.htmltrigger-definition.htmltrigger-example.htmltrigger-interface.htmltriggers.htmltsm-system-rows.htmltsm-system-time.htmltutorial-accessdb.htmltutorial-advanced-intro.htmltutorial-advanced.htmltutorial-agg.htmltutorial-arch.htmltutorial-concepts.htmltutorial-conclusion.htmltutorial-createdb.htmltutorial-delete.htmltutorial-fk.htmltutorial-inheritance.htmltutorial-install.htmltutorial-join.htmltutorial-populate.htmltutorial-select.htmltutorial-sql-intro.htmltutorial-sql.htmltutorial-start.htmltutorial-table.htmltutorial-transactions.htmltutorial-update.htmltutorial-views.htmltutorial-window.htmltutorial.htmltwo-phase.htmltypeconv-func.htmltypeconv-oper.htmltypeconv-overview.htmltypeconv-query.htmltypeconv-select.htmltypeconv-union-case.htmltypeconv.htmlunaccent.htmlunsupported-features-sql-standard.htmlupgrading.htmluser-manag.htmlusing-explain.htmluuid-ossp.htmlvacuumlo.htmlview-pg-available-extension-versions.htmlview-pg-available-extensions.htmlview-pg-backend-memory-contexts.htmlview-pg-config.htmlview-pg-cursors.htmlview-pg-file-settings.htmlview-pg-group.htmlview-pg-hba-file-rules.htmlview-pg-ident-file-mappings.htmlview-pg-indexes.htmlview-pg-locks.htmlview-pg-matviews.htmlview-pg-policies.htmlview-pg-prepared-statements.htmlview-pg-prepared-xacts.htmlview-pg-publication-tables.htmlview-pg-replication-origin-status.htmlview-pg-replication-slots.htmlview-pg-roles.htmlview-pg-rules.htmlview-pg-seclabels.htmlview-pg-sequences.htmlview-pg-settings.htmlview-pg-shadow.htmlview-pg-shmem-allocations.htmlview-pg-stats-ext-exprs.htmlview-pg-stats-ext.htmlview-pg-stats.htmlview-pg-tables.htmlview-pg-timezone-abbrevs.htmlview-pg-timezone-names.htmlview-pg-user-mappings.htmlview-pg-user.htmlview-pg-views.htmlview-pg-wait-events.htmlviews-overview.htmlviews.htmlwal-async-commit.htmlwal-configuration.htmlwal-for-extensions.htmlwal-internals.htmlwal-intro.htmlwal-reliability.htmlwal.htmlwarm-standby-failover.htmlwarm-standby.htmlwhen-can-parallel-query-be-used.htmlxact-locking.htmlxaggr.htmlxfunc-c.htmlxfunc-internal.htmlxfunc-optimization.htmlxfunc-overload.htmlxfunc-pl.htmlxfunc-sql.htmlxfunc-volatility.htmlxfunc.htmlxindex.htmlxml-limits-conformance.htmlxml2.htmlxoper-optimization.htmlxoper.htmlxplang-install.htmlxplang.htmlxproc.htmlxtypes.htmlSPI_commit.3pg17.gzSPI_commit_and_chain.3pg17.gzSPI_connect.3pg17.gzSPI_connect_ext.3pg17.gzSPI_copytuple.3pg17.gzSPI_cursor_close.3pg17.gzSPI_cursor_fetch.3pg17.gzSPI_cursor_find.3pg17.gzSPI_cursor_move.3pg17.gzSPI_cursor_open.3pg17.gzSPI_cursor_open_with_args.3pg17.gzSPI_cursor_open_with_paramlist.3pg17.gzSPI_cursor_parse_open.3pg17.gzSPI_exec.3pg17.gzSPI_execp.3pg17.gzSPI_execute.3pg17.gzSPI_execute_extended.3pg17.gzSPI_execute_plan.3pg17.gzSPI_execute_plan_extended.3pg17.gzSPI_execute_plan_with_paramlist.3pg17.gzSPI_execute_with_args.3pg17.gzSPI_finish.3pg17.gzSPI_fname.3pg17.gzSPI_fnumber.3pg17.gzSPI_freeplan.3pg17.gzSPI_freetuple.3pg17.gzSPI_freetuptable.3pg17.gzSPI_getargcount.3pg17.gzSPI_getargtypeid.3pg17.gzSPI_getbinval.3pg17.gzSPI_getnspname.3pg17.gzSPI_getrelname.3pg17.gzSPI_gettype.3pg17.gzSPI_gettypeid.3pg17.gzSPI_getvalue.3pg17.gzSPI_is_cursor_plan.3pg17.gzSPI_keepplan.3pg17.gzSPI_modifytuple.3pg17.gzSPI_palloc.3pg17.gzSPI_pfree.3pg17.gzSPI_prepare.3pg17.gzSPI_prepare_cursor.3pg17.gzSPI_prepare_extended.3pg17.gzSPI_prepare_params.3pg17.gzSPI_register_relation.3pg17.gzSPI_register_trigger_data.3pg17.gzSPI_repalloc.3pg17.gzSPI_result_code_string.3pg17.gzSPI_returntuple.3pg17.gzSPI_rollback.3pg17.gzSPI_rollback_and_chain.3pg17.gzSPI_saveplan.3pg17.gzSPI_scroll_cursor_fetch.3pg17.gzSPI_scroll_cursor_move.3pg17.gzSPI_start_transaction.3pg17.gzSPI_unregister_relation.3pg17.gzdblink.3pg17.gzdblink_build_sql_delete.3pg17.gzdblink_build_sql_insert.3pg17.gzdblink_build_sql_update.3pg17.gzdblink_cancel_query.3pg17.gzdblink_close.3pg17.gzdblink_connect.3pg17.gzdblink_connect_u.3pg17.gzdblink_disconnect.3pg17.gzdblink_error_message.3pg17.gzdblink_exec.3pg17.gzdblink_fetch.3pg17.gzdblink_get_connections.3pg17.gzdblink_get_notify.3pg17.gzdblink_get_pkey.3pg17.gzdblink_get_result.3pg17.gzdblink_is_busy.3pg17.gzdblink_open.3pg17.gzdblink_send_query.3pg17.gz/usr/share/doc/packages//usr/share/doc/packages/postgresql17//usr/share/doc/packages/postgresql17/html//usr/share/man/man3/-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:40270/SUSE_SLE-15-SP6_Update/8d165d05c09df25c4c2d8289f3249085-postgresql17.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxdirectoryXML 1.0 document, UTF-8 Unicode text, with very long linesSVG Scalable Vector Graphics imageASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)4quUxпJ\O!{槴 < C/fa}C%)T3 g'J챼ٝ_qocye$igPJJgO=E%=;zE꺭1Gkg$V!Hmf!l r.N$\9s2͸$\Uy zuW/ESUM'~\wO<E:^i>5ѮASĖ6nZ±FJK G`pG*:8b k#'xu8C ۔kB&rv."xdiR}}Q/V5ִF0Kҵơdcڠ" ,Q0P '9`2dyEP FoSqwöH**-zUB3^Bh*6v:ߔ̂<wiŚ-H %l6;y|f/2oD%췄Ԙk>U0+QyY+ăAR &bdJ!Reuf ^ |NwWBK1D3pGKͦ}񠟲: X( /v;ҜX!"# sQ5p95 "#}+^E+}?QfpX\/7h%N$,F%]⮹I)3Ɂs^`_# *Dp9 ۶ mq@#-d_cz);~5Jf<l}Ufe+JdE{Wj9Թ!!sm]]N+?@هjVѪ3I]HuFK xgS'&ƒmC (B~+I#G1_/X=H$FV|8KΒtj-A oo% 1?:;!s$cw9q<]qu#9g)=HdhLgpxSD yDӚľaGn!Aխ<wzB,?Ռqb#<]S.͢p"k^e{tBy&I=2AYJ1@Nq p]:;ʏV%ޫ~ԕ?15̶LGnV$tl`]0% ^d{.ڍ>~kKۅ(8PAHt5Co~E_&5*h wԷLtpdvڝ a 1U|K糘9SYkP͋>(՞"[Fޣud5ĜRNHk*ܱ>BᔛI ͏;-삑e<`@ގ*66;2+ek. T xd$XdmAyR,Ld}cχYwue#/nGW"YY D!ʆ|N6bs6}&'}ˠ6M~S't WAwSek-leTY@ИF61BnXK/VˌdҤ]/n@ܛ^td-Z^ *Bƚk8 M-| M=(VfEDž'^Dsacf=tYDuWZurB>@ĖVm,W$zܨbH*̺ᄙgZR}]f/ sAv~Ib -xrFѡQ"66ӦJJ p$ &{cN4~pƪq8B'I6Wh.hV ޤ jb*ff\ƏY5U܈%^CP89y>0ZkI{7"(5oF|^8[yAq:^'m0E>%vhvmd|EL ;UPJ43}8n;x.ҩ|BCeolcceyeUk ib ))8ʑu"}.?2A|*eo}ߦvG#uFX_30Zs{G&?bxèPv8Qn j0(/x)jӅQ1fP7A9ɅQnS6%'eZՄhg6h ;l@$]=`M D;s!c4Eq&ttrUacL[" E7f*CN^m̝% U-] +*kPe~ǥ*8f*qɳl<|vx1)a6NAo|X;8gG\w#O߹_VhMdz6rm?1t Cᅛ{z bVB#dEAC5E ᄄ?dvד\- -Ǘؙ;Ҏ :-_Q0uD"w 5(iϱV@~5m %*Ḵ i$Om6vPOZABZܘR˵0TS`o/@`Va9K:,L$5W/o T`;t׻*LD\@R\ҏzz /"d]dX$9n5bywNi W37E=^9ZyHwMNsc?[ja^i~ Qp>В}=7MYkRE@H']Iađl#ڱ$ }PqqP|x7kχEZ%ld+a|(?_tDcF[˺+ؾ@C3BOb!':-yk#sҙ%-b?Š朩G8TO/^vcqNkK: p)wO/4S$lDq62)ă9z9Zb uәUkmV"Vceq;^~EⷃAO71 =[#ؚ' 27M?lx6OW`҇bг*+.%zj m(T8N1],[s3J#W(:!cLd@fnyl;c֘?>܌@N>Ͻ7:ܨ1uwR ?˃] ^QHᬲbKGam/-HP=>03A+acOtn"r|>;U%Ly2ǔ DG&:Uk?b'zޒ[m]4.Ԡjt?[F'=5%N{FyżlvXL8 R+%L!r' Ym p=CWe{@DJ%? )Y]2]gl,1l8cŏ讖ciE9#/h-K (b. *5 ¤ 'p_:8+Ά]DW0[,`U 4**Q{T?8 Gл(ǒ:N1T~_朴U ے0Is_߆iC@1oZ܋-dQpn! fSGz({u|7Vsqy?h1V V4fM 7Lh~pNs*vɛCI/?k]H΁Yc ߸d]T nW"~ç"f&eqikTr q{w RXwڞ`PybNo&5Յ:hг=Q,gYA _T_]p󻈧9.o!Ds- ޅGp g f^ޏmUuPm-#ҝe0j`Z z > 2=Sb("0-*,F |{ E9xf_he$0Gɪ_iX. 4dEpOW? v}׾ru $9NמC)r sȀ?v"kuǦmM{E%.. heN ?- ol F*m%uPyF3L?4 YvP(:h3'{dGl?e g>pe3՗na^QLw4WF͂s%QW䓱Ǎjj?T c1lkj2P Şp,/|>Ab|`g~XRp\ mhfWR-W,+UFՑI̎b4D!^O;6u$kRĞ>?%gmۤ{.o, *Z˲UwQ*`t!H*!3ǻ|nJml\:z2J;хybzMXb5Ρ(䕹hd3CLuJjnP "EԠJ ~CPx듑N.%c( 50^SљRT_I,L,㬽?[qD Y\,6}V/,BfBDJ=uŦ>+nwq\haM ]B4ZX$#хCl%C;l? } B&0uk(da;/vx43kt;<>pr*Š)kz=]tSУ1OP YZ