postgresql16-llvmjit-16.2-150600.16.2.1<>,fz~zp9|ڌkG5ڠ'q,9[?}./E<soy-tkHƼWjW7ܨ6Jύ }qҍn?h5,|WF! &rzKFS>L*BvUs_-7cζmܭiH~Ԍf6nyZ!%0{F]8kL EH :HNJ"Ww: ވ&q匥S = 1+Vޏ"a^O0-ļR"W/XCԝ>>q4?q$d * Z $=^i HH xH %H 6(H ,H 18HBXHWHm(mPH~p~(188494:4F6GLHHlHIҌHXY\H]<H^ b;Kc;d<{e<f<l<u<HvMwNTHx_tHyp zppppq Cpostgresql16-llvmjit16.2150600.16.2.1Just-in-time compilation support for PostgreSQLPostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, sub-queries, triggers, and user-defined types and functions. This package contains support for just-in-time compiling parts of PostgreSQL queries. Using LLVM it compiles e.g. expressions and tuple deforming into native code, with the goal of accelerating analytics queries.fz~zs390zl3anSUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Servershttps://www.postgresql.org/linuxs390xpFBM'5\BlY8 hl H\*3L: 8H! @!L0`pS)*&\5- ,l31*45(5(57+,+.$.27)B.\2([@('h 8l"9|;dG<344 ,D,'|>LD'$x;38 X"[NP@t\((x"&@i9BpKO9xL1| hL)X`p<5$#PpO(WXMfB8|)PB) M-td|+) 87P=, 6W`KP@Z+,4Ly6H*!|x@75X$d#l!@-P])@5< h%3AC m@NgT@h/Bx?d$;Tutl7=h&44Z-&t:NB)P. CHZ`544*P\,9;387e0+ !FPVChhdmv1HX&tOh4-d0@, 0(8*! H%Rp2lb|C*CB"!H#D2DE(0~tJS@\$ +$t>ZL KgO dNl14(x' !Dko`"5%X(lL240fp)p.H,G46C`l\ni=NJH3xDl8&}f\+(ihDLp1p?`P H $<d|Ce6dN@#x;7@c|H$jP:X$Ve <Q!d* ,O|A(v|ZRJ#kt*XքB!O,'""|*5\1X+x6 laHF0q$,7Y'\[$"x&""7 -/4*Z,90\< 8@[x*lL3%d)fT\PH7Tt&( x1- FH=mPbGXx' 6,x*<b !0@< l/<\ZTbB|Vz0`|:h-l!3XYޠD\.x(XYi.hT= Pt0b$ $<-(M"tN@@-$fT1hT!=HL\\V`?-0[%8%WLyxR0xd? xM\N\0Lk$P`Gx\,'_PڜZ<31lY<2|(8,EA2.( TO85P)X-F'h 0`C7+p+0b$Mp%,`#< ;x2Bhr0X, k)-3P.,A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤fz~%fz~%fz~%fz~%fz~%fz~%fz~%fz~%fz~%fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~5fz~5fz~5fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~@fz~@fz~@fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~ fz~ fz~ fz~!fz~!fz~!fz~!fz~!fz~#fz~#fz~#fz~#fz~#fz~#fz~#fz~#fz~@fz~@fz~@fz~Afz~Afz~Afz~5fz~5fz~5fz~%fz~%fz~%fz~Afz~Afz~Afz~Afz~Afz~Afz~%fz~%fz~%fz~(fz~(fz~(fz~(fz~(fz~(fz~(fz~(fz~(fz~(fz~(fz~Bfz~Bfz~Bfz~5fz~5fz~5fz~(fz~(fz~(fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~+fz~,fz~,fz~,fz~,fz~-fz~-fz~-fz~-fz~-fz~-fz~/fz~/fz~/fz~/fz~/fz~/fz~0fz~0fz~0fz~1fz~1fz~1fz~fz~>fz~>fz~>fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~fz~4fz~4fz~4fz~4fz~4fz~4fz~4fz~5fz~5fz~5fz~5fz~5fz~5fz~5fz~5fz~@fz~@fz~@fz~@fz~@fz~@fz~@fz~@fz~@fz~@fz~@fz~=fz~=fz~=fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~6fz~7fz~7fz~7fz~7fz~7fz~7fz~=fz~=fz~=fz~Tfz~5a1454a773e64e97ab744eed8d56e6f077052fb053e2740065889aa96cfec5f9e46bfb51955e035ee85c4851f222a317a63587c78dd185cd1cb5db958cf22d76f07602f9ebdae9954835a0e9d5f68fb2eb085c8f8526cf95ae6a38d8e48038d27dfcf11586e22a046d22008c4db65deee5ae49e20f8d94026800ef70b54e65cdb0dca4e29fdf3ff5572bd5bf7e814c7268197fbde4f697397fc029deb44a41a2890551f18fa3a529715e45db30b0e76b2a028945247170aaffa2c50ed268e15a3d70517c4ba60897dfbd3e48f172f56a36e67e1439391cef03b95e79d248d296e5e42d48af4fc9de474bdc97342623adbae3b570fa0937680d37bce2c0442a8a6900858efc478adc7a66f8cac00c0b3001fc46ee769210a86bddec2adf263a51d2ae53f2f1c2eed5c63e22fa191293b9e836389dcbcf6aeafb0cfa9402ade5e505767800d54ca1baff5332947ba6a242834dcc9f64fa79ffa482f7c0a072c9c7554ae589f66198f61bbe33b8cb64dcb413523af00ed5e5572ac6a5d2eb340744cacbf91ea433a91bc62aa6a5609893d666f03a9b9f595175efbcc7918a6a3ef90ba1e927324a8cd8310c597fe0ab38476500dcc0df41283feec55ce823910909f9a10555071fa3481e8f42121a933b093baae61cfc30e6cb8a619945cc6d0098c9784763b9f155eb7883734debb42419a2bc6f97cc2304c5cbf4d287907e722e0b938b7304959997c55edb48a398fa7d495dd15b1f072e9c73f01621eaeca94dedad4b34fa9d20d560aa36153cb8c5c2a4aeaa9b85e696acde96ec4f95e74c3ce42bf525e11f52da0dea9da3893cc33f903e22f9cc0bb8b6f3f45bd6e017db345e5b14aff21708aa0bbd635f64eea660969c35ab2d967bc066dce49e7fd9b79d422ca429fc4fdec52532b9c8c90fa996ae612f3fcd341844a70add9c502f9913f6c82e6caf3c720cf5f8bed60a2e4a770ee87ec67be21dac6a8c9ad294f5952ba81e0142cc6759eeb69779b379326a47fb94320ab41fd85b81f7c00e3317b9448c9d8f36d5d92eaa083a30ead13842760c71f0b1cbc3a7c93ab8db4fbf77a83d85e746ad5b619b4cdf25e4495722834d43ee45b8395c43d62eb59e26bf0b7f09a33d17f703d2759df577b6c8bc12c605143110194677618754ae419744c06ead93a5a74026ef8b314e0bac924b2bbb6cd15c70955deb5ab7e93f0ca1a6991629862addad489a925c3817a52fc96e63e9a9f3cdb283f1b3235b98d98d01a34f96cd5b418dd22ee549fcfb17e370a294bdb1e9a4a8da09c64b2023af0ac7d6618613b53ae30bf23ea0394f15e895933d531aae50dede96c4b2e3f957c557389662a79c4989a689d4456c76ecaf8787502ad98b615c6dd6dbc51b8784e5988c4416a69b9c3f8452e35d32ac35971f43ecdc728f33e29f75da60047c5e1f8cd887df50f40863630471e3f98801280895cffa4eeb048c1187ed791fc1f4a3137dab949a1b8bf0dbf85de91fa3689a192b66884e169233bac17a6b0bcdbba57e5e2d8310fcb545a20206b717965c1495753e538b6a2e92c51db828a3842544e8bf561a6dea42c517320427c86b88fc0ae15465199411cb5f971a843f75e585ea3faaa0837fe3b87ba1dbfb4db6d7d682da47e4227af72f6121d70e85884a16fac8fd8dec2371e6b77b7e291d60dfe9bb0971e036b2dfba421a7f1016f6acd1c98a89391d32e346b6d814b100daa2d16f5d1fbdc7c7e1ce209fb02aefa285780a3c229b594925feb859201e064afcf0d8c2241f161c53f0d40d544da4f1efaed2bbf52ef71ec7db5e04afb593abe5e048272bc9ac7a1857f202fc1936a0383ca0fed7db2abc1f4fab7a034cffbd850fbcda613a537f4de04832479e01d4cc2486b6e2c4a1129e6d8b8b0102c8013ff783920036f5d03147e12ca2be861aec09f220f17f4de10424ece5e71898b0023932707b4a70064980baae7b684048a6519ff228377ff5629d06f40d0b7690b864cba6c4240a7a10dc7ff6660c3c62f316362f87794122d5b0d89428eee6a1663a9977da77e9a7d1ae8416d88d208141be8c73fcb1abd3233912430fec247a3d347e298f802f70bbd27b8fbc49663a4c53404dacf7a43987038bd928fc5a67583ca7c1b9d7d2b5bca6e38615296979d2dc718b19965f804f0a5160ee7ab1adcc6862b2f56cd3b783aba13de00a41f261ec4d795453b843de27648b0e5540ed1237e32a38f160de34699a371945b87d2875f0ce60f8b36c4d0e8e1d3ed0d4d7cea37442b5b1560736179e327dec54d767b6a022ec2b544b6dcd3727209a1ab2e1194e41ca1c30bb76c2d3337f4b760d0899c09b38779dab0f3824cd6a58552313fca89c065db1adbb3d028e4f1cb3e6d45a55ba65b34e5fcbded7ecfa9e95a81f41af435de3ab3725def1c567f686fe5963be08b788d229264fa8c96f3c6f7535cdd71b77ee282602a32392b62d3af3271b5f82a67f36c2b7dfdea7fe46f9c0adbef9d8e8364f9d96889763df5f8e19be97cf1ae1c1415acec417e60c84c02bd0d6e71e9cbbda318f3a8a5e72abd81c76842d0b3e9146c47b46606d38d605b12219d44610b30a61981da34508cf706c1bc6eadc680af7202b654d42a90a61ff9a5e80584f2abac2c7a51021eb9b0c8f191c15c37a2cc6791c264426d59e967fb78018168ed57fb9bbf9daea3c9d5b6c6d51ec19aaa3e2b43f091fcbeeb899e90228d19b90530c49b0e12f668b9cfe097eeebd8d2298cc79f888ad47958e4ad0768a4d88185d5043f0368346e5fe05ee892c937debf1e58aee6248d31bc4792aa6bba3c310a2e691453df42c85bb995d00848cdf1a9be0658b11d7affb861c4df3af85fa34b8b68ae18df4613ca4feb20e4763d568f066cc770242114a9f348e229d2462e9e495832e84cac5561b656f5af57a4bd7335614d576b98a55cc1f834dbcf7ff76d3f7bed9b539ed5dc11185710ebb2b593f3065bba3c3b7691f16d4695ecdc220e3440d27fce501f818d532af8484aec586be400369aef54cfe77c1cbe7dbd4d55105c0662ac72112bb0dd5c4632a70d9daea13ddb4eebf71963d9bedf8471e91542898a200e58a870536732a6d082ada4a6877ac007bf86510cd28b1625f2d8dc4c7c6e5ab6ea089cd6ba8f35aa73fcbe1d40b19ce692f0e237a54eb07592561b881373b813d12b7c887fd6e92f81978376e7865a7095945a596196cfc482edd8be15f37e93039a85116a2b451b4f0bed419eaf36ec650b837b9f124a83f9999d25902a90e41ba1d71ad49f94a22bffbc64947e0e6b39d756f86772968615963c4a5ccc9042b60b7e6ea921cf82e877a43191c5f5405ea3d22bccc0f0fda7aea862d3f46995cbdbde8f396aa6112e5e0403815f24c3d38f5b4baeae34e6029e58c5b5e3cae1794d531947ea975402fdb9e04f7d279935b353a0c00243189af24a34e02ad19b6a013feb14437b49d13175e8750ff825124614125d93eafd225d617e3707d1a93bc35549fc000e23d92c28f6fa7ce1c8a40d4035b2f16ca140d7bc63a6204a8fd36ef3266d9e9400d76c16c3325ac7ab73d75fb465054dea8e589b62703127c611bc68221ae1e28bb60f19eac46e896ef4e8051fc6dfe3255a951c73bef5d7cf3cc60c08a0eac88a8c1c1450b7e79f85a1d5a4b6a59f03bef46575c6426d5a4ad2a760033d629ab709dcf06ecf2897501eadac5b84a941e992339d9e03e0948698ef2c7c02ca8e22dcd70cb74095bded04bd718a5e58374b9db804b843d8e544d944fb337b36c2f8e24fc9fb6abec8052141872caf1298f3470bf1ca7b889530c8f521f9b7072fd4a2c94ad39c1b5d14b8d0b9d6e2cc8fbd4827df1418b940024f97db179df21e451b26df9e1cf79d1ed57b89b8e360dc3015f6aec272e24ab02da88bd6b2c76533bbe7a5d532c94e0e0d1386636ca7ff9f43d957081583078bd37544871885b2cfb7a8cf2393aba89b84f24b8904e00a8f20ece15777587fdd60732de74146eecddd4b5c78a6d82105ad23603a2447e7feaa41e0a93d6c31a7116c6518b8f036710d1df65a33c458bafa2ed7bcf087a32166db056a74e74f0b7e5d60bc6deb964b485632db4b71f84992832bcb14478889b8a81ccffbdefd5b8b4a369ad7696dfb526c8e8b5cba39895862e2f68977fd404a3974fb20d619311f046313efd7af3a43a3d58aa88d571ec14306fd8d7c7a93318906b97c888e6b01c6a8b820d8effa3c7c8bf49c82ba7cf40156130af897ea9c1894d5fd8295806a98c0c0113623663f5eefb9db6da49c5468e57d0005687e04dd397f81b92e5bdfbfa227970a75f0f6a27d07fb676c72547893b1619e4371ec4fb757b85aa041171b4159984084d0861c284e14e9e6555261712267708a255d4d971eb611aef9e217eda97f8367ef7169d860162a173320f3389f965a7b57c6a85ab0457347b33302bd72630b0e209af1229a892c62323a3fd13991434e8593f7471c22867191e8903bcb09b2fc228bcb3fbc7469331360d364ed4a8204943a92bf3e6e757924f9b48a1a2c23616b4b99cbde03c7af913fcdd1f6d13cf7f36f90b3bbc98b1c112ca67a7cb10d553bc2454a71f5657ee7be8cff9fc6067336ed420b05aa29283bb0d80d4b4c9c5954ac287def8f7387df2fe348418b36860fbdbd10f686a2102b3426f36231fa4e8ce4c025ecfbe0630755b529f188808aee98c80370a064330625d63210a6a0bb9cc5bdbfc819b03f69ee4d8824727a0f89feb9afbfc675455b68544b543bd3c11eda1450d7ed7b7199c5fa878a5050870d70dcba8caf00f9dd8d7b02296258951080d99cdb342c730c6948bb9eec0254c79d08e753073f2083c978457eccbb8849e917d2dad82ec4f94b59fc2f25b2ecf7e8c8ebea5eb178ef22b2523f562c7e6e3172e0242761472761b711ea26e0ab0e42e87e95e3a3e1943d09bd9b2db7dd01440edbb0a7e1b0050f84754151708d7ebaa6bff6c1c40cf8e3f77f814625e40298a6d6ab2e72b769f80e2e3bc77c69dd27d6e2bd0deb9c8134c3992d01e3c0e0337b05f5fe90c48342829b2e44b1f2a2ddbfe1a4cb9b76f19ed353e4cd44873baebc01c2e9cf8e97823cff7861f5008c8d9f60fc30734f7f55f5ef4b3643068ef7b2a8ec5a1a285ba3896c92161a61ff6c6be660ede6c5ca075d5c0e7fed12b956d71c6d80b7fc53de6dd0f4d0f2888b61141b5d0b025b163ef4cc7e19a4499dac65935f9410b10eddd535d94418e5f7e5a0fe2a17cfef4e0286dcd05b9a10898d73838f959c8f3080b619de9177bb81df7b9b9ab2641b12555650dad49a45fb56db8595d195fa6a4b0439971629715e5e404dfc7dcd436b0b892d9534738d5c07861d3585cb574055e804a38b2481ab741b39caf7eaebc3df1fb3e481bafc6d63620ab8a17913105ac418f36955a975b32125fed673da6016f042ef670f68c3fecc2631ee3559f3fde8d05e08ea453752910128ab93bbaef0689358bc7a470f65f3ef15a7682d1d043a398f33852f8e4b96e5b1709065fd0085011bda347e1b8a1979faf927f0368236c3472a04edb9ba4ffca9bb95c6e0e2c9cf988ed43a52c9ac1d3738ff3beba2435eb1b65ebf101b0f6aca513ef964c2099415bb339cc78a8129c6d74902b2af0aec46d022722d40067308ba795506342baa002fe45ce16275d1de2573d9f67df9222e4e9a15a7ddb359a70b31a1508352e98f809a4ad9b6463cd335c307f2e4a14b9b9c8b56760dd86950a62b7d60b048c098df16759d99f0b68caa216c6133b514a9427b96daba56f64b04f5ad5c12fb6c6a39490e5b13e297469bb32536f0cb2c6adcc603a7808401b28c247b117693d744adb1191b3f7ff6790e57f01223ee6c2d43abcbce4ecbede4a75eed116a8133b0950b87575f436dd5cebf5439225967e7ddc7ee6119071fed928b40edd8fdd2407a44848e9624ab6c0129a5d6609c34a5972a7d77a452b30a36604f416877bcebd08efb327ebb476cae8fe69bd97d8a6f6312ee705c3fab18ed41a3bd7138677d104234a030f580ad7019b6d760b749c44a19feb64c43a27ba6cf9c18681c9c8d66ffd97a71ebf5f8c406219643efbd2081b2f282f10b25d1acc5bee33120aa479108df9cbef8940dd155ea874db92daf0fc09c0671db52bb53e6907a9cbcf97210780954baa6e003e6ef96b7fc6616b31e34900ea046aa9f84b4ecc2d2e09d2cf015ddc8264c16a4cc382ed2b133ac6daffd7c8d7744e671932fb4f4c4aa1daec983d4c2da82e6c74e31f7a887a51e5f93a7ecb71cb63e884722f8d8c1fa3fbdf34bfdbd3d816c12e0408b03a0c552e6879e45bf34c41e27880f39f7b4e30c791b41e15584a8041bb9a7a827f125f78627f893c4a85e2009dbcb2bf88c6d1706a37d69a3511a6b51a7f38b807e00a36201bb8e37309080019c32fdfcd74bf798003e1a54dcab9f058d5cbe42d9918844e09beb84cfaf1e0a726fe149a1f9b100c9f039995a1c2b70b3cd73688dedb9634b1f738e86c0e7b208b2b78b9cba527cfac77eb6f99331643763fcb60d368719fbe11a179a24495b50562d59b9580760222c7bb697beb9c2dc07dc2f7355eda5376291c390de3bf6a7df903692036082fd7c0bf5d07af077287637bd2397e299ca9ea601de4fc0a1fe0b751ac94986e46e33055fc081eea910026f24cb6f2452aabc6053b83bc51b4cda8b137b0df9d6deb8d2d1d9fbe9ccd7cf33865dd4d671c1bec146ccb25605456e8a732ebf8751f54614eb369a0eb1dc54a765f4642326744abd540cb43d55c6cab11b8b98cc83e323483f867352b4eb429a5f0e1d6e9d85f6ac8d7e3f521970f2ae47ad539c35aa3babaff1905d267ba625d23a2cd543db142ccd213f6e24b41b59075f31f89b4502772f096760121b4c2b68e0eaf64524b9f230c66ef768e3865681c2f85991d9c645c620dd0cd2dfcb0885045c516e698cee7725d4cd66d4d85cf129d49a04f6cc8c2f29e0e7af9a93b67ab8f0ec716354d83ead67b190be5ef5930f8052029e349571b8888c2fd99a84c34f01942e6f06d40865230a115f07b216b250935c835056cfa0162d4b041de26e05b2a3b26f50a3cd694c33ce067a42a3b1558e5cd0809e43d0118de1cf7bade426b4154271e2ef3e3c9e73eb0f796537d5608187f44bd966e14891052073c70b114f66e3556c09abfd90f562b74ecf581a3ba9b504f678a67390be6e8a2143ff8a7d77320a3f2ea8bbc8b5591ecc29c27fa38ac9348f79cc75117534c84e287b6870d181678342b8596ba7d749423e9c0e5f965793cc2977aed6a1d51219b7e45b1cde86734b8ca99f31e5908a4227ff4ad030d1f6eda3d7e728177892b5e669151db84ac22333dc48b8372e8087a16cd6c1922e019c690836ed83ba0ff6a5a6bd6bc38571fc9d9afead431063b490b5ff465ec0be958588e0bda8d714e98c085a34b5bbf4fe5cd890159c53471054169e3cd3d5d0e3a4dc9cc7e2ba998581ab1d9140738954c8435a4bc4969f2b83ca6a1b501d3a9a61b9bcefb092d47ff877d687ab919414e79f14f366f568773fcdf2d0277c9475f36b78d9720d72ec95a93a7a1ea024198a60e09e2844da3f0aaa2387e2eec9480366d8cc694b513b9000c16cc2f43943e744435bd801dca1dea2a25f54f4d1c7c446198c5a60e5f27ef5f8250d9a83f6a8c3a26b43064adf3ae4dff2ec5055f009d5418c61bb25f8ef53eff9ea476ceffb87dc835ee94fd58ab55ac447cc31cbf43c94a3c44cff39336137321ff18f70cddf871008133c188b20dd820b6abc672f26ef7b64044d5e59b3d8666c3ea25aecec6c5530de9a85cff26a74985e89a021584eb9c1d2012a8f87c09c7abe0a0b95b2d23744b4e086b4cd6cbc70e14926d60b9c772ef4830381e566e9fefe493b46ae0c18b98b56c66d271b545329cdbab684e7c7fedda7afe6987f04c5ac537ab3f351ef9b07bceafa636c1ddd1b6ff44adece04d76d2a60e245eb81a6c3379f7246da471d807a23814deddda1c7edd8ab3c82c5a96ea6988e82846353556ef909bf77b2b177452ecbbf043bad6a82eae2d906f05f07c1ddc3f84c9ece7ef554b32c3eabfd907eebce85534c82c9737e64bcae46a8ddc90e184b9fed53e6d3e303f4a03cb1174dffc55c6a64bf5c1d6c8056fcb17e9939fd51c1937ea6d156ddeb940af00acfb39a73d89a6347c77a3e92901b8352f3f310fd3fc4584020e2570832c8f95d2ae5293a69b490c50aa5608270b25b8b4e6821bef0311677e31e24d04b1aef64da1c3c2a71ecee9078706813c65741b4768a7d0d1f5ae65584d497ea71fb02d26190606e35c86906be4d38413447e727e492a15eda84e9a3a8d9921bfca61ee3d53ab058546722651e47643c189ce46f112c9c083abee60112905fd83b6c6db89cfce2eec0e8f826760dced51ab886d993b7893d756de3038d628fd51acd8d06581b0081c78e55a2a414b2a70754dc720d3ef5c084b7f694a4fa7a748711a3052ac3fa1a209b756b9de60c3221e5433ff3d78e054435960af73fb04f85b57e8f29d9cdea8f85e7a62c658be217a89e5534210dbe0b2666689f4a00a764d097d8962f990d9684a32bb1557fe88308f7566f03c2907432d6c401a8a97c02588631f0cb69186dbf65b2836e54701d3719f2ea098934611d3970f40504292468f842724fdb5d9d06f3d3369bb576245e540c5c1cc1b9ca0062ec66355c666c43f9b1daeaaa2e3c653b78b0d75a350894eb9560bdfe7a13ee768364a14a53b60b82ada1a09699923b1c6f7be25bd13c3fef8ca30f37bc8597288edb8e30f14c392c9cdef8feb283014f920e068c3dba97708e5afa2632c23f701652872a18c620edd598f17805cdc883e63aa41fa923d920cb0ea2baf81fc6f267587015695f0c91cc4d40e514d7d6fcc83159e4ba0e3d8cc8cd59fcc3afea76ceddfbd491c6e5313301c2f5234a832ce38a9458b48086b2ea9f7b0db5a1a3017418916dc82aa697a7b67c96e1c02acdf745d2107103688959a0f5dba2a059cf6740466ea1b9d39785fb173a40c89ae8edc25489a2d1b7eacc808aa1f7fb94bf36f19406dec51517dd363d64086bad34b0b018d2dd74af54d92caf73a78ac42b10c5b013c12ddfdaacc49b6f2821aa8066d51d87640432b88e78fdf1e5812d72012028461de907b7760fc514f501bd8f05a99e197bc70a7f6dda6bee34f70fdca9c9244c58c6d99aadbc6ebc299ed659025f7812185f395de2ba46cee2e4b5c4773832a6bde2a2b35201d20297c9966b7687380ac9422c2e9ef2a0f9b74ccb5cdc9839e75aae9e6e8aab7974f277721ff8653666c728fb9917b1977465c21190db0134dd75e5354b9ea9ea7a6060cc54ae6c01c8cc201897970076f10b91e3879cc97c5a628ef1c7034b162adcccd03970e907e2721dbef9811512924e66ecb56a08ae3562cd764f6f7eb51eaec28b7fdf784c7b96756c8bae6b9f161808baec425c8ec2af34124d11523512204de1cd26b8b7e531293c6ceaac0b81d2f1067b7436a94293c919284dd1f423bb717e569e3855bc45256b21edc49eb89861bee8b1e444fb48073f96318c857bf6f4d44330574f4670a5e02c4b99854c84dce11c6495dbe2488de3c4321bdb1bff34b9614468e3204c3c01adf07f019d1efb895a7a68aa5f14700783839ba7cb8d7e050a608c01f7bb31278274e3babf4283645ed75711f0d467571a01f31dab36bd4dbf1e8a8c8953bc3d99e750571d2450a04f608d458a0b123b5b33f7507453bb97d8f1a6198da66ef1a68afb5088663549ad33b14a4db6c7edd95116e8f4a9085fc13694293aba8b90bb9915168b6e655ce1e60486ac017609e2924f830b9b61bb09a3486644e30a138540a0c93e89e8e9e5b81d132058f3dbac4891bcd075b11170bbbac37ff79fae8c7165ec83bd67d1450f75ee504429fbb268e3e836c126e7f227dd1198dba0127aaa8ba2e945428a7cebbfc63468de972aab7f9d893d6abc0803d784fc96a0f84cdc8deb3987fc8d20bee3321774e3abbf77f20fc76242e3b869cf327b6d3ddb68eaf6bfa32e5fe768d49c0f9571c500a59310b1ad51eaa096d95c81ecb2fb3a5f1e750a461c1b6e2c23f55771ea04519c6c4dabd81815bf8d353414e901f50e4174cf8e324d55d087fe22f8d78f62dc75c5185469e1fd9cb849ee890f273db3fa28e92093f6823c689e6fa4b8987c5de191d660b21aa298a087ca6331a3b9d8685ea1f30e4ba7e6bc2b80b56a3aa28ac2f4bc92c7d1261bd842fa44a4013e010cc122e32310b7de38a251af24bd54bdffb5d5954946cf46a15a791c094dcba51f2518fcf04f36c634e70d42bbcf9d375be18972714a406645d6af838251e6398f6c6afb4753a0fdaec3e8236def2df1d9b83fb2b4b80c4172addf1c7a16438c5ede0d186c9c30e3aec5f26c325bfe4becb14684ed0b01ea087997b6720155800a0e7232142039e99ed2586c6dd8113f21138ee6d1a2c94cec9bd69f7f81b4d492371f8b3135eb86305e579f1abea4df5e968dd5056eb15e625161f56604042692eb390929987ca9b5dbcfb98d95f2cffbb1adc05a5a632fe5ab11ab6a1dc5f72bf2309bbf9272f120f05680c9def820208d5b80502d8fc12c5d644d05b093dcce9d3af74eda50d9e04b8a898b9f90767a612f5518457e1f019ab05346459bb5a5a6fc901172cd1b0eb2b689cd04388ed136b9ebe70d7720f34eeb0c0433ddce8a93025ffa5121c932e0ef363f118a19173881d23c54c427c9c539bb1c41c3b4d834c31c558125a25d56aadf129e2020dfdf148113dc47730e3607ebad000cb87ffc70faa10a6e3c79c884b6fb9c84132f9854054213fec5a3f721b7d0a272b1bbda3b1ad347f1796389c9430f3fd7309c55ded3bff5657fb2507f091b09076f65df8d923ddd98ecb1c36ed9ba0fc9ec2e9550bb989bd56a8d8489392bba7660b9132cee848d749260e9e7efedcef3595f84549f02884a716c4c68e4f4101edb1e6e25fd3f5479bae4f42ae29f580fdece9f2a1cb3de9c4eb431799748a9d2bc9e51bc4957821c31db6db9c789ae707bd03b2adc5d87fd96dad69b18a72b3ddeae8d61b448b7b43dfde3354b2716523c64a74495542369d6b1e928a80d14a24ea1f63222eaedd4b5b6984e5650491139aedc3ed51ed4acd9a3726e0e30fabfc02a3ec5837c7f9be27db53f187713043956ca4d4eaf02dde4f5468002ad4b529e228daf179da6ee97e0046757484614fb3c19556dc7bb334d6b93ec383627b35feba73efbb9265ae4998f1532a3c0dc8532369d780ee95b28e74de2f40b8b4546a3ca94d04d4e9ece661134776bc0df6e97c8dd4b72ad68a8d42e496cab55eee3eed8b8dd6f7d648345b197cd4acf5851e3e3440476b0c75909b07966c0471e2143f6dd25ee86ef22de3405234c71842286cf385c6f883ff66ea95d5ef1aea5b8a57f59d55c47b6c37a0d056e393a6d74a3fb71ffb67874b17be62e322c7cd4ec65e4e7bb6d9c932f11288d947e11e26f6936068e04d3c742749b85789435575f4d9e2b8787a44ada831a7510af51cc4f8f5c01901fc531fb44514f7c2d02704499db08ea383e592ea20f794cf68e7ec48e4fca76f76c1d85e8e7518d327ff5e66739367df77214573e7d495c0a460be6c9d276ac1dc76fd06e1bf38053697450cec7d253bcdb06acd650e592410b4b5da1e48bebabf3a13caf3670f8a98cc7b372b391e4460d8d59c8a227aad80aa96feb4e2421fc69d07a4c9e789cd7f61f39253abeafa70053bf363bc0010ec25203bfe616615caaa5bc57e77d67ab8f8f0ec3cc3eb6396f7e76b607ad00640e1af08890f275cc1b1ceda15bbbebb952d80c02a8f2d8044ffdfcf89d1642d40b8c58ee9660d147d0841254b86608162f2821664cba1ca399d7a656b0ac914723dca6b45369cb5607ff67610b00ea73c7650a828af061576fe8d55cbb69dee569702234d67faae4ec59e43181fa3745e85ce3b317a6294f23694ad9d4ade6821c41309f4ece79942448b265f56e340a913d272226e0d9e906925e966bd2549425a62c532726eeb20a78accd76203b9a2d3f2083ebfd79170f2024d08d19998d9be4c1e2119d2f6687ab5fb417580455af8eae72f1e6fa11d6241f64e846953d710be13e0f5faf3b7643be94dbcc37166f104b3ffa78ce0f2fe77ca8d7d2ec9bf40140021f02096f3f11384a0bb02bfabea2d66dac2caf57976492e6bec73dbc428c8db9854f9119a69644c376ba90db50b6ee059332aa5b081e1ac940220e6f4d577d62146bec55c784056b9f3339e42c0a43cc8718d07dc92a95714fcf4d83d135d823ac4746c6beaf6eb3284b3ce8e649be6ad8760de85d01c4173482440ecb9accd082b5f7ab8755eed701bfec32507d5eb51a85495e58ab1904d761c9d995c7275167e7df26ee743b3c339a8b76ac32352ee412c10a742ecf757cb2d653ee1284fdce2476faff28fcdb14c46df41ff93395fb8dd98a9c6d8b457bee7ef529bbd30141adc6a3d6e51a8adbf4d98b3947240fdf8fe78a7d86f13321d63eec7e82157ba088b9a07406b7f1d1ac4506f4a22cc9d6919b2d480be2808a58bb80dc8e0a931283b64b78ac707ba5047259c3bb07579307d1d300c1ddc87a90089c7cfd5604a9844079be5ff81e13c6a446492ed66686f7237612fde72e59f3b438c694c665224a1e7e2c18e21ebfe0bfdce66e957aeacc49cb19fe16947fcaa876e6b2aa56513bbc362077f101cf7d83bdfeea4e1ef2b93f9c5fff31a327eeb03416c6798fc58d83f2b64ee8352356083dc0f5d9b3b9f7312cdc610117fbf8ac3414d9d3459cdf1df3647088b9eeac4c0b288dc5c777bc2546c533f2d764873c65dbc7cd9abff22dac9eeaf7fb1a91ae877519aa390ca6b8c9566e652b2fa1819d47287affa14aacd9f89f1d21aee5f026878b67669291ad5f4795a48177f8fc5e2cc58d16a08928e94b59df6b712ab63629dda21947ed2d794044f016c7cdaeed791f39273e665a58c3f240941f6f4c1bc009deb45fe9aa2470c0de774612b8a8d4a411d9f494815ead261037a9d0d470a5b3d53d9753437a662c3f534211ecc5d870c6000a1338a70bf6a3e542281657ab688e420211c49520a98181173dd7cec278e3fe38d23601ea8179ddaa5dcd2de43ecee3d2c8fc057f73440fe698561c6edef56b8c4796b9ffcb08c3565f6179619b11876029a2cff15a5d0262a15c9a1190d78c448f3d45dd64f6d99e704b8ac9eacde7ec38bfeb07a4642dd334b20dc34b9d3248022ca4ecdb5d9003f1a2dc73c7886900b4667aee7d7b1eaabeb87ff8d44f1577d252aadfdc9c38e6c8ece961fdbb539b5bbb3ebd9d5d24172e1f619bb61371e633f25f2c521025a52fee7926b07ce2cc1476b09b598d98b9e031c67995b189dc3727fc69f01af77df0bd802f38498acb2d50e94ead75e4c98ce2c6e5151ff9064dc8f42a2230ae8324c84bfed9853a87a080b404c5cc98c8fd1bcc1dd191825e13ccdc87dbe6ab773985c0ae4f3a47b180c9acf6ed3f31b0c11ec67e56cd173f88082dc3ec51150d92c383b5e99469777b7a9701fd6506fe4ffb09de470db81c2db52ab3edd7d81bda408a2ba25af791d30f15dd34981dbd40829e2930a0da915a7176691c6940dba303d6ce8f3f20762c3c5a12793bdc79a0f97046438404e6e867b0ef85c2d9e2071af951b05e206849477879a1355de026de202a40fb221b47b117a962eec0de52cbcea3fe587ef09349c64a951cf9efccb9d0d7781dd032d0467e4bd4eb2491b3031da5f60e6ba439af1d68869d7457009c64b6183172854f5adcd5cb15eadd7affbabd35cc4206a2fc87c715a0b88c9b8cf92aae54c5c0f7536800734f29fe797c8274eb222a161e5c045fd4c92235c75d93ac51a2448924f1d5bd03ead1d8d0f630676e54de2e2d89a187a9744c602fc82f1f6b76ec032696470b565b6e78cd831fd41971fdf3e249bba864a5bfbd31db87a6e0e74d56f816b2eadbca6a01db3613a5a7b47181ee8c617d08b0d7d7d8e2300936301ce577f00945c249d7a865d7b34cc65cf3c3c0093072d286248fe537f3b289ae319bad613ba1dfdecceeed921a6cd651aca03203fb4cd19552e11c22262cab804795b7510c934072f5527f31b141cd037ca74f63eb2692969438414edc36b1a3cea8e124e8745996d981be289ec0dec1f30d176c6e21fe7c8cdb747bbf1cd039b0b1a57eec09d742acd0dbd2631f48d7c6fcdace7b603a440ec21017a24fa20e974f1bde4404504adbe8ddba285e04d87129128907624335490d1b6a9bde44f7009f6a4821f45633b5feeda2dbc29eb2b93c2229474ed42f2ec615ea7e96bfc1e63bf7cead8fa9ffa5f855d8aab16e7aefb769d92e83575d5a9540cab09be8dbb7907083c50b21fe58542bf4972ea9fd5a13e1afa4db9b0ae8a2599b34bdcf6c5f0f6c25b5e505a07df4828551389bc4e7806eec194d1df643a7abdbb5637d72a2a2a8af6fd631ccf626b59c67014e262c385ab4d09d7bb0f7934b1865c9ec90d55993cd71d3ec2f48dcf09dfefebd3e6a62c928ecfe7b9a95153a3e3e16a13a913f575c2d1fe5ab724983da426922aabfbd01c395bab7da6fd4997fb85741c44aacf113333ea5c46e0c86d1b5ed866a1e0ec490f6523ec1e0cb1e7be4f305aac39aef3d555477c7c17d0eb2163809e007d1d0440c44993eba5b1748454cfa56eaa6462687220021df3e1ea19f61e0d95832cf0c6676b0757a60833d891c62113a9d150a9628ec3c530a1af7f6bc0d5ad6fef32c31e4c02890b22da92b95e7b50dcca5bc28e88bc25a003156aba503094f3faf16e90e5e545f070b6a6ddff48dea2e3dec8f713260b4d0cde2460ce49a1e4d0532b95c29a92c0553c53589c94086a4f3e782be8b9c1895f39f0fee201143e504a56d6d7e7bae408d381cefe8faf73be159de3cf5ee1e5defdd7498f1aa05ff435bbfc5fbc19e8b7dcc86d20cb4a8f96b88fb50037330532732c2f26e824ab7d41f24296c1d72441dd96936f58a81ea9f6180735bc13eac3d2f5ae200eac6d44a63d7f07da6992fd25ef09a67defad6db5ac9a59e1e9ed2618705ea1808b1b44e2f76404f5a12e04a9f4f7db6ea8d66ff4f4740d7d9aa8c7d3eae21e888a13dbdab099cda56e0be5788c5db5a42bd0e8065f26beb7c12891918c0f4e71ae2408969b037255ea025d2932b489ceadae220949087516d161a5e114d9563ba8b50c4baeb7b7a6ab3425486bcf1929d9f6151a4cb72f1b0eec2f15118709e1acdfee1a3d9c319e50ddb85fceb6effee8ed7439c8cc7789872b16a12371ac0eec8c7dd023e98e1e90ed721db04b8e57fb93f49785d68303a175213fb6c3f1286d732fd2e541740fca785028b8ae2c2ba8e4b76da5c8341bae213c167a32c996cff4b85f2993f396d3dfa07ca8dcc15586c7cf199cfff0bc1a4fdd9ad578a5ac2ba23085bc1dec59f151f0c5fb4b97ea6a49b264fafbe35b0a6d8bd55524fc877586369d795f9baaa9213c2fc594468e177fc7679e60ab37462155bce594da9bbdef638ca92e365a87d4bb541b955fc975226469470248c3182b6d02f33f53f50d5708e78bca1871e5f25cb95428bc9cd8781228c94b71abd0b837651eec5bca85d17136e8042f4d9a83fb0c0cb81839236a320ca61b88f0ab9638f513de7c39cce93306b3c4bf226ab62495a7fdf7b53f9a822af798de7987b01db6f3aa0b915eb2e90baa7a44cf48b5fc2b19412a5bc2c92aa1688dc8c7541efde2ab97235c3d12e6fd9fda173f06d92c2984246c32cc02187dd0be3a01cfce54c4176e20800f050a8037f970eba906c849f47d2dc562914b3f9a5cb9cb4494556e80be051ca2c09485464b0a0a6628e5f4d50c5bf348e53cd5e3ff299d5c40e70020baa7ea5d478c4058a1a58b824328f72f718a87b99f6444c39a83242447a111355cede1574ca8b718b9c83c2101f3545767ba98cf4285c8a8b68d632c0631e200e9a30aa9083c8513a7fa0e9c2f1caba24667f91034cb3fb588cf6b703ab3572c6a19ff33817f6911a2787c18ab1fcc849ce6a8056cfe524e87df862e8581dd35aad31e5b9270c37717a34615b0c197e53104df6ecd66e5f0d711941c1457ce7a195e5cdec697284980806839638d3d9b1471f1ba9c998d701325922e50b65b816ff83ea4a808c46ac46f9d94b2c1e313395e25968db0601af59d2eb49772362bbc2c458b2f31eeb4054fcfe99739a17dc068d6d89599f4248a1fd400768ea45d816eca0b1a7ef66366dc1ed8cdc8e6c1fccfa82b9b87f0127e676a02557ca65acc08a92fa707fd06cc69be38abff3d7c3184c9e0408dff66ed9a5d81a0cd30d409e5fda8c17e55132991f4b68de421c58b468b0bb69b9194a1994012fb6bf4292e67c4c8258bf3834ffaf28768f0b184fb2ce24f68794eebfe4da9ffad19cec2d47985a6d4543de15697df14988d5d8e3b24d2110f5a4c6c9ce58eee2503fa2d5ef1960fd791e36499e1e47aed958e8795e3d724faa69c6a6e0e36fced50d0b7c6a7cbba939cb2fa41a88eff2ec0b0ddc68ec8d6333c432dcef068eb9831da9cce418e4bb683207dd08e76bf98b8d2c8c75207be459e3d19656f408efcfbc874cb165011442d7826368d17b78a6aaccc21ad5122cc08e6c31209dc36132e238434e51fa34c1b8c7f1da7b1be3720b5e0ddf3c8762a7aebed26590f9779835653b2147b865352af6ddc2f18615e978b228b856a0c5575bd598e245dedecc3cbaa33720847ed75fedd9334cf147f97e12c446e7d717af04f7c7dcd36807b86dacd9778e88af3af6066c3f8c5e8640d835f054fb1d527ddc6a86069030fbbb5e862d78f996fdf4237416c4ad8a7a7a425873bae6052d023da815a875b253ade658266654e6bce8047bbf31a2463d2ed41752985b4ec51e568457f1798c49cf6a9a65567022b0c9c3f9ab85e2dd19b741876ca6e3c4786dd89deba185e322036231726a54362a995a3a54e142b9cb460d38a90cf6b206f746ef566b61dad7cbf75e6b7fc046e5a2e77045014f0b47bf0711a838b2c584fa4f2a25dcd614faa369772b0e0ac6f40257780cbc91739803f2d9f9d5e731de6858631cac81b00b76695e9715eebab9ade3b9641b52653a73cc4f811318a1e31b04d64f011708d3b13d565bb3e2eadf724d22a69356fb785af0ea036ac73a988b41bee3f4764fa2b8b3b0a99fd4afd26f7ad3059ff5c5495e4fec50d8142c185483835bcbf673709e81fec95e0fcb325b4821fd990e987349b516db177ad86f300d0149bcae997c622fcf7fad18439bd001ba264521f199daed68bb00b16056ded668bc93e4c4aaa07919505957737f12e79eaf5385d356d993c30d32371f7e5346a739b0e739922b4f4f5861ab080c2dde337918dd47a34dfacb72ccfe64501bf26183f29b3ce5bb59a47872631dd093575a2d0decdb5f702305c6cc0f6b70ebfe046bcf777d5924903fa23ec2679e1e70a4b7be0a7fb3ff14689dd0180ab6322582a87730b773269baac439f2c7c3cb21f0d0ce2a44917d53dfd461640e8ec444868144b305f12874d39145d246d6f271888c90d5a5fcbfa435db623b6aa9a158413af143eae3a0754afb1a41b1e753c99b7da1828a9c8609731609f2133ad4cc68b5c9d3756be170e469f263ae9c3d4db93c147ce96a84ae7290a86c5a8df29879181064a5386a9bbcec5953686f20300fe7118ea2bf722127fc31b4a0075c9901cd73c75142ad88efcef8fd0fb34ce374f90871d66e1fd21149bcc23a5993fcdba7eb7c884eca737a7f98e9ac92362ebd85d02679f2e8066e9c68e3181595784c6b3f370fcef054354644ed4d715c782da0aa26a1d6c94a3a0347955ea9e8ec6010df1cd1e6f1493ce7e14f45e10137eccb84d5063279cec1083746e2554aaec991de818a2c4df5967f210448dc1c16c77ecc684f95b1830464c7c39662dfed9dc527974b1135cc89ed7211f7ec2e02db13380382d7c823064e283e32fdbe247fa7554a70cbfcfd1b1dc2b58da39d399fbbe751b0e82f0c0655d7cf7ebe136d4fce9fe53a53f088db96c2bb64b89ef69b41182050bc0f3e495e0f424197b02a2bc9c4bd31ca88a70fca8500e51825938a5bed64550a5a6b5ff33c9a6c008f68979beaa3a385dc28fe13429252bb9aba97e197783e2217286d860a785fa602b7dedae34648a86e0308c210957653742048714d4aded7527a3a8d6c66ceab4d4d0a5f66675cc1e34a7f18d9a34479f61bff0e8e3971103e63bca72bdce369d1db59bbe32fea8d7befe209c1f1315edb7b1cd349a585d6a7f2bc3751fe46190a954a91b3ec0bece542867f113d5b652a2b4869eb5cd2926a43f1e0b02c28acb3f1bf20ac87a3a24aaafcf309655e9140e323a09a86323aafd8231f2eceeca978d3bc7c0c37b329e7f863858e6bd2d1dcf55f20eb25e663199de0cd5db9106a3556e9c6766563eb60418f751425a29e10c5425951b6d885f3a44b4dba56560e23d7f2482c99ff09e032195590730b6a5464c8bcec44c993ef4edd1bfebd7d889e33a2a81b91833b9944f4861981ee71345aedc93d1ec3cca99504674847d82760675032965bc07123a76c6118a9e7dfa0a663307a42e6ac22741b11ff78f136ca29777d4a41e3988afe1eee17cae259466306a5db7433f771d5d4e61f069dab2788cfc44c6ca866a5fd43829fab90e3f150820968b568d83480b12d4e9a6b8edd44220fbd814b6a1d2d79cfc394970159c42cbbe37da323ebeebdd22655fc91c7913654d34e19f9cf70c4729a003236841ff8ad6a10ff8ca213c417fdcc300938154b6160ddc05920f9b3b5f57c65b47c597f926831c3df6bb183be7dc1d88987560c76e3d1d7a3dc80a6958cb331dfd20df5804e5a0b0783705d88f59cd682dc175686dd6454ab1050a17f680fb6c2008ae99469132f9427072c1bf7e5697bc7324b5dd7cbbffff9e74d0475d042728dd918555360a6bc21ccf6eeb9a5eb042d3bc6dc7270e24a1e76dd2075889e8846bf083dd2b5c81a2ab2e71099135e57cfe5d3b64414a2aaf685dc43cb2a781d85d09cf39dbb1b22a5600553546e3624072f149780e6b2ae1201929241df6c39662759460f9fbfa525cfe7ecc5369059384cdb811de07e1d4acba55b49f54aabb25375c3a55b9db590905851f3e8e4a6a1d68fd9b75473f8f353de776268149fca8f807b131f1a1350e602a587f861295ff4558eb1c39c4a3ae3e1154bd267f704f49e195c58be513bcae9782bf56080e2536054b244f174011f0e08346aa950869736bb0b54f9e4f4a27234751dfc82288a2cd11034779ac06683fa63ecdfe2c2a19af6d068913ce2baf22bf979dd8dc14b1844c7a5a192f0999e0bbed7b6d2ff3229ed3ae61cbcd82032c015c85dee6e1f88532e12bf456a9afc966e372e32667509c82aaedae57ea8ebe58b81205d2502b903689f28854c6082a5fefb8bb2a8c01cb1e3749e3e6886469f0424889ebc6892cfeb5c674bf088c01fefc6d02aea58f159426e802b543af88945c7c9327c3d13bb5aa577aab387c14211e8944c93856f98e0410917193e4f2c2149b62e0cb0dbca0ac94c33a7f5c5a9dbf45d7864a45eaebf2b2635a9e85f82d02afb4610df389ebfe4539ff6503fe3ab37461531979fd12877c0056b766ed9365fec2f8d06a65f813864d931375b79fc8ea912a6dc5a620c3ad90f186a67bf489490547cc4d098038aff0b9df9bde0fb1e738088f1f4343208552ce058a96aa4c7e402777646d342ca39a163042fb63980adf2f77a5c720742dfd70d7530ceca64bc6a2dbae8d519bcfbe9197ededd4daa09560c16f0f71cf1bee9eeb72131192fbbb1caaa57ee9e472c438bc71b8c49de08a17297a8226dda08de2d8d3114ab54bac457cd35f17e5dfc09879d9589b49f5780119b6dfbb56ebcc9506a94fcc973873fbfe1cb3b0937f4a0e0c39fdba8d03a06221f7131161ca2284897927e891f297822d73875ce00353ce559c7a33a2b83a4f9f8ef2bc010e20c6c30f743a6ab32dc719910a9456721f0e08ac38234664221b020507aedc8821c5849132504efe09212f2042a1df413d125403ea46c65ee01702dea9bb56732c869df4f5ce43fddea8de725a36a3797e1e51e4d8870bdaeef4624e3bff69e4283f10dbf9ab32df9819285d7230a3b01b4e500f0f28602017a95b956694b2f3955397342e954ddcef8f1a0de1826b68d1c6bc67d09dec0ca451a376590f23750dd136da42dad5056adb672f7843b22f3226ab2246a445ff612bb367347182bbb788f815c84c446ca538eb03ff792d9512ff155d0826923ff4c8302f651190c2852fc072740e28bf8b0a8ee801e6f56c32b5c71c6aa65cac2e040870357902ef639a00d161d1906ea474c25572165ec4dc30e85df3f4a280332ce0afbd1fd2213e6aafb9f6a72ef347b67f187974ad9497ef67b84c7a00ce1d665b43056aee0ec4c042a7c0ad9a24c94b3fb52138da3d50e045e6456bdacb8e2d31d2983fe451fd22022803a9474647a5b8f21a22287c12479f42b58ca88cdc1965a12036d3fa9ec8145862f1c3049d822718592db6a9bc6faa4a9650e2935486599885abad895a0374b7da59134a0ff390ace3d54bc30f9110c187b1d19caa548aa69079be45900dee24b25f493f0bb528b827c84309942d350d487c347191ffeddbbec9c6590114884381507851904516cf206db3e04c562fd94c3e7b5b583e93be134d9844841d7fb2dab3ba203ba59dbc0b905ab0cf678998e69432510d132c838c753f51d7fb2e615fedd7dfca7cf0c60b44ba1570ecdc20de8271af9ead8ddc30f8cde95b393d5c324b90b41b16a94e230c489f6338103ee0f412e79bd29ab564a50421aeb02dcec6831391423a07d15580b63a17dab0c98ba906293ca47e9dbc8faff0291002957df388c19696a9c47834066b5c8e8b5c16aecf5f529fb86df268c476518dcc9906d4f044bf6de68d40988ea3eb7a8e0baa68a7c90e4c821621127e85f70035ff30d6cf0ec1b66152062b3bb113efd9cf7523001a10941f08dd11e8f57e14587a0b318063470be061ffdc2ff93193dbff68f2864fcb3a6829dd5cac4c74da77864cfa75137cf84c50b2e915124b81930482e6a4f12b4d8c77c3d669c16aacd0ada9527f59ddc2a265c1ed5061d0c1b50ffe10b46eb998816fa6f718f68e4c2456f2d3773bee28ca43d84d1323c641d9c203540f28061408009090dd6ac9475aacf08d692ff45007857eb2f6065c1256081b7f72bc9d98237e8756199debe0e1888e9e8af52322b0ea6ffbd6e351652fd11f225f9fba3bf1f12bdb19cb40795b4a0f6fd179d4f83e41fd97238983c8e9a3c8c8747337b3c8f98511dca22a0d77af897eef79edf2b4d708e4d9113b21b00db18edc7423f072df63d647add3fac3deed02919e2406ec3bcdd6c0afc9543003132d13b0b31a8170d2b35d350cff6aba0e6900033e539d204491f6b00548cb78bff957946a490f9ee1b6f6b21f049e2c7a05863f14120f2336009f3112137516b1e10f8da0c03c4aa718a559baf6eccab655f9ef5ef386ba37160c00cfc44553f176660133fb37e864d9c103af15a54062fcee7d2aaf288a8bc9fd328aaaeb6916d5f87c1e67e6e93139595e80fe1c6fbc8ae91e3b7d3f4a0b4d47510326feeb5efa1e853a4ce66046575f85add52220da2e5ed034426849395ef392de5167e054db6089d77ae524ce0e61f92d1e34bc0578ba24b84cb708c705806bd8acee936a1b2996e4d782dfa659dcf21617b36b03487ab046da39d2aec26a1ed509edf34029e778d6bcf74e1d1a12ea7eafb0b427231d5db42170ee80d9f44468cd18801e76505280c670170c43267eb96e3d032eac3eb499c3526f1e01fa60dad9342fc1775db64d5f833392a8438a7ef40d37e77a425ecdb708b6df5ebb740c9e8e43ca25a6945097c9ca907f4c4801921111254248e53b63befcdaff8bb732ac6e147c52f9f57aec97b3ae4dbb39592a00efcb45b3a1076073df5b8e6e0e72ba3768bae493fcf9eafa2bc8c6cb03f6790cf6112ae991436563528e752f438c9b6a4b4be55551b753de1c940652d64379524b8c8f5d4267cc6f8422ad0c530cfc9f99d319e35895c997fda2c2332898e71ea773d3d7b8fdc30068b1ae9c46c568342af095c0b3c5f9a82669a9d64f7e86f21eb36d55ded4c8659542452962012c81b60cd4fb53e50f8c3a28c1dbf43a405da57a0dbbe3d20c3d0132e9c28d3d9b859388838dcbb73f53bd74d109b546bc43aeca4eca717ad9c6c590d05a4eb16789df2d3339a45e315f2311e2611a64b29ca6d9a7f716138f03e4a046932017a57476bc598d9feb184a26101d4c947751c62393fc1f703592f2b3702339fd79dbcdb5d7e162d781986f15a101379033f0fd3b2669879ee432e47ca9df56272b494d2cc93421b9509b1a4374d205725807e36562d95240b9422ca764098387b9f7e914fdaacb4d1b792855666a357a3f9699144241a92477919dff1a2f09835cedd04493641288f5f6f6c3f27d93e65693193815daf0c44e5c58a466dcfeec3856deb99192764839a85b734f35660d02e5d1f9e1caec5fddf6d15e6e1639dc92124dae43b0dd6e364cafd1f0fd08e812013b76301d8cb36949620fc1f30cfb9381d6f5a6d3bcebccb197bd3a78c6a32f87dee5422895f7e9ee1bfa8c5d1c424e33807b10c96a9a0f82919c28b1ed1ec8fa843bdce33886600d86970657f2658bf5e0e6167ac87e7f044b14911948e9522ddfdba0970bbcbc54e31b511b57462236c033724b70bd160356053a1f40f75a7f3bc31cb7cdce687af97bdea327da22a064b27a58583f884e2ec370959de90761fe53402f2bdfb28e5957b68dc465cf66df48bf533f1ed1f430491859ba781bee1ecea5679f1d67c4c714ac36b48878b9c831f05e8afe162278dc6da3a8334cfe85271134bded57a78557940f66df98ecdf4f36c23e1a4c868a4207c9d339468b302602c46ac1df4515d53223831cf8d2149b9fa6205b7884f0dd5ea410d1dab36be272fe4f1c976c7ad9308ffb66b0c1fad86f1f2b7f08da11a52776ab3249f48d7adbade248d76a54a56d5b2711e03c0f3ddca906458228c8c8d4e37c93947903f4d0411e88afc2e1850a5b80181a46aeb2071113fe36204b50c4e18ea5e0635695d984734c8a70fe17a4a917b52b421a9a9a8b167c612436692496c960fcd36f8510d3a7ac1bb5c56a18876be8fdf87f6fac838c55110147b2e873f11b66080ffbae2afd51997057af50ac72d07bffbfdb181c1c8dfe461753f89cb60ef4c6262f943e46350d22cfa775ee748ede4d505dfe58ec903abfeb3cc8ba90d22c138b8c777a4a18b8eed1b365f93b7efea8abad1f9a75e4c5d887059c631ba6d475548d7b565c073f9f74f6615cc75e0bd4c1d86e95da03c2e96a17587dc2e67d43a9a7c4c450fb6558b553a3544e4592333e9a33d88b11bc53b6e795029f355e231b91d7d222c035481082cb04bcef2677b866dd99e9d9271303f00b7db1d7d203c86458e2dab4ebd30ec49996587b61ba70ed4ee241b906f2970faf570fdba6c2e80a1064f3fb7c5035559d551afd9c0b6fd05dcd8f123404a4b5b79ed4d2cc4e51d960a8cebb9c36bf7597e32c9fa23cf62d7dba071abacc94f4fe02c796520fec14a1ec6c45aec7cb0da2fff3cceb3705a9a8bfe8b7f8a8ef359a0f8a4383f778456627916b5ed522ef18846f647b32b67b39941383816751ca3afa99881feae7a3c8b5792668d2aae0a55554c95d3aaf5491458a75ff162ba4c4a12d465010b546c9b2147a67b965eed2e6de19f2f30b98e2933c2c0e30e5774260733113572cb186dd5798ff8f9240c4cfb00c9612ab747087ee0394d69113304265af9cf83df2e1050a22a1ad50b26d9545e1606f8342be13f8b440803a13fe86945b3964ccabef10c933d85672163c625848cfc70bc8676c03d388da4f9c9728a5c0ba8d529a4ae54e193442ddc6a4789709fe773c2f77335302f6c7da8ecabb2126ead0269b3e76774f923cba6209cc1fe9ed0e8f402790f123d0106efbba1a5c370dd0b86fee7c94956cc3d5f87f986d509add8a3e264123e9d2b92b68f74e2ac7535b14225967e9231630c47267b3401f631cfe38e3ea35d59dfea58d78d6f9999e3120e539909fc3dbaa0cf35814847b5e346d03dd5f4a4448590e3be3bc3c6729bb110277ee89c0387ab0cfbc838304162681308cd930488dbe1fca8a8bfa7925e67997cede0f50f21e473fd8c593196c0cf920a497bed9a2dfe61ab534b7c48f390b8d1f6692c52fd0d7f2598f8f6e076ad5153ed2b65bbf6c37cbc7238a3a3d63e906ff5ba68f78fabcce6246c993f8dc826fec76921782ac4531b122cc27fc0ed02572e497da563550c3e12de0e6c85da1743ed29055372ee56f8b989d08afdaf0d2084450c759363ce7f381c9c595ce67cc0b35602a916dd9e7399846c2ffb38a880c0fa35e1ce62ab8a04cae4b50af7950c3e6e01436ab1fd0812d91138f68f566001e740741b0a9f05387e2c2fb2973c1713b8397c04a83010937d43cc87fd7977c091896b2c5ccfda574afa91adfd62322aa956ab52e95b4c4c76dbf15272cffbd49f4791ba0b41a32cc9d851022827e683b89ea6660ef959879a168d7cdae6a3e746ad6ea6066598e70626d4225d6d866c5b8c955249f75a2c7720084a5ba06ab4159838b675d0dbb3536b94e63bdc44618c85f9e797f65bfa1ae161c2868597cdcc4821f3ef893b2deda25052f855a7760db9a2aedefc171b71510a7c0982a29780c1e1ea4be190de92b78d89872e749a0ff276c9d387b3b2c089453929b0477f0b1df21f8ad89760cad5b14f079186f2a7448e96c6ce00afecafc86275cc56bb26b7016cdde4f812719ced6726213d0e0a11df0f33aa1ad9b32bb617d1ccb488da2263e11feeea936d7f7e6f39ce6a1a161c1730717cc1550b0816527c6a99e23bc77771c375d0efa254f1d240a3c2c3270327df84ccb87c3e387d11e2cd2dd7e87aa9d7cbac7c6335c76ded6ccef23dee3625e1f13a6fae60f164f3e3d9c2cb8cced90acfeed26b4cd2b0fefa1bf7eee0149ea31b84c5f9e903d5bcc88a0a7bd02e41bf43f35c689b7f7d6339dee8c4cee8ddb74f0360ad27af196349f355ab9b3e27cb0395fa9b77009597c7336b9485576a5241f156481ba015fb3cdb694120490e99fb4ac0f0b0305ea43c472926646dea9ceb4225d286eb1113c2f1e30f668ebcd3124e958a05c2f0542855c0726d58d3661ef28e259da69f80269bfd37dff63779c427ef2aad68bf792613fee726a79187c89c54ad903d672385238888ce9c61426aefc05947cda4b904041f0444b5d5bf4c7d60ca71890d57dc83b2b66b6c58221dd263a77d7b6740193b0e59aab7a03826287f5c8957f5933ff4b2b89560203408109e43f85d7a8898d465ee4812c41990725dcf4bb4bef893007c2ee35e2879e79c40f771c00d656c989f37865b23ffc7e235309d7ef3299e8a6f678b85094ecc30c5664b516dc08086ad1d0357fef84de78f79b4b3cf9827e75a4347abd9d67cae1c746ef6847b34262bda38ce5786db754f5111195b07d4a1d061593f18846b27753eea27c34dfbc3db7db57ec5b61eb07339ae685ef0d9753c8f2a7556bc2824e913f7d72341dac13540f9ae6ad4589cf55a37130363e1851b1f8c9b54165a5955db42d61d40da912ff18d78fa82e96798d97fbfee5e81d9adcb36d63c8a4b83af47161e7d4c18cd5f9448036808dbfb1f29d75d31360248e6c04b7cbd765ab2723b6e33da7641b8a30ab37b5197e2da8d4e1e60eee1b2b1083046b9188502097db038b7af9860ad75fa435409dd6bd084c9bae7c57823c9bfe0c810bfaef8921261f5bb7e3fea91cf292bd39840938c5790d713f8454e61d495f9cde9e28d607294d69293de7b6fd0a84e0b4f16c4833f198755fade7fac157e1dc706de28bbf980f5d4dbaca4b22a8a5cc0104067fd3eb03422262b3dc4a057c024be6752e0588547a4ef21b7c0f90770089be06484c9ad283c3d11bd5e07634a9c8270d6100f6a84c7fdfbe0842b7e47307aca173f2b7b17453675bc50a3c28725935f5826657f5683e44aeb768d6fb8014ca7d5ef89bf98b971fef8b36d2899e0adfec8bb8cf0dd78b09600e8b4e2b664021ba9f1f536bc1206c2c698cd13d501332612646bfd71dd7976dc6f718aa9c350e327d67a2f936cf65546b978a3d22e7c56e1906fcb765981bc6a6b24f9656ebed6a9f69cb02170bdc204b547de1b9c1a95388e71a3a301bf9423260407d47ebff342be681d9a1917b4a60574c293ebbe7f676618f0aaf84f9988e8640a744a36e541feafa0a5128384e34248df2c8eb48029c5296982305c8391d188fd9f51ef6597c0f80548aa8b338e384b72073a86a9b92dcfc16424d4ac02e311413e61259c444401d5997a9e38f259378b1798d294f64ca911695adad241d6cb4e97f3caefd285315950db4dde657ec524606b616e016c635fac224c4e87c8c422199835c238d0aae92fd7c78bbd461c36ea670f323223a983ba83f8c71629b28fef719a5425c2844aa905650b909df08d5267a01c7a9fcb710772f60215ce271de3020f2fed1d07bd5e637011b156bfec784eb73a8e84f6d9453e4422d89f02de5dacc737fc0d3816657452ee6b41e5bf6fcd3d4a63402035d04569fde3907f253b4e644f16411cfed982afb0a5f16c9bbf31e2cfff7e88b30df41529b7bda1a199a860dee7db5b67d7a636de6d8214666123328d50b596dc059555ce64e6908114a1218a20604b90329392fbe0c2fb3896d9c1dc61e3d1f5b30a167eb2bb61c42246e32bef135545b4d4f1119dcfc771934e5b23be058a05c2db9e648dd75dbc1bd7af92fd8867866e28f1d60ab1244d137eff5fb07d967ed5150ab0310f7dc7fe6ff20f3dac4a545c260b0ebff9579f1845e04cb388d53e8b4eb2f5a40e37954110a734a6650b2fd31c1f397b81affff1277a2c22c6aa4117dd05fa01c9144b4f885264a37892f8904482f59efbef12054ffc7b5269038313180518012d5c94e5c7c90c4a890886d4504bb6d8f46325cbd80f0399b36af3c13c6df0af7fbad15ebd25e946e65b19edeb674ee7cc90d3fdf87106d1630dc245a6aed3fe7724cd4f75d6c689e1657f33faf632223bdb161b4e0b7d9a050a67e10af47459ea24be6b7948d5d9e386ffb624b2747969d319f7ac61c848b064739e316c73e3e6c86260a1a426de1741fcbda4591f0a83e53ec63e474f074133f8676633564cb43e37ae1e526d5b04e4c82b728a3896bcb762835f5583ab695207c50e852a270c09ebc1edcf7147f778b15e11837b0331b86d2ad3a5cc4b2d38360fffdf49d9a64b6c47041ad257e1957687841bffb7566f8513c4ba0a97cc7e35960783b850e3c81d9865386a55d050f6123eb176603a81a667e3dafd188551ea042c731f91e7788df487cd7e9dc1a714710b4c6e49cc4db98129d3cd1533cd4b455805ba99d39f85755b051f60c418d0dc6707ecf4fa1365b8d62f3262dcc1723ecdd63dc294c9525f35507bce1ded62e070f164e5c99914c14ec30485b519bb5501a5f2d9c329b284000141d270493949851af2bd9e8ed54d8fd399a3ab275ab59bf14c17ed7087b86006ba17649bd34509bb53838b7ae4276ae79f2aefed2df4a6376285456f4ce5e9262e5e3992ec9f358cd6d5340187ec62e41821daa56752ba776c3947cfb8f6a30950e4faad402b4611bb9e498e748ea738439f98887fced08ad005f8740e2ae9ff014e6b72607b28cc72768fbbe65b78cfab8d853616c40625abf332a28bfb47388dc3e4c84e248d462f84d171d9a64785450710d689b619d21b9910619ebc3207a11330f67359db9c1417c6b7e1bdc4b2a970cf2b8609e28b55c3ecfc4467443c693379644f4bedf597127dcaf70037f43026d31c8bc9af0cdf6ea0996bf3fa9314cfbf17f50a565d9655d9bb5705bed5a8fd60a78800afe665b1329730dace2f7da4119eb67e3e3b0c34abb7d7cd2dbd54ba80949b2800acfc11b7c6580bb802cd64175e3c8ce6411b035274e74373ce10fb1c371ae19d047378b638f7e3bae8d29939c029f2b887575e7cfd8f782f12dbf412baaa0adb64bddb44dc0e34be7712bb656bc01afb13dd8e7344f3ef3613e79572daa47783b3681cb500d8c83f9ab52fc354be319483e9973f6871caac2245d5bf8f218724a21268ec8f14eebb2af49fe48f2506cab4ff9fe865d92577c7c3d92d66c23809753147c34c9e49d29e256cb1caf95b08bf2b30f8d7719a59544d9b68a062689ec3ebf56c34e75c95bc074f6acd5f18008ee45aeaaa4c9be79d3bd998e88e4c94602c8aadc0de3d508377533a70da1f5007e8c53a889624f911d27671dd4f3097a94d169a21d3bf3f63e2a4ac1abeb0d035ecdf0bd06fd7e8a6f1321240a8995cacdea77a44553aaa44d01be73335ac13a52574f0640ccd9c02d7f60453196a5d3ed421d0aaa29b7a60d44ff1a7a5613c8f09cb8ccd6d19ea94557f8d89ba70a2adbde2d39e90583dedec9c4678a2c97d3c2ff710fe0177d260bea2b4dd1eb39d1508905de05f1d4460c92c679b6f5ae8d391eb005445d18df81a2ae78a91ec08f06d00e4ecc48896c44ac8f404b02778cbdf95522cb39195ef1c08a39a0c5b7802af25203960545aa5d923eee2b7c9ae9bf5729f0d12a22c2fdd8a5adcdc243728809da760aec9a38a71d2e934572eaf5fe4e7bfa69ee5717092f3ab1644a81ddcf036b59fbac1ce125a18d1ce936d38a3b50626d54c7b775d3121a42119e3edf252d018c865843c56c19ed09bfaa04a8eb071067fc739170f880e49645a3333bfca5a94bf663b255690f54563081838caebf0b721f86f0868e63967f36fd32922e1c43bf0e3ee6ff157f75e059aa21ff1d3b2015b2934f9dbb78817409b28a32d639b9715d16134f0f6d475e987b47628cfc0ed6a22ffac495e4d7da1033fdeaabb3ec3412f3144704b642721832fb921e0a2edf81ecc1ca8d864e624f46d0989e0379bca424daf57421958d6279fcf92037b0f7e5c7c64f9bb47ce07fe620dc292209faa9d9c261c7ab40d9e35c5be33aab4350596ca3fd6794dba0f4250a87d1f4ddf6181d9fd67698483b1dadc4dfcbd6b27c44b7f91696d0e7b73c0ddfb23ce29742f0bc0c2c84751eeb52f555e469204cab1eb6e11aa8b5549615e53b53844a8043a85c3b0a7d1743083b295da4cf237fce30a08407370ee68670a8e9eb30bc9e85c49421cc9a8ff2b83d5f5eee3d13d7ab48118da50db1a861647e589ed570dcfb67becb29cd064a3430e7174f7046b00e282b27873ade42135a5e47b09705daf666496c6a7435e1cb5f73e3e266a98d855c570d87ad72bb6def9e166f7d9a3b39805ad975192ee4545a06dcb08f35e53d235fb821e402e77b32503ab8fe13a78d7b8c88e3c56322b058d4a8e1ecb4acde9dcf4ce40e046e55b73c51e92161ff43867f14c41f82c805367c8a9c85bce7e3f975f2cd5b6486a3b8f6a3fc1e1691d333b3b079ca0cc81e904e0a9abc457893ad70a5abb57d52410420cd9cecf5bd4f71b38dfc2d079180bc435f758358587b289680351100d144f0b195e734d62d3a790fe131b86b8bd4dd3c1ff9e1e6d2799ce1078813902e052c33999a8b4110f32abd3674cc2a7c61c2307ca9ed85eef5a76a9102efc08635e49aa788ee3c0d1509f054843e300d3bbfba8919f469e1bd86f10eec1bb9f28720ad5d10dfaa3cc865de829c270c5462256dbad73843eba008d6d095ce0fa4129569b8fece7e1f658a437708980c361094db0bf63011ffe6f80370e9dba13f7bb19b0d6dff078082ea8f83f5d0a8a60d269294790ad9a24a6197c6219d3f5725b05bbd5e9627aa7ae173e3ed3065d1f8c25588b8fa8ca4a1f1aadbe4ad512795e285f6872716d1642775e0fb86c8e8215b6b5f5d48379fb5de5911469b06989e2666cd2bad19a422785a184d87b02ec9f49c548b11a900d5c5a68816e6e038f71cae7e63897685fb98478a6337944389b634cd19d889e77b2f0f05795ff36c49283dc56901d391ccd8f63c6487efdc2d9f5444fe5a73394e4aafa2f87f35756e2adb3ca2caab48b43afa62fad25536d709d0fcc01fe86e5c9ae538fad5f1a194e789aa33c5f54c76ad0b4c27e950ec9ad5057bc023b21141a4b95a3f85c8c61d677a393048e632a0f6fc3430a7b084d464ae0e3944a15c1366b7e0bd20b2441e245779d757a798105ed9b675ead235ed28ea985b543cffe049818115673f27668eba42f5173a3c05555268a1685f63a286beaf73395ad328d6007d46bb515516bd882e2dcbdf550c6ba2c0362299b9dbd67fe9912dc275179849f49bd3c749668108ee5af9dac6b7a2de3eec1d8021416239e867a16b55ae037b227e321dd83290bdb08b00290a0c2d1d803c5b0605f960c388fcdadd4324a60826a03b3df47cf288d0dab2ae3fa0460acc6edf5aee3b5e3219c176f633992dac446c561bb20cca54335df93ca36a96aee9f6ae21daa0cdfeac76df37f3ef6bbe61829d1b9a91df6c0878a1846fab86930693eb20aef69c99f7861b67e3aab93a1107dd25e775660ee9c364b19b82938a8c4b2046bbf4da779393759996e40887f9c179d47a21f653c98377e9584885d038c7bac0e79b52355650404b2472ead1fa3be37934d7a94bfd486f62cf7432bb5697f2ab838a5f03bbce8503ac65c107d0fc3181ab250f92f50eb3130a740861bbc2271ab1e9f3fe71e1cf556860ab5519f42cac4f56bee8ccdded063786c895411b49f8bb1e7aa723c525861eb5dfd97406f2b8f50935b945c36df8be0c411888180f0da8af83cfb4fa2b7c756d080f7894a48cf472182bab96112f918113dab6ec0c4ff5d02cacc9bd5dc991dfd882c98532bf948a449e9da4ef8b82d0bd0f16d7b3bec11f6923a4d18c1660b46385db5a2e5a9a8724654a784874d1d19486914c4a59db97e068643777e28f5a352b4d3be368ba207768c39168836c9a0aadd3df5b5bcda03972177627a32730af9e8283d04bb63d8ec25142e4ee0689d8e542a8b4b6da8ee5d4d58a6a3f56bb67076d255dc61edc83f56209f68690055ae0a4310d7eaa909b60403cdd15768a184d9c6908fd3203ee7a90515469a4dda09900d4f0f36b566de94193f092102669da21570768178c778a4fdab9ec44a0c241c7780b6548102aa4de60e510c5e465492dd65052f9e739674da4a64922651251c5735ef5b669de2528371ab8fa369f0bf2ba74580ca575c18b8cea758fabf4b5686581157c0383fa752818769ba5c8abf9ac0b97bcfac617730a177b89324d5b3a3467c233f308eb1071af0c5b7a83ca991f1042edfd669ca4fddff1216c397601b4fa860a99c552a765309b0d5b8fbb4db22d03f8e0ac0d34aa1775c481c04205804f51e4ad2993e00101fe50f322a0bcda9d326c9879cc2af60b161c3fd33457c0adebd03fd3574c766e1b57a3cfdb569537e4726d0ca7b209d4066858c324c656c54dd1cd54ca7e27e3bc736ee5983360c926980cb0bdb467bca089c6059bfb948a7ec97904ed0d6053800b196a5617f1c538eb8b1a2911408be6f8a874744da1f093aa7bdfb0aa31870dec5ebb03182542d6ba2ef0cdab55ff071dd6bf7e58b606998aa284185fb9a234a4113bd898910f9ab2637aea18b7734680b06c0301cae3e9064ea2e8e021a19f2ed5da80551dad4a552a0ebd29224f73b7800e1b3d063e4aaa28a45d1de3bfc2000abe54aafd8dfec5023136896af8b16226f918c6417a2ca3f6f8a49965e9d9a3e41c79f6d89bc0b911c4f459f6e21fe7a04f55f3bc98b66bfafbead59ed368f66e850506e6f3f4e933c8b2858e21afedec9f9c76861b21868b3ce24ed1b3bab6fb5d86ccbfa66144df972436114b9e77b0a9ddfb54fb6627c9e701717b76cf6e0ce4c5733c50dd351eb2e256539a316c8ad2bb47129d6d7a4d072bc684b24cee5440bcdd599f8237285a2d955246e5e09982cba2c6e9c3acbc25794116f5ba949a8a9ab9b65ed5639bb963d23c0759aa05d8bd60873d2a74ed5495566e2d7ef9b52270a7d2ec8b90c92c86e4081741543276f3711a67478e5ee109cf0d8c7a0acc6292c3044f713727efbb4e4a75e0406e98c33e97d5f66423343895b7cad2ec958c7a99fdcfe74f27f0d77056081f3ad76016145f21c6f14738dcb6417c0685677f345f444fde2e5b0f5fdfef6b54b8d24a541cd751077ed972a1d4c6d8d488d21f2e0707a6a732085a7f4ca0fd6ad64911d55c8580a4d6d1a9613ce2ca39d6c6503714466e5f0904b9a438077a376108e86dc22f615eaa790472bc82a3b735b6af0b34b74f712a828461db02fc08cd1e2af438efdf45a3ac9e7541d2c0cdbf87ed54c3ba973846074be9eccd6778331254eacbf98e71e6eca793453e20dea0bcdf266027cfca0aaee63724ab8bc61a8f3b7a58e70f40eb94f9a91392a29cf6f056008d64260e0114aa65e7356cd0a3de2d5b3d1ebca403c17b5cf1cc9303b0193e74b5404e5517125ee9a8d40caa35002b3b062c854bc70c7195fde1f8c8e2f2ab0938da1aaf8ca71aa29f1684ecc9c49ff063142d130c30ff9d5361315862482820fb4f2e64cc08945ae46bf2ae4e1bf59f2f4acc248106e2f2068ae9ce2a9c5e0de6884f3a566524b062222929009bd13f1527538b8da03898e5963ca89b17d40adf72ac55281406ba8d8a035bf8f69b15381e319b8620015f4bb90e7012281332a0bdcd6de066e3b0ff559b6c971535d4ca21ae6a724436670d20075c02c94910b4efeb172a936a6e6c9e6a67d8a33a9f76800944aa0954cb635f648dfb9edd14a98bd4d480834e68dc9cd23e1132738a63632f74e9a4f11b27476d13df4d9864a2ba78dec60e6506301888ca04f00296855930f0a9a7992c923f4ccb82add03ba5f3d7b2dec37f14545d6f0d89b03573c4f4db43f24bb0d3f2e41edb6ad5ba7167e18e61a76e22e8c0cdfad19c95461290460cdc2181d4e52325c60409428e793de49904e233c8c611599a0f6e688214f7866581165055a8c163e2c7246cdd46650f573330250aa7b272236ae0a2b9a3f383c996e6473d22d1b3a05e467ba9e3db964c4043177bdb777845b676be97e08db4fc515a9cd21170377025b4115e072b520213421d998df040ff570181435dc3dff64541b163583711207525795d4325e36611ede47230d3a93cf7b83158233f0cb2da0aae30fb321252123e97e62425dd5815302027ed70317a3aef484826e32140663bc76bd0d7d7fe369daa5ccd4bf7d4a03173601661536e41fbd33873209d1228c96119b6918fe4f57e3217ee7709dbeaf1d0b13611248704aee0bd5be33b18a4e93db58ba18c887fcacd770b97192619708f4ce47214ec27e149033cee04bd4ad4e0c408216004db9232da4b6f5399876814787dc2ad5bd665381fbf7d4a78c789b0383000a386d0b34a50a95a26e860bce12e0ba3df1595040ee9dc0bd945a79b3761bf0b304a7de6c7b1d3b59c436c2855056a882a590878719a408c04ac5968107d250d6b19d20a6014951f61836420f1627d58bfbf061c001b2137012b8ff940a6854e71690a84ff1e6841d97e4edc7bf64409c1c71d336417d5069508e17707ca117490656106154bbd07cd9bc6c6a3f61a556d18bc250e8e4fef655672178be627e928e1edcd3c3afd69dc2c06642e2fa6fbbcddb2593c9390a58f7b446b685b95d8f745c4d02d13f7026e8b98b465948fdb974485cec0a73ddc0939b60422f537addcc215046126e15b7f9e30ac792126b1ef68d4b6e49efe6c2524eb62e1263d4166708b40812732175f8f4d682ab067d755d511958ef242727be98196ffceb280cf2818725b7fe6092a3f41801df8b4ee2441308ada65fce0275b48b69d09cb34256e9d2d752cbf413b4f150a2f8444b2a5fb2a596c7853c7199133dbfb79d75962fe2b2e221138dd3e21e1c3443a2a4788bfa49daa6ad08a8379fa26896b06655e6530e2cce360d581f8b1080f5fc85b8446ad65849320bf5f3d5cc8f4dd46632c9cf9949678d301b53ca3cec44fde3777c0dcd5cc87de5d323eb3a258a1cd0d834f77bb03ce80e7173de857574ca9ba9708226894dd781bbde4006330e0c0b46bdbfc1a946313befc1890b6a95e565df6f457c67022455616f58d11cd0391a94beb13bcdceb275b3464f11f15d3ad3480a6b83af397b073866ee0c60da9dd4f092d4c467a24f9f5b0c7acbd87f75809ae7711fc0c6c16c33b78e0389f783c76f14faad8cb40aeb37b78408e768d6b7785a24891100353778f28213dd22c5f8b1b9e98d86dec03cebb8adaa68c0c0fe13208614c5a16b6947ef84c81084faccb0afe5d509847d1017f1c1623f8e9b559300ac1c7e6dd001b0e68c9626a45b477fa4a7ebb25a29a5f1d5be78ab3d31539e564327fc7c1c520599d77fea3df790a9d1aca14d236a83f5c7fa58708320ec87119e5fd30b6e36ceef6098d59e14b9ec34d4d624d0aaec743cb94cac7932577986158db7f761c704de7ec09b47be2a43b47e72e2668db698d4d1d3003f7cdf785106b060eff786b69730ab388b6774a937b34fca78fb1c2677f6be5385d74a1a825cea7f2960d5c6af07dfc0867fa33495c024cc747f7e53942478a88beb3db82895877042772a297b7bfa268adf8e577729100286095bcda50969f53f90318cb134bdd646acef67599b52d89148f2546445a60c074e10990754bcd004729ce9b88bec49ab9bcc7411b4d9386806e23d15aa10c33e5f35e9bbf5083a9a2cca14d5b8941ec85d6abf04c0449de2913039f001dbdf93dff9a88ab4ea0201a8d31ccd8cdbffc1643131a864c118e3ce0e7061f5409324a057068127ad66c0e74d43e013d260a6e3fa47e2231d50a71d6943d4f5e0ec1b4ea3e596fbaf38a769af9c2b861f725e33f42850298e632e95b4813c92833e88ab6a60cf4f0d935ff34f53ea3238a8340217c4274196d3d94af1139d98cbb9d1ce758e84e27160f935600e243f3f9056c49d27c8c43741cd2e695676f976f6083a727a766898bdf9ec4f317c3509693a1b742964a5598880391256583b28a682cfcc943a27da490b08b9b426f43d4aac8dbdb7c4059e9ef85dd8082c201c9881bc5ed45cc9679d023c3d58cdcb95c25b712408efd010108bce304fb4e5c0af6ae510feb3e4f3d81d30655fcbd7cd0989f344181d42caabedaac71b6c0b66fed284e3819ecef08aa619a5550f4fc79d5f4cc81a0bfa1f3a74c5b34d82232deaeccc313f559d290b36f76324013ad91f3c5ff9dc4caf9dd81f9e1d1a176bd4fb61eaee6f1187acd7ef784edef607c4040805f6196f6460b5076b106063ea396c7c4973a3795a6fada17e202c81fd037a0087615d569104f47cdf19a62bfe4b1fcaa0a7a499b9bcc1e4e8443fb8b79b27e1d6a14f291d9ad73ce3afc23e490dab27cc494df426e87acf0c632dce554cd00014ef678fabf607cc9a5950ce7bf832826931155a979093983e0f6b7853c820016eb133b8ef567d59ae897381b0893cc8cac74cd57a5388b727c9b34907283e3372bab0ccd8ec1537a796f8a24c732c3083998f1783dbbeec76abe59344f741ac3d93e7a6e5667690e403020f5bb12446a5e96e593e8a09461a1ff224f80dda3d8ad454101e6087dfcd3a9496a656c28a108ef0928ac2553aba0d5238c1d6acf11431e9557cc966f9d156f56620e6f0dcfc2af886aea9a05cc440df694b108dc85a83adcced6813b223fcd8649f77bd6b3a4a2e06d808d380e706eb34c211872dd74ac955c733a613a3978fb881cbf584ef5a12a8586308b3be8a8053a395253337ea80a45485dbc1e5b1f3cfbb84cf6e69b5ec999cf54728aed654851513946cc5a34b34a869e5f7d5068043b1be0d1b457f8721456e61244ed5bc10c9d94b1cdfa3996a36e1e2f761c20778dbcfbf0d4d426852615d2611bdea009e41d85675f40164fc4534928703d2281e636a0b730b341f1fa6c45c09f3486573e5d142a4e6de815670d5a8cfeffcc326bc8a0d557103f2c565bf91c751e1e51a97c9671a57edcf301976333beff3704ab64de38992c0a1a5a062b3a3a53b0c6298d38aa2440fadee7675b680b06e001fdd7d947154b53ba0748d5a9fe76eccc61264528ba6503bb827e15dc0e453c7e08bf10a79b88733cc3f1430767f256e70563479c84858250a7394af7b078887cb7bacba5b8632e01da044de0547e6dbe2c2f144245564313c29526b5a18ade95e1186d82b795b7c940405205723224b309e01e203df34b76b0909c54b849be8d040880c523ce82deadd014f0915f82536cda59ae5938f124c416572fb21006b22317bbac7223eadceb6b41c888c309eef51661f4ed67b2f5ce3c5d95cb42787936d62428bcef6f8e20908a25aa45c1d6f35bc4ce1f3954557988659a1cb8355e6942f00606cc21a487ee5145aecb20b4fcc8f98bd9bb2e02934aa02dfc74aff26098e5302a0bb94407c934c7dec64af09db3bb6301952b86077c3267bd6e008009a4af7fb980358b2c1c3bb805cb17c13893989d795272ec4d2a4da6d66582793231c15074849e854a28fb571d5632ce21b69529ced0dc0770e35e84393dd5f8fb3400f9931113cfe47fc3d2f5fe7b95c940c24d9aa001efca0b9712d2e3c3414a7e4a5e928c4d8099a183deab377278a999e05ad4ead474ec0802bd1dc882cd776807ba31d9c9f040540ae43a48de73f6e9b26f701b546baa6848c65480f2d8feaf9c418e1eff331ea9d5cf1290d8e82c251d066735af9ddcc8ff4656d83b0b89172c919a1fe6fb7f923cfcd311c02b198fddbb76dbd3654981cc92630f4e4e7eb70d0797a0717f450e20b7a8e31b4133cd3d9525b81926877e87371f9a1da5714d33bdf011773f5f04b0f02edbb1bb05d145939b01d88d6ecf4daea404dc1fce7e669404b1b77ff8ab4ef8eac20c681cb2f238bdc2a2f8cb6d94467bf9ed0a99b7cbe957c98b4debcb95e5dd539399717fb377b5b7acd326c80b6defaf11529245a83b3617d87de741a01411ee60b715941364319596e99a9b78315c5102f2c5c4c15b4d40c794fb124f5590f457a649d1009d103810f39983c0b058b79b248def0430874b19635eaa09026180071c89e3f07e6055af2dbb463e13fcc3bc4ba46c903196ce16265d86211da35a7d7a11ca08cc15cb50c73f9cbec1dd66872cd8fff4a719482e44ce5ce744613f8975e46a29ca18051c9d44132690d955ba0283924632cdd13fcaa98b87ffa3f717a00f51094735828bb8abf2db0af5b810a91a7c32045f9ddcec2db3c27206f472d4ecce281dccf36ab1cab7f7158a7deef3f956f65b06c8530f0007403e186bc6ae7276ed955dba70dbe201595b301f1b445b48cd6489c1d17478b2835d76d015ee27b59720d385069c6a52f685ac3a25e709b4c96461b40e078cd285b38f6efc665f6d9897b4b0cb4353611165067df0b3f25e701abbc3384a1cfc84e92f768c8924a00e0ad6ae463cc06bc2914c412a785572e9c4ebe284646e7b356d6c9c13e4ca6f95099db20eb8874af70e5f8c7eb998af9765a347fb2d681b3cfb39ec128246e78c46faa8114a9269b2d6dfcbf09389ce4f6c09472c578952ecc3b63450c86526d9963b9db03010e949be700f62e87a48904ef049b14f7316e1a376df5558b03ba8d80232dd5144f6b00238e07409f47b4b2d7fae4ea340916f082337fd34551679fe97398594f59e663a056f532987bcc9188ed6d10c44737f79c3844a5aa3bc555acc19a2da4ace8c8a7a54c4cdbc6154636468897280e81f7446662f77e893c24846ba1f39eb5d0cae5efe64b93d2ac95d3e36228a84afc8e7ab21e6e241dc99a7990fa951a8bb0b26783dc2a46e77dc030abd4f200c914792719ed8b3ce86fce3a6c606d4ebb7833025fe32cea79ed6272478280cbe349ba6df77ca52027f9dbe20738e76fcea221213a65158c99042839cd633fd736d3ce8ea4b713e25fee1c58b2541cf014d3581b691dff19f6c8b2f33e6bf9f01fa6819d330dd02fcf371846d9363f123fb452187b69f615b255056e553efe3d5f28b5465af10657bbf7c8d21fee34c96376dd882694df27a23bcf8e1f753837b7ef684646bdad6c1d0e70b07576db39a606b7d1a48b709af6294eef9bfc073f8764cb3ab0eeb64a4e6041488c49af5e2488eab7a0fb76191352f757df18e15ebafd49aab048c69a758ab4001e077f0db3f3f11d6f4fbb28e3050027e952963155d0d6c4d2669f194f2af3b44f02ead2c9f792b80e639aecb0c564950b89326586bf446884abfb0befcc056d02f5f603580a6d3e43b459881ff1281d59decc2219d38bd3114c4971f783385882234249d2a731fc6ea61c5fe9c7a5737f891d0c1f998dbfa227514936429c670e82597d4a3a715d397341525d5ca7ed2196a4a02a2953e528e2cdb19bce54e043ccba605e4f18118f928c56147d9925a0f9ae0d3b984406259d8aa663b75737988343b23e2eb92ade8858509f35ed54061a030331011c5de8ebd1f5b972f60d01ca8ec84f2508958747971667a714e5c13a60e6d3d5fa15d7ef75e9e82bdd0b3561d82c576f8697d3fd70cae90b93a42d8362f7c4573458386f7f033c3923e30e36be98ef2efc9baaa1433bd4ceb4973bf8f8ddd7bcb8babf562c715fc3e572d680cf62376d4338a35c40381e7aa91b035c69087388e0b8b231795b255df9be890347a451375d2354574e8912e2de7fd18daf2c9d615fdfe7a6a1eee080640498bae565cbfb7ae05e08f4f8bf05b36309e2eb106ec9c1626a49bfd280884c2202dec92191d0a01948fbe0ae1902848f803d2799e0c116823569c268ec40d6f2eedf2c5db3be27b29d4729518c1f7fb3d93d1794d3b6001a38a6e14739843dd2690677c2967bdf7c58243ca132a1e35e3b0071cc3770bcc5d113609a12a46fe60b2efeb73676d1382d6ed758ef56e35142cd42661b4451494ba2128dd6ce908a6f7c9cbfe5d2dfe1349c9e1ba1785c156bfb6ab9a113d60c64422e2a9887daf274a988f931f6657ce99c1df44e7a36310893664ea6e68abbbe449ee6f7da8a5e1b3efd82eca6301f5bc7bf3a44d2714e6aac6589f35959a18a66a6ec34a094e89a4c153aac4405dae5f4efd5f98ed2215069017542dc70db7f0356a123e2d40901593e8ebc5a16b8c198b629381090f909be5857fc3bc5dadd3a5d1750854e25eca260a21915cc62ccb5c9835c21e5085b0360d66ff117fff52a0da2d3b3b4de747b140d6348c0a4edb8b467a0b21e3ac44fcff597964d7b0156163ac85459218a6526ab3411f52e2cae7b4fe577aa7f3e38333ad1c40e81056b1f5d6fd88be40948ba5ae1bdce16cebfabe2e01e653453945aeb44284d4aa078aaeae450fcf555319a1297d73eca99c57ac99d3d16575784b10102c44af4e8936facf2716d39667440c46b86ce0a53c683d178a5465490bbbf887a1f8d42758665812370e8848b44c9828fa8976a60fe1edf40bb0ff813ec934676fb8f62717eefa18dff8915779dc81288dc7ff3d426fadfe2b51e49220c282d4e13b63dd1db84ebf4118511ca37412484749db56e834b0572a10852d2bcb98cfe55dcbc7a8a8a099b4a1304aa9f9d4a512ac8c53411ae926c9dafe45ebfa686de28ea29cc13b75c2c76ba0950e9bf2cfa91f7ae86bd2ea76657d022513efa6a0c0aca9d989880b3a4102076e7b6a2c3fd7dc80f6943fcd363bdd8566ce9459b854f943b326f350d503227c827fec58d54e4f8a5429b059b3599449ea575b756f57aba9b226c38ef56d7a187778b92b04c13460d9853f7edaee8467e5d4eb631182dc7c6640c2a25b3ef9b9584b964919a34476078b201742bcb6dd1962ca4c72809cdae29fbdd32f9feb08dec42b825dc73f51cca6e12d854612ae2062f3f8d72e7d7c093732d988ca4a9b5d240ced7e4fecac946e71566a4a60fde1633132007edc9677d9210f2f9bb954cf4dd106bb8efe859bf5f1960abaad51aacb5110e4920d10bd00855a615e6d699d152ef09952046659af476eaa012521a46b8da46e519e2ae4c015fc9377d04f14ae0aeb863df263c486d31061181e304119118cf0e3d41c79c8f5964d6da1f1ff58396dd61560ba8778a2a8c2c6b41a6876520c279ac8cc5ec05256558e507c7ff831b3097a05bf070e9b64bcd06ed65caac4c4196c8c1f25542f173ff29cce7522138b862de62e29cd599c3d6e93ff55b0f20e222f555edc41c22bdc85eb27c00e92c2208dfb4a66f8b4793db1ee505791a7225041dfd1bf5d893b37cc2c544c00590a50b1e5edf2559bcf6610c097b7120b1fec287dd29da6b75bcac4d3f1a69e8722211118ab9de157a6d07ac3a81182879969ec9ce367642cea6a280250dc042f2b0702eea7eb8b18d5a7626ac748a4c25ec926bc3948f20b3134837710f84137747f3d194e6cc0d9ce7a76676e55077ab1a0aee4fe06f9bfc2cae3bcbc99e832e2c79d33f0909401949d3bf31630b188a6163ff6c8d2344cf23c0a4d00b19bc7bf43aa595f86306fb1aafd379f45e26df446292dfff233255a6a939a785117dccd1fff54e57c14940d0f09611c9cc37a81f8df9b7043eb098f03e3b45a1803ee7dd4d0b3b9ba4cd63e6e56fafce05c9d62289388e78be8a8548c58af4d853b5a6e1c85620195ada422b63edadfd9f7996567dd640e101a993ed160abc621450c647d13d0e2acf12a600a3962ca5c7e12f1329aa2fe1906a4afc34f951f2e55260f18a568be349d6c1288c1141da7b4c34686cd902cb42d018c3bcc39d160eaabb904719568cf647513e9a979af82407eacf26c7f977ff59199e64a03ac8e2a6261d1d5c51f7ab7d2e674048fe5e5e7e305cd5ad540069fa0bd001767d2af687dbc52d8b56d9e11b8a9c450695ad284b7da64739b79e2223611d0cf5a5897e32867f7ad2a14f8cdc86152188d06ce06dc353aa4a982e63cd80392d3c842a7dfcf69a0248d39deb09e09e58faa7bc13012369ca04c0fed70a2bd4a80953722ea4396ffbf31df036d81891875e1a60212b968a62997fca54eb4aa81e3a8a70ddf643038741ff3ed2bd110a3c2bb9e38c32288cced0343cc18dd3313ef4bff41eb2ed1677f088ed555117d9a75fbbd620e842ef67f15f988fb63a4d4f15df44d0cb66a1c962f470b35b49f3a1662b4a7d7f467a3e736587e9ab4080c3221e979bc91637089197fd5682ccc9efc8f988caf6edd5fe7db0a511e85d9e086cd3edace84318d2d3cc1c7c713ad8a02811746ecf2dc07e77e008543ca7f2eb9d918a24ee49c7f9989824708d65d9ad5ccb214887af582a0dab80065b0fa31632167ec2ccdf89a7eb2e44ad925f0c33ac289a8ce4072c591ead87965e52863288acd3709150eaa668a6f06d8a8005b317da22174c8eacf795ae5aaedb78aee7a9bfc5003dba2fce017189c70a536beda46b5807ef2dd207ba7caf4515070eabbc91455a1222e4c40715eb0c882043722be0e22c72bea4afd9abc613ab0bd21670dafc022fa39d66d4fc03794c5b5bb6f4e139d95751d177b106a328c693dd52a396946223472fb6f01d6be2d47ff6377520f6012a225dc8c75a8eaa59aa62116f1422351af5de3d7ca5e41f67c76c4ae4efdf029bb60d94190f0d2a167605a8a85044a030ed22dfd8aeac43e3993fd86bbbd6e7398c4522b7b18d8bc383131bcba3f42a61ba6d3f3df49641919f4fa59c95a0b748ad860e516d90e19439e4f072110c5b51d2031e5d481dd715ce52abe073e59bf76e1049167992b913217c8ad8d2de491282c5c06bf63b9157be0b1b74d285cf826e422fdf2ae5246a65eb617868e44148f619cd645259f6d8ce8702c431ced025078be600928dcf93c5db56473b8078b943f90dd245985de21a1d1ea870f036afb23b73afdf3315f4f6954c2d0ae3443fb60ad5c33f483e1f78856ba49fc22f9a8d22afc312dd36ccd5ecbe7fec3ba086c3cf6199c11b7816d3a799e5ff12babd454d42ec3b19a9b9edddde99eaffa58e204d8517d2f0ddb7816e5c493a2dda4e71b4e2b5ad267883dc5619555e544fa6ddd7efd647e8056d73a8ad99f1cd64ee87e7480df3b0a4eeaf78049ba7402cb703fa096d4a2fb778641b9b168da37804d5f606fbd9017da21aab783f335a4ebdeff17bc72eda3a760451829bd5eb63057cc44984d53297f0915373a3f038a1f1b302b97ce68cb0ac940aaca0cde5aa8b1c47bf3e1dcdfc08de30ad35ba5356cb9273d5e00b526fe09341a63a78d82872fbc918c4015b71ac3ba7993e2351c153b3ae6378fb757a2810a5e7144f06f675c5ffd42f149e8ebe91eb2df415ef84774632170a801a7a0b8ead1d69b42a884c42952c6e128135f6e5eb52c6d2259f41e0fcfee37a0855c335c574f259d82dae436808937353c8200b7325c564daf31878e1617ba9048f1b7f004cce4d9ce9ac4d39539a20d46eaafecc0b9f93022a3272fb5e7bd7986b2c8d3458986ca1d2daae21980329f7b5a66d293f50f20e306869c078f628e61d59cd1a475819ec9ac334448c1e8852ed88ed652a9df6335a55837121085ed7d16f8ccec9278d6ad3e8567820c6fff4bf558b286d570575a809d84e593d7313457d2acf363511e56a6a490efb34edcacedd5c6ebe724640b3fb01b0c4af84994affd7b6755611a71ad968af4052d4c8e3d6195a7f9a171f68fbc7ee71a9bc8c1fe99c74ddd5133e03b1433ddb87e5b7f243f25bce6eefc297e79257d6ed56a819d8a84e398c92c9a99fcbbf8397e97699089c1c64e12f6a83c04e7ac6d5685a11476968fdfbeffb2179b2cbb6a91817aa1e2cae4ed417c8645a21ee692ddb877b0cc51b5e47b2479769cd8f7a8daf4a36c9ff7bd1e51dd95d757023d45e4e0033c0f7e0e8384481ccb76db584857c4ddf3a1d8b83a0466bc6e522d27e7363323b9729d62a44a5b7298ed91617eec8853a67cf504ab16b2a13818f8b371a11eb42b878df5b234eafb0c31dcdd09ab75f9211af405ce06508e9757b42f844d075d3604d4331930382e76943c0e36393ebfe6ea4940eef958cbfe702114c10315bdf83ee0d938732eeb6e964f85af047c0a7974228535cdcf1986ded74f07d50c495e552e3db2eeaacadc6f8dbe79e1a054b1fa7481fb9e2155b3969ef86870f2478312ff237008d639b08465c4be23bfdbd9bf6570fd07a2b4c221bec2be7b879a321479bdb859a114ccf4d5cd9b4443945a5cc51498eb2b376281e9d62e11fb364f8c8a2d751386eede43d39679b82eadfa7a58e2d0eeff1489a8c499e2fd267f290f70c6174f9138817e7141b9dfc7319d5f084d7eb7e2172eb064459fdc700d1d92b75068f9ab1881f9e9c4c7ee6236e7de99f711377bbf4c60386d7deb7611a535392eb922faa28fa36be9e61d1bc74cd35060df87c9cbd306f61fd914bd5147bc6bfe5bb20946b5963f5d44aac68c35bac0b6c1ecd793f1c785bf78dce1832f51f0df59b8af9817be3492b0a7551296b281b8bb1d71a781720f05dc46ef6c3407e9f2c1c8520e64637d60c2bd1950fa624f12907a74316273ecbbba2312fb46bf10b417b8b76895ae324ecb0a44a87f4c4e3b8631ade106dfe049eb4a5d60b4d5e938c22b02adb22ab713c1645f4a14369766ff966cd8887b7cc54c0f232dfc226f7ec909c68b6c3c46289602363da23f709e1374d253aab7f98775e8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql16-16.2-150600.16.2.1.src.rpmpostgresql-llvmjit-implementationpostgresql16-llvmjitpostgresql16-llvmjit(s390-64)@@@@@@@@@@@@     libLLVM.so.7()(64bit)libLLVM.so.7(LLVM_7)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)postgresql-llvmjit-noarchpostgresql16-serverrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1616.2-150600.16.2.13.0.4-14.6.0-14.0-15.2-14.14.3e@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@_mmax@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- 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.htmls390zl3a 1719303802  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH16.2-150600.16.2.116.2-150600.16.2.116.2-150600.16.2.1  !!!!!!!!"#$%%&'(((()*++++++++++++++++++++++++,---../0111111111102222222222222222033333333333333304444444444405555555555066666666607777088888888888099999999999999999999990:::::::::::0;;;;0<<<0========================/>/???????????/@@@/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC/D/E/FFFFFFFFFF/GGGGGGGGGGGGGGGG/H/IIIIIIIIIIIIIIIII/JKKKKKKKKKKKKKKKJLLLLLLLLLJMMMMMMMMJNNNNNJOOOOOOOOOOOOOO/PPPPPPPPPPPPPPPPPPPPP/QQQ/RRR/SSSSSSSSSSSS/TTTTTT/UVVVVVVVVVVVVVUUUUUUUUUU/WWWWWWW/XXXX/YZZZZZY[[[[[[Y\\\Y]]]]]]]]]]]]]]]]Y^Y__________Y```YaaYb/cccccc/ddddddddddddddd/efffffffffffffffffegggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggehhhhhhhhhhhhhheiiiiejjjeekkellllemmmmmennnnnnnnnnnnnnnneoooooooooepeqqqqqqqerrssssstuuuvvvvvvvvvwxyz{|}~_int_int.index.bc_int_bool.bc_int_gin.bc_int_gist.bc_int_op.bc_int_selfuncs.bc_int_tool.bc_intbig_gist.bcadminpackadminpack.index.bcadminpack.bcamcheckamcheck.index.bcverify_heapam.bcverify_nbtree.bcauth_delayauth_delay.index.bcauth_delay.bcauto_explainauto_explain.index.bcauto_explain.bcautoincautoinc.index.bcautoinc.bcbasebackup_to_shellbasebackup_to_shell.index.bcbasebackup_to_shell.bcbasic_archivebasic_archive.index.bcbasic_archive.bcbloombloom.index.bcblcost.bcblinsert.bcblscan.bcblutils.bcblvacuum.bcblvalidate.bcbool_plperlbool_plperl.index.bcbool_plperl.bcbtree_ginbtree_gin.index.bcbtree_gin.bcbtree_gistbtree_gist.index.bcbtree_bit.bcbtree_bool.bcbtree_bytea.bcbtree_cash.bcbtree_date.bcbtree_enum.bcbtree_float4.bcbtree_float8.bcbtree_gist.bcbtree_inet.bcbtree_int2.bcbtree_int4.bcbtree_int8.bcbtree_interval.bcbtree_macaddr.bcbtree_macaddr8.bcbtree_numeric.bcbtree_oid.bcbtree_text.bcbtree_time.bcbtree_ts.bcbtree_utils_num.bcbtree_utils_var.bcbtree_uuid.bccitextcitext.index.bccitext.bccubecube.index.bccube.bccubeparse.bccubescan.bcdblinkdblink.index.bcdblink.bcdict_intdict_int.index.bcdict_int.bcdict_xsyndict_xsyn.index.bcdict_xsyn.bcearthdistanceearthdistance.index.bcearthdistance.bcfile_fdwfile_fdw.index.bcfile_fdw.bcfuzzystrmatchfuzzystrmatch.index.bcdaitch_mokotoff.bcdmetaphone.bcfuzzystrmatch.bchstorehstore.index.bchstore_compat.bchstore_gin.bchstore_gist.bchstore_io.bchstore_op.bchstore_subs.bchstore_plperlhstore_plperl.index.bchstore_plperl.bchstore_plpython3hstore_plpython3.index.bchstore_plpython.bcinsert_usernameinsert_username.index.bcinsert_username.bcisnisn.index.bcisn.bcjsonb_plperljsonb_plperl.index.bcjsonb_plperl.bcjsonb_plpython3jsonb_plpython3.index.bcjsonb_plpython.bclolo.index.bclo.bcltreeltree.index.bc_ltree_gist.bc_ltree_op.bccrc32.bclquery_op.bcltree_gist.bcltree_io.bcltree_op.bcltxtquery_io.bcltxtquery_op.bcltree_plpython3ltree_plpython3.index.bcltree_plpython.bcmoddatetimemoddatetime.index.bcmoddatetime.bcold_snapshotold_snapshot.index.bctime_mapping.bcpageinspectpageinspect.index.bcbrinfuncs.bcbtreefuncs.bcfsmfuncs.bcginfuncs.bcgistfuncs.bchashfuncs.bcheapfuncs.bcrawpage.bcpasswordcheckpasswordcheck.index.bcpasswordcheck.bcpg_buffercachepg_buffercache.index.bcpg_buffercache_pages.bcpg_freespacemappg_freespacemap.index.bcpg_freespacemap.bcpg_prewarmpg_prewarm.index.bcautoprewarm.bcpg_prewarm.bcpg_stat_statementspg_stat_statements.index.bcpg_stat_statements.bcpg_surgerypg_surgery.index.bcheap_surgery.bcpg_trgmpg_trgm.index.bctrgm_gin.bctrgm_gist.bctrgm_op.bctrgm_regexp.bcpg_visibilitypg_visibility.index.bcpg_visibility.bcpg_walinspectpg_walinspect.index.bcpg_walinspect.bcpgcryptopgcrypto.index.bccrypt-blowfish.bccrypt-des.bccrypt-gensalt.bccrypt-md5.bcmbuf.bcopenssl.bcpgcrypto.bcpgp-armor.bcpgp-cfb.bcpgp-compress.bcpgp-decrypt.bcpgp-encrypt.bcpgp-info.bcpgp-mpi-openssl.bcpgp-mpi.bcpgp-pgsql.bcpgp-pubdec.bcpgp-pubenc.bcpgp-pubkey.bcpgp-s2k.bcpgp.bcpx-crypt.bcpx-hmac.bcpx.bcpgrowlockspgrowlocks.index.bcpgrowlocks.bcpgstattuplepgstattuple.index.bcpgstatapprox.bcpgstatindex.bcpgstattuple.bcpgxmlpgxml.index.bcxpath.bcxslt_proc.bcpostgrespostgres.index.bcaccessbrinbrin.bcbrin_bloom.bcbrin_inclusion.bcbrin_minmax.bcbrin_minmax_multi.bcbrin_pageops.bcbrin_revmap.bcbrin_tuple.bcbrin_validate.bcbrin_xlog.bccommonattmap.bcbufmask.bcdetoast.bcheaptuple.bcindextuple.bcprintsimple.bcprinttup.bcrelation.bcreloptions.bcscankey.bcsession.bcsyncscan.bctoast_compression.bctoast_internals.bctupconvert.bctupdesc.bcginginarrayproc.bcginbtree.bcginbulk.bcgindatapage.bcginentrypage.bcginfast.bcginget.bcgininsert.bcginlogic.bcginpostinglist.bcginscan.bcginutil.bcginvacuum.bcginvalidate.bcginxlog.bcgistgist.bcgistbuild.bcgistbuildbuffers.bcgistget.bcgistproc.bcgistscan.bcgistsplit.bcgistutil.bcgistvacuum.bcgistvalidate.bcgistxlog.bchashhash.bchash_xlog.bchashfunc.bchashinsert.bchashovfl.bchashpage.bchashsearch.bchashsort.bchashutil.bchashvalidate.bcheapheapam.bcheapam_handler.bcheapam_visibility.bcheaptoast.bchio.bcpruneheap.bcrewriteheap.bcvacuumlazy.bcvisibilitymap.bcindexamapi.bcamvalidate.bcgenam.bcindexam.bcnbtreenbtcompare.bcnbtdedup.bcnbtinsert.bcnbtpage.bcnbtree.bcnbtsearch.bcnbtsort.bcnbtsplitloc.bcnbtutils.bcnbtvalidate.bcnbtxlog.bcrmgrdescbrindesc.bcclogdesc.bccommittsdesc.bcdbasedesc.bcgenericdesc.bcgindesc.bcgistdesc.bchashdesc.bcheapdesc.bclogicalmsgdesc.bcmxactdesc.bcnbtdesc.bcrelmapdesc.bcreplorigindesc.bcrmgrdesc_utils.bcseqdesc.bcsmgrdesc.bcspgdesc.bcstandbydesc.bctblspcdesc.bcxactdesc.bcxlogdesc.bcspgistspgdoinsert.bcspginsert.bcspgkdtreeproc.bcspgproc.bcspgquadtreeproc.bcspgscan.bcspgtextproc.bcspgutils.bcspgvacuum.bcspgvalidate.bcspgxlog.bctabletable.bctableam.bctableamapi.bctoast_helper.bctablesamplebernoulli.bcsystem.bctablesample.bctransamclog.bccommit_ts.bcgeneric_xlog.bcmultixact.bcparallel.bcrmgr.bcslru.bcsubtrans.bctimeline.bctransam.bctwophase.bctwophase_rmgr.bcvarsup.bcxact.bcxlog.bcxlogarchive.bcxlogbackup.bcxlogfuncs.bcxloginsert.bcxlogprefetcher.bcxlogreader.bcxlogrecovery.bcxlogstats.bcxlogutils.bcarchiveshell_archive.bcbackupbackup_manifest.bcbasebackup.bcbasebackup_copy.bcbasebackup_gzip.bcbasebackup_lz4.bcbasebackup_progress.bcbasebackup_server.bcbasebackup_sink.bcbasebackup_target.bcbasebackup_throttle.bcbasebackup_zstd.bcbootstrapbootparse.bcbootscanner.bcbootstrap.bccatalogaclchk.bccatalog.bcdependency.bcheap.bcindex.bcindexing.bcnamespace.bcobjectaccess.bcobjectaddress.bcpartition.bcpg_aggregate.bcpg_attrdef.bcpg_cast.bcpg_class.bcpg_collation.bcpg_constraint.bcpg_conversion.bcpg_db_role_setting.bcpg_depend.bcpg_enum.bcpg_inherits.bcpg_largeobject.bcpg_namespace.bcpg_operator.bcpg_parameter_acl.bcpg_proc.bcpg_publication.bcpg_range.bcpg_shdepend.bcpg_subscription.bcpg_type.bcstorage.bctoasting.bccommandsaggregatecmds.bcalter.bcamcmds.bcanalyze.bcasync.bccluster.bccollationcmds.bccomment.bcconstraint.bcconversioncmds.bccopy.bccopyfrom.bccopyfromparse.bccopyto.bccreateas.bcdbcommands.bcdefine.bcdiscard.bcdropcmds.bcevent_trigger.bcexplain.bcextension.bcforeigncmds.bcfunctioncmds.bcindexcmds.bclockcmds.bcmatview.bcopclasscmds.bcoperatorcmds.bcpolicy.bcportalcmds.bcprepare.bcproclang.bcpublicationcmds.bcschemacmds.bcseclabel.bcsequence.bcstatscmds.bcsubscriptioncmds.bctablecmds.bctablespace.bctrigger.bctsearchcmds.bctypecmds.bcuser.bcvacuum.bcvacuumparallel.bcvariable.bcview.bcexecutorexecAmi.bcexecAsync.bcexecCurrent.bcexecExpr.bcexecExprInterp.bcexecGrouping.bcexecIndexing.bcexecJunk.bcexecMain.bcexecParallel.bcexecPartition.bcexecProcnode.bcexecReplication.bcexecSRF.bcexecScan.bcexecTuples.bcexecUtils.bcfunctions.bcinstrument.bcnodeAgg.bcnodeAppend.bcnodeBitmapAnd.bcnodeBitmapHeapscan.bcnodeBitmapIndexscan.bcnodeBitmapOr.bcnodeCtescan.bcnodeCustom.bcnodeForeignscan.bcnodeFunctionscan.bcnodeGather.bcnodeGatherMerge.bcnodeGroup.bcnodeHash.bcnodeHashjoin.bcnodeIncrementalSort.bcnodeIndexonlyscan.bcnodeIndexscan.bcnodeLimit.bcnodeLockRows.bcnodeMaterial.bcnodeMemoize.bcnodeMergeAppend.bcnodeMergejoin.bcnodeModifyTable.bcnodeNamedtuplestorescan.bcnodeNestloop.bcnodeProjectSet.bcnodeRecursiveunion.bcnodeResult.bcnodeSamplescan.bcnodeSeqscan.bcnodeSetOp.bcnodeSort.bcnodeSubplan.bcnodeSubqueryscan.bcnodeTableFuncscan.bcnodeTidrangescan.bcnodeTidscan.bcnodeUnique.bcnodeValuesscan.bcnodeWindowAgg.bcnodeWorktablescan.bcspi.bctqueue.bctstoreReceiver.bcforeignforeign.bcjitjit.bclibbinaryheap.bcbipartite_match.bcbloomfilter.bcdshash.bchyperloglog.bcilist.bcintegerset.bcknapsack.bcpairingheap.bcrbtree.bclibpqauth-sasl.bcauth-scram.bcauth.bcbe-fsstubs.bcbe-gssapi-common.bcbe-secure-common.bcbe-secure-gssapi.bcbe-secure-openssl.bcbe-secure.bccrypt.bchba.bcifaddr.bcpqcomm.bcpqformat.bcpqmq.bcpqsignal.bcmainmain.bcnodesbitmapset.bccopyfuncs.bcequalfuncs.bcextensible.bclist.bcmakefuncs.bcmultibitmapset.bcnodeFuncs.bcnodes.bcoutfuncs.bcparams.bcprint.bcqueryjumblefuncs.bcread.bcreadfuncs.bctidbitmap.bcvalue.bcoptimizergeqogeqo_copy.bcgeqo_cx.bcgeqo_erx.bcgeqo_eval.bcgeqo_main.bcgeqo_misc.bcgeqo_mutation.bcgeqo_ox1.bcgeqo_ox2.bcgeqo_pmx.bcgeqo_pool.bcgeqo_px.bcgeqo_random.bcgeqo_recombination.bcgeqo_selection.bcpathallpaths.bcclausesel.bccostsize.bcequivclass.bcindxpath.bcjoinpath.bcjoinrels.bcpathkeys.bctidpath.bcplananalyzejoins.bccreateplan.bcinitsplan.bcplanagg.bcplanmain.bcplanner.bcsetrefs.bcsubselect.bcprepprepagg.bcprepjointree.bcprepqual.bcpreptlist.bcprepunion.bcutilappendinfo.bcclauses.bcinherit.bcjoininfo.bcorclauses.bcparamassign.bcpathnode.bcplaceholder.bcplancat.bcpredtest.bcrelnode.bcrestrictinfo.bctlist.bcvar.bcparseranalyze.bcgram.bcparse_agg.bcparse_clause.bcparse_coerce.bcparse_collate.bcparse_cte.bcparse_enr.bcparse_expr.bcparse_func.bcparse_merge.bcparse_node.bcparse_oper.bcparse_param.bcparse_relation.bcparse_target.bcparse_type.bcparse_utilcmd.bcparser.bcscan.bcscansup.bcpartitioningpartbounds.bcpartdesc.bcpartprune.bcportatomics.bcpg_sema.bcpg_shmem.bcpostmasterautovacuum.bcauxprocess.bcbgworker.bcbgwriter.bccheckpointer.bcfork_process.bcinterrupt.bcpgarch.bcpostmaster.bcstartup.bcsyslogger.bcwalwriter.bcregexregcomp.bcregerror.bcregexec.bcregexport.bcregfree.bcregprefix.bcreplicationlogicalapplyparallelworker.bcdecode.bclauncher.bclogical.bclogicalfuncs.bcmessage.bcorigin.bcproto.bcrelation.bcreorderbuffer.bcsnapbuild.bctablesync.bcworker.bcrepl_gram.bcrepl_scanner.bcslot.bcslotfuncs.bcsyncrep.bcsyncrep_gram.bcsyncrep_scanner.bcwalreceiver.bcwalreceiverfuncs.bcwalsender.bcrewriterewriteDefine.bcrewriteHandler.bcrewriteManip.bcrewriteRemove.bcrewriteSearchCycle.bcrewriteSupport.bcrowsecurity.bcstatisticsdependencies.bcextended_stats.bcmcv.bcmvdistinct.bcstoragebufferbuf_init.bcbuf_table.bcbufmgr.bcfreelist.bclocalbuf.bcfilebuffile.bccopydir.bcfd.bcfileset.bcreinit.bcsharedfileset.bcfreespacefreespace.bcfsmpage.bcindexfsm.bcipcbarrier.bcdsm.bcdsm_impl.bcipc.bcipci.bclatch.bcpmsignal.bcprocarray.bcprocsignal.bcshm_mq.bcshm_toc.bcshmem.bcsignalfuncs.bcsinval.bcsinvaladt.bcstandby.bclarge_objectinv_api.bclmgrcondition_variable.bcdeadlock.bclmgr.bclock.bclwlock.bclwlocknames.bcpredicate.bcproc.bcs_lock.bcspin.bcpagebufpage.bcchecksum.bcitemptr.bcsmgrmd.bcsmgr.bcsyncsync.bctcopcmdtag.bcdest.bcfastpath.bcpostgres.bcpquery.bcutility.bctsearchdict.bcdict_ispell.bcdict_simple.bcdict_synonym.bcdict_thesaurus.bcregis.bcspell.bcto_tsany.bcts_locale.bcts_parse.bcts_selfuncs.bcts_typanalyze.bcts_utils.bcwparser.bcwparser_def.bcutilsactivitybackend_progress.bcbackend_status.bcpgstat.bcpgstat_archiver.bcpgstat_bgwriter.bcpgstat_checkpointer.bcpgstat_database.bcpgstat_function.bcpgstat_io.bcpgstat_relation.bcpgstat_replslot.bcpgstat_shmem.bcpgstat_slru.bcpgstat_subscription.bcpgstat_wal.bcpgstat_xact.bcwait_event.bcadtacl.bcamutils.bcarray_expanded.bcarray_selfuncs.bcarray_typanalyze.bcarray_userfuncs.bcarrayfuncs.bcarraysubs.bcarrayutils.bcascii.bcbool.bccash.bcchar.bccryptohashfuncs.bcdate.bcdatetime.bcdatum.bcdbsize.bcdomains.bcencode.bcenum.bcexpandeddatum.bcexpandedrecord.bcfloat.bcformat_type.bcformatting.bcgenfile.bcgeo_ops.bcgeo_selfuncs.bcgeo_spgist.bchbafuncs.bcinet_cidr_ntop.bcinet_net_pton.bcint.bcint8.bcjson.bcjsonb.bcjsonb_gin.bcjsonb_op.bcjsonb_util.bcjsonbsubs.bcjsonfuncs.bcjsonpath.bcjsonpath_exec.bcjsonpath_gram.bcjsonpath_scan.bclike.bclike_support.bclockfuncs.bcmac.bcmac8.bcmcxtfuncs.bcmisc.bcmultirangetypes.bcmultirangetypes_selfuncs.bcname.bcnetwork.bcnetwork_gist.bcnetwork_selfuncs.bcnetwork_spgist.bcnumeric.bcnumutils.bcoid.bcoracle_compat.bcorderedsetaggs.bcpartitionfuncs.bcpg_locale.bcpg_lsn.bcpg_upgrade_support.bcpgstatfuncs.bcpseudotypes.bcquote.bcrangetypes.bcrangetypes_gist.bcrangetypes_selfuncs.bcrangetypes_spgist.bcrangetypes_typanalyze.bcregexp.bcregproc.bcri_triggers.bcrowtypes.bcruleutils.bcselfuncs.bctid.bctimestamp.bctrigfuncs.bctsginidx.bctsgistidx.bctsquery.bctsquery_cleanup.bctsquery_gist.bctsquery_op.bctsquery_rewrite.bctsquery_util.bctsrank.bctsvector.bctsvector_op.bctsvector_parser.bcuuid.bcvarbit.bcvarchar.bcvarlena.bcversion.bcwindowfuncs.bcxid.bcxid8funcs.bcxml.bccacheattoptcache.bccatcache.bcevtcache.bcinval.bclsyscache.bcpartcache.bcplancache.bcrelcache.bcrelfilenumbermap.bcrelmapper.bcspccache.bcsyscache.bcts_cache.bctypcache.bcerrorassert.bccsvlog.bcelog.bcjsonlog.bcfmgrdfmgr.bcfmgr.bcfuncapi.bcfmgrtab.bchashdynahash.bcpg_crc.bcinitglobals.bcmiscinit.bcpostinit.bcusercontext.bcmbconv.bcmbutils.bcstringinfo_mb.bcwstrcmp.bcwstrncmp.bcmiscconffiles.bcguc-file.bcguc.bcguc_funcs.bcguc_tables.bchelp_config.bcpg_config.bcpg_controldata.bcpg_rusage.bcps_status.bcqueryenvironment.bcrls.bcsampling.bcsuperuser.bctimeout.bctzparser.bcmmgralignedalloc.bcaset.bcdsa.bcfreepage.bcgeneration.bcmcxt.bcmemdebug.bcportalmem.bcslab.bcresownerresowner.bcsortlogtape.bcqsort_interruptible.bcsharedtuplestore.bcsortsupport.bctuplesort.bctuplesortvariants.bctuplestore.bctimecombocid.bcsnapmgr.bcpostgres_fdwpostgres_fdw.index.bcconnection.bcdeparse.bcoption.bcpostgres_fdw.bcshippable.bcrefintrefint.index.bcrefint.bcsegseg.index.bcseg.bcsegparse.bcsegscan.bcsepgsqlsepgsql.index.bcdatabase.bcdml.bchooks.bclabel.bcproc.bcrelation.bcschema.bcselinux.bcuavc.bcsslinfosslinfo.index.bcsslinfo.bctablefunctablefunc.index.bctablefunc.bctcntcn.index.bctcn.bctest_decodingtest_decoding.index.bctest_decoding.bctsm_system_rowstsm_system_rows.index.bctsm_system_rows.bctsm_system_timetsm_system_time.index.bctsm_system_time.bcunaccentunaccent.index.bcunaccent.bcuuid-osspuuid-ossp.index.bcuuid-ossp.bcllvmjit.sollvmjit_types.bc/usr/lib/postgresql16/lib64/bitcode//usr/lib/postgresql16/lib64/bitcode/_int//usr/lib/postgresql16/lib64/bitcode/adminpack//usr/lib/postgresql16/lib64/bitcode/amcheck//usr/lib/postgresql16/lib64/bitcode/auth_delay//usr/lib/postgresql16/lib64/bitcode/auto_explain//usr/lib/postgresql16/lib64/bitcode/autoinc//usr/lib/postgresql16/lib64/bitcode/basebackup_to_shell//usr/lib/postgresql16/lib64/bitcode/basic_archive//usr/lib/postgresql16/lib64/bitcode/bloom//usr/lib/postgresql16/lib64/bitcode/bool_plperl//usr/lib/postgresql16/lib64/bitcode/btree_gin//usr/lib/postgresql16/lib64/bitcode/btree_gist//usr/lib/postgresql16/lib64/bitcode/citext//usr/lib/postgresql16/lib64/bitcode/cube//usr/lib/postgresql16/lib64/bitcode/dblink//usr/lib/postgresql16/lib64/bitcode/dict_int//usr/lib/postgresql16/lib64/bitcode/dict_xsyn//usr/lib/postgresql16/lib64/bitcode/earthdistance//usr/lib/postgresql16/lib64/bitcode/file_fdw//usr/lib/postgresql16/lib64/bitcode/fuzzystrmatch//usr/lib/postgresql16/lib64/bitcode/hstore//usr/lib/postgresql16/lib64/bitcode/hstore_plperl//usr/lib/postgresql16/lib64/bitcode/hstore_plpython3//usr/lib/postgresql16/lib64/bitcode/insert_username//usr/lib/postgresql16/lib64/bitcode/isn//usr/lib/postgresql16/lib64/bitcode/jsonb_plperl//usr/lib/postgresql16/lib64/bitcode/jsonb_plpython3//usr/lib/postgresql16/lib64/bitcode/lo//usr/lib/postgresql16/lib64/bitcode/ltree//usr/lib/postgresql16/lib64/bitcode/ltree_plpython3//usr/lib/postgresql16/lib64/bitcode/moddatetime//usr/lib/postgresql16/lib64/bitcode/old_snapshot//usr/lib/postgresql16/lib64/bitcode/pageinspect//usr/lib/postgresql16/lib64/bitcode/passwordcheck//usr/lib/postgresql16/lib64/bitcode/pg_buffercache//usr/lib/postgresql16/lib64/bitcode/pg_freespacemap//usr/lib/postgresql16/lib64/bitcode/pg_prewarm//usr/lib/postgresql16/lib64/bitcode/pg_stat_statements//usr/lib/postgresql16/lib64/bitcode/pg_surgery//usr/lib/postgresql16/lib64/bitcode/pg_trgm//usr/lib/postgresql16/lib64/bitcode/pg_visibility//usr/lib/postgresql16/lib64/bitcode/pg_walinspect//usr/lib/postgresql16/lib64/bitcode/pgcrypto//usr/lib/postgresql16/lib64/bitcode/pgrowlocks//usr/lib/postgresql16/lib64/bitcode/pgstattuple//usr/lib/postgresql16/lib64/bitcode/pgxml//usr/lib/postgresql16/lib64/bitcode/postgres//usr/lib/postgresql16/lib64/bitcode/postgres/access//usr/lib/postgresql16/lib64/bitcode/postgres/access/brin//usr/lib/postgresql16/lib64/bitcode/postgres/access/common//usr/lib/postgresql16/lib64/bitcode/postgres/access/gin//usr/lib/postgresql16/lib64/bitcode/postgres/access/gist//usr/lib/postgresql16/lib64/bitcode/postgres/access/hash//usr/lib/postgresql16/lib64/bitcode/postgres/access/heap//usr/lib/postgresql16/lib64/bitcode/postgres/access/index//usr/lib/postgresql16/lib64/bitcode/postgres/access/nbtree//usr/lib/postgresql16/lib64/bitcode/postgres/access/rmgrdesc//usr/lib/postgresql16/lib64/bitcode/postgres/access/spgist//usr/lib/postgresql16/lib64/bitcode/postgres/access/table//usr/lib/postgresql16/lib64/bitcode/postgres/access/tablesample//usr/lib/postgresql16/lib64/bitcode/postgres/access/transam//usr/lib/postgresql16/lib64/bitcode/postgres/archive//usr/lib/postgresql16/lib64/bitcode/postgres/backup//usr/lib/postgresql16/lib64/bitcode/postgres/bootstrap//usr/lib/postgresql16/lib64/bitcode/postgres/catalog//usr/lib/postgresql16/lib64/bitcode/postgres/commands//usr/lib/postgresql16/lib64/bitcode/postgres/executor//usr/lib/postgresql16/lib64/bitcode/postgres/foreign//usr/lib/postgresql16/lib64/bitcode/postgres/jit//usr/lib/postgresql16/lib64/bitcode/postgres/lib//usr/lib/postgresql16/lib64/bitcode/postgres/libpq//usr/lib/postgresql16/lib64/bitcode/postgres/main//usr/lib/postgresql16/lib64/bitcode/postgres/nodes//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer/geqo//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer/path//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer/plan//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer/prep//usr/lib/postgresql16/lib64/bitcode/postgres/optimizer/util//usr/lib/postgresql16/lib64/bitcode/postgres/parser//usr/lib/postgresql16/lib64/bitcode/postgres/partitioning//usr/lib/postgresql16/lib64/bitcode/postgres/port//usr/lib/postgresql16/lib64/bitcode/postgres/postmaster//usr/lib/postgresql16/lib64/bitcode/postgres/regex//usr/lib/postgresql16/lib64/bitcode/postgres/replication//usr/lib/postgresql16/lib64/bitcode/postgres/replication/logical//usr/lib/postgresql16/lib64/bitcode/postgres/rewrite//usr/lib/postgresql16/lib64/bitcode/postgres/statistics//usr/lib/postgresql16/lib64/bitcode/postgres/storage//usr/lib/postgresql16/lib64/bitcode/postgres/storage/buffer//usr/lib/postgresql16/lib64/bitcode/postgres/storage/file//usr/lib/postgresql16/lib64/bitcode/postgres/storage/freespace//usr/lib/postgresql16/lib64/bitcode/postgres/storage/ipc//usr/lib/postgresql16/lib64/bitcode/postgres/storage/large_object//usr/lib/postgresql16/lib64/bitcode/postgres/storage/lmgr//usr/lib/postgresql16/lib64/bitcode/postgres/storage/page//usr/lib/postgresql16/lib64/bitcode/postgres/storage/smgr//usr/lib/postgresql16/lib64/bitcode/postgres/storage/sync//usr/lib/postgresql16/lib64/bitcode/postgres/tcop//usr/lib/postgresql16/lib64/bitcode/postgres/tsearch//usr/lib/postgresql16/lib64/bitcode/postgres/utils//usr/lib/postgresql16/lib64/bitcode/postgres/utils/activity//usr/lib/postgresql16/lib64/bitcode/postgres/utils/adt//usr/lib/postgresql16/lib64/bitcode/postgres/utils/cache//usr/lib/postgresql16/lib64/bitcode/postgres/utils/error//usr/lib/postgresql16/lib64/bitcode/postgres/utils/fmgr//usr/lib/postgresql16/lib64/bitcode/postgres/utils/hash//usr/lib/postgresql16/lib64/bitcode/postgres/utils/init//usr/lib/postgresql16/lib64/bitcode/postgres/utils/mb//usr/lib/postgresql16/lib64/bitcode/postgres/utils/misc//usr/lib/postgresql16/lib64/bitcode/postgres/utils/mmgr//usr/lib/postgresql16/lib64/bitcode/postgres/utils/resowner//usr/lib/postgresql16/lib64/bitcode/postgres/utils/sort//usr/lib/postgresql16/lib64/bitcode/postgres/utils/time//usr/lib/postgresql16/lib64/bitcode/postgres_fdw//usr/lib/postgresql16/lib64/bitcode/refint//usr/lib/postgresql16/lib64/bitcode/seg//usr/lib/postgresql16/lib64/bitcode/sepgsql//usr/lib/postgresql16/lib64/bitcode/sslinfo//usr/lib/postgresql16/lib64/bitcode/tablefunc//usr/lib/postgresql16/lib64/bitcode/tcn//usr/lib/postgresql16/lib64/bitcode/test_decoding//usr/lib/postgresql16/lib64/bitcode/tsm_system_rows//usr/lib/postgresql16/lib64/bitcode/tsm_system_time//usr/lib/postgresql16/lib64/bitcode/unaccent//usr/lib/postgresql16/lib64/bitcode/uuid-ossp//usr/lib/postgresql16/lib64//usr/lib/postgresql16/lib64/-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:34478/SUSE_SLE-15-SP6_Update/46693384968cac4833364febdc1e2db3-postgresql16.SUSE_SLE-15-SP6_Updatedrpmxz5s390x-suse-linuxdirectoryELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6fda3d1ae2b4a1e49223ddfe12e50e60bc4ddcd1, stripped RRRRRR R R RRRRAt~]{[utf-8230736919df0edb32bdf3f90fb0c6c8d9651a0106cea09679eb533f8511e8b51? 7zXZ !t/(r]"k%%0#J:fVTw*"@mnRdzU!-#`_m>S➎ޙF%hQK~!2ںYE7N=nF-_ "WoC*>R=gCXkN$zu4}Iרi8 ٟR%qCo)lo#(9@7ሊjIu| -a ;,% ΄M\/Z#NY<(`ίX#[Ҝw59?PA oiqlOED%3yg6Mnu4=^CLRp^ aҡzk}4U'cDu49**~iu!Hѳ:wC̄~|V9i{tSpn@ s;Eo+oe7.xB#x[$0I  l91v(䤉o:x$4#FsDx`ޕqGgY !nJ齚+q9) 46jsf2m˴m'rs\RaS1I#ddpP|Z\Dy z9:ğ9ȩ|wf1v9H}L9:FF?i[ٙj+tDr۱PU}.E\e$TlImxLt7[DG%'y D \J-aC$ͯ2E@VȮ.܉'@F!z8APv9}޵ּD 22CP{O^1` Lr/Jۜ= $J*wCOUUж4aAxVÄ_ @*ǂf?C8VĥcXؔ44="FZM'BA>4s ۅk=H~P5I5NƅPZ/ծc㤁 t{G|TFܯ@L̨ʑ?`-3 Yd_?o9IXlоVvcKABC>$$iEO{;fV#<+ˤmgj]9WV#$i 8uwd?ߴDgՃYc|YɄB2*2'O>rBK2 L5' .ΗϢ!ۍY|ÁcX Wh{V[W HfE%?"ҤYRC{=ӿB!43qВܽΰ(@g%f,oBS}UQY(DLPa .l?w#rr90V\'C@x)Ӏ*9S 7;CZSȜVOɦ<,5c(Tiu]WA1lF6X?{+)sF"T!Vңk{qn;Be{AIn#jHEUJ*ןN{]I8b,'vk;zQSFwֺN#( X~.HՖT eTb g#4HHo1 luT#7`vҳI덪0ʏϢ$O7 2i`xF$Y47{H֯N;e~{aILH 7 AGgřI$w^7N&ʼ+zVf<ҹ|6J[|( \-'v"@Ksƈ @US@{.1J*1}o)F W԰s +!ϣ(uὫ`C&Qj9w꠵co["qe`GBhV`(䣥&26Pn++o.E|t>H&mL %.--(M(m)Uh[!%Ϥݠ.," nq<i*:G -z5܌ᨃGp,6I#6fJj/stQN N#Nñ ي UKvߡ;HI+ ^{ԍ̵?35G=]ݵ ,akF%`Eρ½"4x%hC}&iq s=XnVW4MʎR,:Y<ً,r"g{Zo܅pa͘7VwWu.2G䇩s ;GI5DN0F?/~^s,)G6nC (}yqVB !A]u5SCTz _6+UuO=mWŻޱR ݘX &zk%mݵv9R 1*aO!HROaP"X9KqUS1QZ i=I~:p0hQUv'^y`띪qHω|pFcg$v=v 6q'""qp\A6V }F/<ˆ19>’'!'w@U\vy~I-͇7Da%(kQu_h`0܀o!CB3*EV"m',$!('-J'7~VjԻ+nh^͆LPO&"~5spC(WmȢʛX ™8|v;uBZ꾉pMEC{ oa5oR&Aa0O(Vey1:\F*ԩcðLqH  ^jGB.6>t˸H!i†mqʔT0D䅢^əf}{՘Yl` }jX2zQ.Y˧5ҽTaέt:҇)3ƧVy<{9,@Wub6&OLLz#`l4NzP'Q2N/w5:dktJ<7KOb*OP=X^jhGcU,)Mk܈ꅳt{!PQ N #GAri31v=s=*^ا2jJNgB'@A'4׺_@Idm`7mEu1afmBqʀtc(7zQ$=Jˍ N$>H;-SK+r{HLzbYm<d[,F54YȗhBD+3y!JWXBM3a2X>k#iE7,BPtxHdbѪl*Tt kixY1~fEY'ET#șn=o:·oB5DgAm*FtKe$*GM3ߦl8/ǡqf/8FfVe͒[k6k{T@cTʩUJ}0cxyq"l9Sd_6m-t& ܰZĦo⑕}2L4&NuzbStBZ&G'vJz/KigF綕m42"ʸPL]GwJ6H*'