luci-0.26.0-93.el6.centos$>u n -C4t>@?d  S 1\bg ( . 4 &@   L""˹"(8$9t:=P>P?P@PGPHYIaXcYc(\ch]kt^h"bdrewfzl|tuv,wxyCluci0.26.093.el6.centosWeb-based high availability administration applicationLuci is a web-based high availability administration application built on the TurboGears 2 framework.X_ac1bm.rdu2.centos.org$}CentOSGPLv2 and MITCentOS BuildSystem Applications/Systemhttps://fedorahosted.org/cluster/wiki/Lucilinuxi686if [ "$1" -eq "2" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fi /usr/sbin/groupadd -g 141 luci 2> /dev/null /usr/sbin/useradd -u 141 -g 141 -d /var/lib/luci -s /sbin/nologin -r \ -c "luci high availability management application" luci 2> /dev/null exit 0/sbin/chkconfig --add "luci" || :if [ "$1" == "0" ]; then /sbin/service "luci" stop &>/dev/null /sbin/chkconfig --del "luci" rm -f -- "/var/lib/luci/certs"/cert_rnd.* "/var/lib/luci/etc/luci.ini".rpmsave-* || : elif [ "$1" -ge "1" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fiif [ "$1" -ge "1" ]; then /sbin/service "luci" condrestart &>/dev/null || : fiDZSL%+,$$B% % D < 9 9"'F'F;!!    _!!   xx33++++   h h $rri Y  ">Tjj/ E E6NddI!6!6_ <<<kkK__ ""==== S88 f f q{7":":$$!R!R    ))~~xZZ]pp1MM HHV+H,H,xx == ) )!DnZvZvddWE[E[[ZZOggeeeO^^8.|xionweAb-s$2~%6@ %Fya'6 G^,i1W5 u6} uG.Xz O-e>- @#VE% =<j : $Jl* k['9X3\ [  } y  Fgg5)8)8Zyrmm , ,!F')큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큀A큠A큤A큠AX_TX_TX_TX_TX_TX_VX_UX_UX_UX_UX_UX_UX_UX_UOX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_TX_UX_UX_TX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_VX_VOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_VOX_UX_UX_TX_UX_UOX_UX_UX_UX_UOX_TOOOX_UOOOOOOOOOOOOOOOOOOX_TX_TX_UX_UOOOOX_TX_TOOOOOOOOOOOOX_TOOOOOOOOOOOOOOOOOOOOX_TOOOOX_UX_TX_TX_TX_TX_TOOX_TX_TX_TOOOOOX_TOOX_TX_TX_TX_TOX_UX_VOX_UX_UOX_TX_TX_TX_TX_TX_TOX_TX_TX_TX_TOOOOOX_TX_TOX_TX_TX_TOOX_VOX_UX_UX_VOX_UX_UOX_UX_UOX_UX_UX_VOX_UX_UOX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_VOOX_UX_UX_UX_UX_UX_UX_TX_UX_UX_VX_U5b4a180ec42b5e9862d33f18f7c20383a428e1302684fb906b5aa43db2940c94aa2401f90a785a3fdad47b0e2873b35f8de22ea96f24951344f06a7136329bb1bac17f8048f3b391717b75c752ab0070cc78d419cceaec85f8fce7add1c717d13ae0e78c4f4fe1aac1a941d23d404adf308650191355d3652ab584542cb5b0f13b9b9fb5c1a066acd809609ed312cadd20cf9ca6f3ac042c798af9f18b661a1f434e1921b577337a570421c5c95f8c36b431fb6ac86dbea949f1693158610f42c61f4c087cd0e9f0aba5b8b127dab157e32d449c5cdfba50d102f1eeff01309201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b3e8a900556b252c38881874a41a9c3e75cdce017b7d7a521c8835670fb658d953346f9108345b1a71ddc5a5c626bbb977c84adc0d440f00d9459737ee124c9b3f29b902a88e4fd907ae8b5ef6a1fb2ab34bfc24f3af5d566d20e55fc6e48c6a572f79537c77fcc039a703020df8191e7cd8f168c2f4627daaa7825520f2af9a028bb4e7a75ec2ab9f551fc8918fbe7e248486b883ae3ad3d69be3c5f5cc058de38b1da0edf2a1ed914ff0d13e2a3937bf849ada54baa84801c07d47bebcd937c38b1da0edf2a1ed914ff0d13e2a3937bf849ada54baa84801c07d47bebcd937c3bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838a06542b74a7b0e96bb8c44c05324a7e05a48ed7631748591eb4793d7dd17fa62a06542b74a7b0e96bb8c44c05324a7e05a48ed7631748591eb4793d7dd17fa629193738be7da3cfceee00d52d0595f0b0fa7590335852e5b35e06ea0df698ab50fcade7723f832d2dd24bfaa2eda7298b3efb3b51f85381c539ccfbaac0b3f6c0fcade7723f832d2dd24bfaa2eda7298b3efb3b51f85381c539ccfbaac0b3f6c963a42e37b09dc38a2333fc80f87c244341fe7083beddf8ebc5f0881e17e13ecefea39db10bc7234a1ff8a72cb02d522f2c49e6a765854d8b92e258442bb2c81dde828ed41b2ff6dab1b50f13b8bb1b8af0c141c226570b2c2e01c5c11bd6b1cdde828ed41b2ff6dab1b50f13b8bb1b8af0c141c226570b2c2e01c5c11bd6b1c126506a6dea2350216152e603f6c7dee4a834111739c8950a5c687539919a72725e2efa7e56456fc7cb215a24601408f9d6a0d2ddd04588c6395e78d7277af3825e2efa7e56456fc7cb215a24601408f9d6a0d2ddd04588c6395e78d7277af381735d619a5c0ac25f0fea7a29707440c11da716e335246636fedb3c5101ffe42d7f6773a3304587d9031623602aec7e9b3294da15b7f59f68698fb359cce9d03d7f6773a3304587d9031623602aec7e9b3294da15b7f59f68698fb359cce9d03a37da695f108350982cea9cc9b4179fc7b94be7ace9c1cc9929ea1d417cb8ad68ca133bd003d6c8d5d5be41a5ba7fe8820878782d2c210fde9d4f48c8f132eea8ca133bd003d6c8d5d5be41a5ba7fe8820878782d2c210fde9d4f48c8f132eea30706dba0134eaf426a0a1fa5e8f2fbc23a06ac4318c546d1a935b0fced4b6d5cbe903cdd7751a7e2be9ca4e63f1cf8a693de3acd2d16071abb5f8cd55be221ecbe903cdd7751a7e2be9ca4e63f1cf8a693de3acd2d16071abb5f8cd55be221e7ec2d551618f1f79cf06880d052220fdc29e3a33c998e839b4ee57f12042a00d29102dbffce321870b55727088e76c37fbf63d0f8f23cedc26787472c42b317729102dbffce321870b55727088e76c37fbf63d0f8f23cedc26787472c42b3177c0366e284cc8aa7e94aea01be7a64e35b6f92ecc2a6a96a39a3b05f167a653b1e8ac1f3edf74d029e08375c5d8b00cdd17bb3948f3f4a0f8e27ddf67962a6ff0e8ac1f3edf74d029e08375c5d8b00cdd17bb3948f3f4a0f8e27ddf67962a6ff0ba227fcba0a961f6eee8c1bb6012bba8fc84c697b0f20518ee623972fdeaa7eb53bb1f78a3d556de440dd65da89451eff24193451156ff234160c55ce1fbbef653bb1f78a3d556de440dd65da89451eff24193451156ff234160c55ce1fbbef658a5080fbe9ec139fcccf622e5ec705200efb835b6b033606c3169f2715ba57b7da818e0c092fee2f0205cef5439dca1b3c700069eb2949209de7785c06166667da818e0c092fee2f0205cef5439dca1b3c700069eb2949209de7785c0616666fda598be422b3e5fcea6070b010702cdfed6de683f33f2235a6007470b65ebca4c9de54571f1c24e5f329d9d6156c1067b2c9d998e3475a92ece8b8f79cf265f4c9de54571f1c24e5f329d9d6156c1067b2c9d998e3475a92ece8b8f79cf265f252999f31c5a45af4c8ab5f81ed04b1215aa06223fd998674d11589a63443f8817715538e0cf7488921980534fa5717fda19e7d11a8817bb0dd648605b08031417715538e0cf7488921980534fa5717fda19e7d11a8817bb0dd648605b0803142e38d8ede63b63d56c80f5228d7caac11b05d60bf4984280fdc0baa495c9c97de7cde6e51da32ebc83c0beb9ff8fef2b7ba944c0b8b888c12fad03b96a6533b3e7cde6e51da32ebc83c0beb9ff8fef2b7ba944c0b8b888c12fad03b96a6533b3633c37c50c8707f32eeef393f73034d15f6c5781d2fd612e28233da8bb18088c96c686d999361336174d1d9184936d75d52de7398bffa3ad7358aec0bb9042ea96c686d999361336174d1d9184936d75d52de7398bffa3ad7358aec0bb9042ea460b1080a509473dee962af412ec8505a568ce0aaed35d50915fdc36df4e7321a3689a4a7d8fe97ca735a55f825736607ba2174623366aa940885ea871035e4ba3689a4a7d8fe97ca735a55f825736607ba2174623366aa940885ea871035e4bda6b84611751704bca30ab609a4ee55cda7c6215d59e5e4bafe0ec7e04933409c64893f844d85753fdff07a5e55aae837342bfed5a533985829c4004bc00b25fc64893f844d85753fdff07a5e55aae837342bfed5a533985829c4004bc00b25f42cbc5b3663cb19a1d22f077e3bcafebe6c9b0d91287f6103bf0b45e45592e22910a0bebf9b6f7aa5988a7bb01d5a0f4b3569aae6b8de023609b823c905d1496910a0bebf9b6f7aa5988a7bb01d5a0f4b3569aae6b8de023609b823c905d14962be748e87db2b027fd342baa4de2edd29c98a3b42883faf6b40e55a26c527fb41c69e3224abf1d64741fcd4ba6fd5bfb753f318f7a0b2e952f7547b062a4ee151c69e3224abf1d64741fcd4ba6fd5bfb753f318f7a0b2e952f7547b062a4ee15679635a123c0853228edaba8d21add076f6942fbaeb3d0b51704857e3ceca9d0a025c42a9d7cad02e17e93db87601eaec3677d19f28b8a6388ae341f21777bf1a025c42a9d7cad02e17e93db87601eaec3677d19f28b8a6388ae341f21777bf1515f0e3f676a739036157e9718171511ebe2da72921ff6abde37e22dfebd712eb36139ec4372229b0a768f95c0a19c214c4042ba96bd44d8615cbc804f3d82f9b36139ec4372229b0a768f95c0a19c214c4042ba96bd44d8615cbc804f3d82f98aab34805444160035f5289f5725bb28236c32edc78a971b8a3e3786542991686309c327152379f03756c8149f7c6ca0a7ec762d57f82d8dbdc23e414ec16f4d6309c327152379f03756c8149f7c6ca0a7ec762d57f82d8dbdc23e414ec16f4d3118d831a52c45b7ce1065a1e5363440b858ee7e87284ab6b39ee7b65135744887a4e6724bd805b6915ecab8d073bbcfd2c990611639a666821c3bb5b429942b87a4e6724bd805b6915ecab8d073bbcfd2c990611639a666821c3bb5b429942b88569b96b80a22df02711616884647040f6224f62af32122d03cf2ddf873d1e896c5025bdbb8022e7b10b5e79d4d1a4369e4e48a82f9f82b3f786f184d0d465896c5025bdbb8022e7b10b5e79d4d1a4369e4e48a82f9f82b3f786f184d0d465883b4d954222e836a02e7ab2be5cdba2c9a145c525f6d68de6d847686539826ec40f54e195b30bb0741c53351fb6edce722f042731a9e615c1c3c34b0c038b70140f54e195b30bb0741c53351fb6edce722f042731a9e615c1c3c34b0c038b701d666b97e5752359119d820b335c6dee7f014b410e843685195c50a1cd43232d261bb93cc0d68a9f8533264b3e88a477b751a9c95fe7a8505c32a64db48be71d961bb93cc0d68a9f8533264b3e88a477b751a9c95fe7a8505c32a64db48be71d9ebcc382d4ba5cc2e5cc143c833da3b1d34da4332dec85cce876b801ef95e7106931fc8951588354e6289056dcb694e468a207ad73823c2e1422e19c8885b3012931fc8951588354e6289056dcb694e468a207ad73823c2e1422e19c8885b301290cf11ef404d08c749cfc9eb3e10454eb8f584ed83c31fcb9ca5fb69edbd9212f6f540905273287b5299d54eadb0b44bf16756607285b2ddcade2a1502de30baf6f540905273287b5299d54eadb0b44bf16756607285b2ddcade2a1502de30ba2b19cb91942d1c66b527ce8b288cfcc03cdbe3b7e8d24ef39df6d9c5b6be459a2863401e1bc160eab5671de6b353465e6722e0ce7060f1ca79b838d69b5487392863401e1bc160eab5671de6b353465e6722e0ce7060f1ca79b838d69b5487393c6cd67bac3e091b9efdf09bb5d2c7a5ec588d8ea6a1b9c336d5afff8caba7a56b277fec5c042ba02d9174694947512efaf4a8bac7c477df968ca667b935657e6b277fec5c042ba02d9174694947512efaf4a8bac7c477df968ca667b935657e83b41310afbc2a7e41760535b94f2cdcb8f3a2e4237ec4f1f1403448878b1738e9a792f0ca1f45f43c65c4c978ccd4e11d138fd38dfc0a1fd9fceabe88a82d48e9a792f0ca1f45f43c65c4c978ccd4e11d138fd38dfc0a1fd9fceabe88a82d48f2a47cdc091c1dfb0d89edc2bf4e9469fcfd11d45a2d0da20599772a68763d861152ae2343948cbb1f49a6e0c222062419165dbe1df77091c96548d791a3a5631152ae2343948cbb1f49a6e0c222062419165dbe1df77091c96548d791a3a563cd4b0541d2771d22cc40c2dd0141a9fa73bb2343b34cb04d055be75b76a27e8accf2f41ecc87249c0dd99a808ceac30a20edd0a2b211e3891071839a5b9a7adaccf2f41ecc87249c0dd99a808ceac30a20edd0a2b211e3891071839a5b9a7ada196917a8188e6409623cd795eab3859d2a7dafefd9e818ef3f51b2f7aea23c14e00cafaa4c841937566f87c39e6ec615b1ee985dcfaa330fcf1884660240db09e00cafaa4c841937566f87c39e6ec615b1ee985dcfaa330fcf1884660240db092b2d4df8e7611a645c5aeac203d67f07fbdf1eccb46e2da11b0fcc9f27849933d43da468272ca21ef90ba9c4e2caf568d296cf010a8e397c759ce7386b6dd123d43da468272ca21ef90ba9c4e2caf568d296cf010a8e397c759ce7386b6dd12382b53d300074793bdca0bf8086506335bfd87da11c3e53b5a815fd914a416ba7248de3541ca67f64d0404cce68428c0655883026a5af08e277e4e10491b82ad8248de3541ca67f64d0404cce68428c0655883026a5af08e277e4e10491b82ad84205bc80baab4df39384e94f5e82aa504f8abcc403997491ed80f2c41651e486b2d89d440e1d5846d4a57f0d54ca13d86f8c3d14b6c3fa11d71c01ddeb6c0294b2d89d440e1d5846d4a57f0d54ca13d86f8c3d14b6c3fa11d71c01ddeb6c0294b622e9a97b291d6f61af08a53e687946014a9a0e1d221a558e2e00f4135be51b0c3516159e0d15fd5deb6e8f1482d6d7a8e08baffd6b3ac40746d2a2754424f90c3516159e0d15fd5deb6e8f1482d6d7a8e08baffd6b3ac40746d2a2754424f96c87dfe8981fa041c699b9b7fbc820d7499d1f18f66aa327bc64799041130f30776f4f6fdb6ba8ff8cc6b8f7cc4dab8720b51227eb3daeed6db217a169f16089776f4f6fdb6ba8ff8cc6b8f7cc4dab8720b51227eb3daeed6db217a169f1608988b09199f7e3ca5f01bb35e78c52a82a3e096b971abf3482bb947f5b9c2f9cb5d4bea61f7a89712cb8355c2ddb2f92d68d65abde4cd15b6ab65f7bb2de179457d4bea61f7a89712cb8355c2ddb2f92d68d65abde4cd15b6ab65f7bb2de179457fb9024bf57bc4e26ce6c1396ddd885ee57fd4c6aabe3841e0e84b7f0303bff611c14f99a34fae759ee41efa23d523ac1c62d9db5949f2a880624dd89098c099d1c14f99a34fae759ee41efa23d523ac1c62d9db5949f2a880624dd89098c099dfd1791c69c351458109ce5621d1cb32af857806536e9fc2a1fa2bf18e26fe41c5e49f372fc6bb6d6143acbc8d0de3d686af654968fe2f0bfbd0e6e5a7a7752c95e49f372fc6bb6d6143acbc8d0de3d686af654968fe2f0bfbd0e6e5a7a7752c96842d046466a5d27442da38b4fe361e696f83641f8028daa4e5dd97cec3b0a8dbe851808ecd8ab77aa86f379d06915ce74c395e92ebbf2b982eff77b090a4cc1be851808ecd8ab77aa86f379d06915ce74c395e92ebbf2b982eff77b090a4cc16d643fa95d976ed8c2c0287bfe782289d3835cef85d5e2f60e81cc1d4beb7bc8e1d590306f82216aae2c728b282fbe2dfa738142ede03e2cdd74b6a2b02f2482e1d590306f82216aae2c728b282fbe2dfa738142ede03e2cdd74b6a2b02f248249a39909908102801a38044a80bfaa99eb1421502d314215e84d9f2e2b7abd5fc4f0a4b970a8d065cae6004019f744e6693018b0d530880db1c150877d0d2ff5c4f0a4b970a8d065cae6004019f744e6693018b0d530880db1c150877d0d2ff58ea586873ed890e7ac6ef0409eb04624f8480386c2319e47c9c9e95e65ee19b328c15d219d4bbcd44684c15b1654b73ceecfcf32f7c813cfdbbca838cba1e8ec28c15d219d4bbcd44684c15b1654b73ceecfcf32f7c813cfdbbca838cba1e8ece3033b6761be7634c4f7e2cb92f337f6dc03bbbe45c86ce7fa28356bfea471bd0555f871f4b09d0da046115ec78fe6b315e767091d9a40ae54c86fa348c009ee0555f871f4b09d0da046115ec78fe6b315e767091d9a40ae54c86fa348c009eedbbc404d17c7fe421d208a3359e4a3d58d6abfa59efdaede657bf9d866024d71478290651c08beae2c91e2334593fe0a1475a2fed44edc1e206c6a4890958ed8478290651c08beae2c91e2334593fe0a1475a2fed44edc1e206c6a4890958ed898eb6606282f6638ba07e762ea452e54278868776a71e42e408d3f9a87d70edbcdc7bc4d3106179166c9df2dda3821ffb82170c91ac4bcde904fbadb7f300d7acdc7bc4d3106179166c9df2dda3821ffb82170c91ac4bcde904fbadb7f300d7ae4d4e42ccdfb4ae78bcf8859feaca778506c37a6cec7dcf767c0ed934621bb5e5339793078fe1911e3d87180507345142d212a2b03ae68ee9b578610cf1bafd35339793078fe1911e3d87180507345142d212a2b03ae68ee9b578610cf1bafd347be7f0af441a39fd769907805fdff264b84023e5552d449c4b0a1e4fed026e972c2cf3125de23d8b8691906de8adc4022145d6460c8480d0adceebc3db693ce72c2cf3125de23d8b8691906de8adc4022145d6460c8480d0adceebc3db693ce593f78a8009b35116174d50bbd37d5f43bc711b63b039dc7818e47868ebbca9d6ba2299286aef21c555288ed9b26c4fe4571bcd1873ad788eac6664badc751696ba2299286aef21c555288ed9b26c4fe4571bcd1873ad788eac6664badc75169e26020270b932a6f85d2f5f1476d3ae4221f737e33948d670e489b4c1e23554955d83b7c11f7d5866472c63a21f6c407715af049c7e946ffb189a052dfd9957555d83b7c11f7d5866472c63a21f6c407715af049c7e946ffb189a052dfd9957556892592cd569c213dd0399840f59779d87b5c8e50f82d4a6d10f78dde94787e4117a24109d74409a4f8ed6a1493f2dc7865b0e9877d8ee5c9133b07e637c2a24117a24109d74409a4f8ed6a1493f2dc7865b0e9877d8ee5c9133b07e637c2a2ebc6af978a49456b82308fd2e7b23d4109c9b640d3df6051149edbff6c3ec08ffb2b943506f1b6940acde49e6570d607732e4780f978ca27f15fb4c829336eacfb2b943506f1b6940acde49e6570d607732e4780f978ca27f15fb4c829336eac7f1b9d54ba7945b52bff74e8bbfa82000c186e3137a9c3ac255a23eb08c6e5beb3dcc705d355c3924061b406abcadadba327af705d023835f0c52da18248bf1ab3dcc705d355c3924061b406abcadadba327af705d023835f0c52da18248bf1a9f620a5c0a8aba0d3ce62d247345c7d437fe7fafddc546b295bbbed8cb3ee8247b5acdba83ad3a9202850c425106de5ddceb7cc291f8e0f804f1078a5468d6a37b5acdba83ad3a9202850c425106de5ddceb7cc291f8e0f804f1078a5468d6a339187a12f3fd69748ad96e53931aaf6d449fb800a74bc77c08d3a953a188b87859651d1f30f69b5f5db7ee7577f386aec408aa39abbada37b9cb62d62adb307b59651d1f30f69b5f5db7ee7577f386aec408aa39abbada37b9cb62d62adb307be9d229a39fb9e86c7bbdd3279af5c3a9ba3d0cc317f9e76bdf3388225948c3ea48d4cc8cc7e8a7c904ec7779e27901ff0dd65e61978189d47658633ba79d60e148d4cc8cc7e8a7c904ec7779e27901ff0dd65e61978189d47658633ba79d60e1dfddc3d2140ee4abc3854f1bfc7d5c8d7d40bd594d489e7254733061a9de2430290da9ca3fd1d736ba52914b9b9e1712460a6ed111295a13a882bab3ea4021bd290da9ca3fd1d736ba52914b9b9e1712460a6ed111295a13a882bab3ea4021bd2cac4a28e68e6138ac3c9c6283de571fe1ad26d3250024a42607fc5c4f8d1c90c6e0ef23696b902a2d705c7ea51a2f801966daf1101ad17307a9b20cffd706e9c6e0ef23696b902a2d705c7ea51a2f801966daf1101ad17307a9b20cffd706e933346300a8ed7d1d5d1d9dff4b44f4c4a3416ea1f27a54a83609b390e3ee47ca6bfc678196f58faaa7c5842f6a016cbe1796e68383381aa5bd7a26d32fd574db6bfc678196f58faaa7c5842f6a016cbe1796e68383381aa5bd7a26d32fd574db9b8c659de36f1149bd6d402b78afa49dc6f410da6606f74867d1ebf33d5fc3e495561382d700eaf22f81fd75adf44f2c4dcf71f68193fe0ec6dc07dfa8dd02e195561382d700eaf22f81fd75adf44f2c4dcf71f68193fe0ec6dc07dfa8dd02e160309a101b2843576406c1d584cc3492b433cd9158914ee7a9e9195d1372d5c82439f8522dede93d68d16b0c9b7b89831b5f54fdc3327dd0dfd21a7c7040119a2439f8522dede93d68d16b0c9b7b89831b5f54fdc3327dd0dfd21a7c7040119a349d182ef37b80eac7154ceffb38998ed7d82cdc3162f5be33a2dfd1bdbb278fda1f45233242aa969cec9a9bdbe4fe7c409495249a12f005fa108b7e3eaa25eada1f45233242aa969cec9a9bdbe4fe7c409495249a12f005fa108b7e3eaa25eab28d2296b937d17f1493e9b83d6f698dd3184e042f1ae187e20ac1a228c7033344fe037e4bbbe5396192b32222bb40430ec2b63d4cb514bf8e1614fafaf7e94d44fe037e4bbbe5396192b32222bb40430ec2b63d4cb514bf8e1614fafaf7e94d6f45dc12e5513755b80b72ff41e4eda6e20dd231967bae9dbbd0e8d074665208dfd50f411c93a9a0cc7f8409c08efbfddee5c95c32c545a05b47b9e3e1add8f3dfd50f411c93a9a0cc7f8409c08efbfddee5c95c32c545a05b47b9e3e1add8f3fa8dcec00cf13099b626c14bf90f6f518da89d8746badf5086edef1c48100b95f55499fa834a7a4acea80a462bf6a0ce85f179d7a03d961dd37be0ccd339e94af55499fa834a7a4acea80a462bf6a0ce85f179d7a03d961dd37be0ccd339e94a2539b65855a24ae30f600df23d2cabfd62c0aca481041d6d6cbbd5102bbbfa69046d406961491ed74213bca94b0f15a8be16dd18b587ce68c44a425bd9e57a0c046d406961491ed74213bca94b0f15a8be16dd18b587ce68c44a425bd9e57a0cf9f3e0d2d86df21e47aea10610849021c6a62a521fdc609baa082ccd1b76e2f0fe4eae8685e689da504a286a4ab3d80e3a9403fde4a83d1e8886fc278e35f28cfe4eae8685e689da504a286a4ab3d80e3a9403fde4a83d1e8886fc278e35f28c9dcfb0d38bef409fbd31155faddaad6a25dedebb5fda03adb4dcd293f949a296190d42a28d9ecfed4f616b809400ac85bc06436f56efbaab5d65a6366ed302be190d42a28d9ecfed4f616b809400ac85bc06436f56efbaab5d65a6366ed302befebd70156413f83af99ba3920577886bb5bf72c4698a5cdbdbcb069f6380d28b033a7973c0cf31200f164f48afd1aae901433f6ea8da2591538e4e7909869e37033a7973c0cf31200f164f48afd1aae901433f6ea8da2591538e4e7909869e375aef95657cfc447df93291db9d37e098bb3b08ac98629eaf03ec48ccdcd4d60b5480826437a4dd491a1906fb59e9eea534bd5a4e59e527674bd1cbbbd318befa5480826437a4dd491a1906fb59e9eea534bd5a4e59e527674bd1cbbbd318befa98280b6fdbe7f564b964f308d201688029fb7de4e859d0bffc99f24f8f6d4624787211cab31f809ad9f50a1e4ad666d1215f08c89b285608ae0cd611ec507d86787211cab31f809ad9f50a1e4ad666d1215f08c89b285608ae0cd611ec507d86102f0afa617b9a6b743722cc351de04babd1d2ecf2db289ff3c9ee505c82e9cf52b6ba2dbc67658c8b1c11d02b0385cba02da1006fd9f271e2540b3d0e230efa52b6ba2dbc67658c8b1c11d02b0385cba02da1006fd9f271e2540b3d0e230efa2ee9dc8d806c0b5edefeb551b2b0e273f6161e4cf91e79231d45e67a9ffb83b36302a9a81caf99b55f462e0bed287695f6120ad74a2caf015dcb322e8ee82a4c6302a9a81caf99b55f462e0bed287695f6120ad74a2caf015dcb322e8ee82a4ca7bc703efc0ed1f633765478634d62fca7d2bdf2cd1ace121165a08319d1c0ff20b1047d0c702e8e5683e01e3143b3becfd292e1ed54516972a6c2067fa96a1720b1047d0c702e8e5683e01e3143b3becfd292e1ed54516972a6c2067fa96a17842cd6a2d4df925e8cec58a7ab9aa431b309cc7df9e490aa3a1509db3721653ace2625c0f2d391dfc8f8de29d559563e3f8521f7a757ed90764212b76b5da89bce2625c0f2d391dfc8f8de29d559563e3f8521f7a757ed90764212b76b5da89b15d09df258a1bcf8565498bbe1163de421a743cb1fd571dc3bd86d37e15ab9637541dc7ea90ea40efb5e016c4c49aec61bb42129b8a31db95454835606b1dc037541dc7ea90ea40efb5e016c4c49aec61bb42129b8a31db95454835606b1dc03266e554114b294817eacabf28a067d1adba55ea73191d103a50a97dd688c07f7ae07265dd5349ee680ab687ec1ccc6cd4a45d9170b08438191f39b7dcee7dbccae07265dd5349ee680ab687ec1ccc6cd4a45d9170b08438191f39b7dcee7dbcc3eeb82634e1896d41054d4c540e341d447db53c46953a88f182207b7f7ba7db8cad456445f8ebc09b1b4d408a6a98074f14b709daafc79b3c978c56ea37bd1d0cad456445f8ebc09b1b4d408a6a98074f14b709daafc79b3c978c56ea37bd1d0f7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411df2f6f0eb5e0e8e856d58e210d9ae9b374e9713957580c87618768b1a820fa618f2f6f0eb5e0e8e856d58e210d9ae9b374e9713957580c87618768b1a820fa6183bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece20883884426da340b3a08124e44596f68ff24643ad668cc427b90b0cf8547f7a05c94b84426da340b3a08124e44596f68ff24643ad668cc427b90b0cf8547f7a05c94bc25ab3ca08d3c84d7ce0a8ddf1dbed93bc494545ba9ed8788a13ed30b53a34b2d89de818c663ce6ea6e4b0312570994abcc7e0ebae5df451f5e6ea24bdbf3644d89de818c663ce6ea6e4b0312570994abcc7e0ebae5df451f5e6ea24bdbf364444405358dad92df56ff072dba25cd6c0ed10a7853713ba3de35e16a14daa558e0545d1e8fdb29453e3b80cfc7f2d51978a924288cf270f6b4f5e71986badb3e00545d1e8fdb29453e3b80cfc7f2d51978a924288cf270f6b4f5e71986badb3e06fcdd2edaedc8e365ccc81011e67f7c8d82faec5d397b83f704cfed3e510218cb93cd084da6f2e02bbe4b6eb127bd9edeac5278799eda3abdbd8e7628d6697acb93cd084da6f2e02bbe4b6eb127bd9edeac5278799eda3abdbd8e7628d6697acbab6953b875945aa9958e6c036cc991e3ff7be7541ed3f5ed353921971afb3efff268878b2c965ee44118bb51439b7e25e4ba2e7a33075e7a79adab70ddec844ff268878b2c965ee44118bb51439b7e25e4ba2e7a33075e7a79adab70ddec844c7e2ef775f2470320fd236a7fdb055fd5974dc20115697fc4c276d6175517cf6178c7a43ad15deb6e1904d3624e49c6660623049010fb8a6cb60db5bca230aa0178c7a43ad15deb6e1904d3624e49c6660623049010fb8a6cb60db5bca230aa08ba15560241431b5ddd0b94258eaac1618f88490133ca102798161dbf5f339ef8b347e019e38d1f126b3b921ad25555a2f154236121fa1d0098dd1833ec43dea8b347e019e38d1f126b3b921ad25555a2f154236121fa1d0098dd1833ec43dea86268d30baf6263b84e371748590843ee943bb77a83f50585d5a53d8cb1085ff795a3700d01fd765f3c3e67e4c7937362eed558485c85b3e1699e58e17424ded795a3700d01fd765f3c3e67e4c7937362eed558485c85b3e1699e58e17424ded43c84aa57b9d794146af9c15c4b07a2095fc04ca90592cdff1c18eb8f7a3a2aecfc42ca622f8393befeb1c818b4739f442e6d41976cdd46b60da0cef2530c990cfc42ca622f8393befeb1c818b4739f442e6d41976cdd46b60da0cef2530c99000da64980c3024cd7614893cfdf055ee9a2c8deda53f8c3cffa57c10123cf32ad17c9cf6a573c7bcb35b90cdb39c526e364e2e637e95520f983da3d88ca4df9ad17c9cf6a573c7bcb35b90cdb39c526e364e2e637e95520f983da3d88ca4df9ab7a110bad459758622127944aca1e18553f3fc3f480933790489a66d0ab58031d1685d55f8cec7c15745249a355a664ed4de201fd0f7fd43a19edbb432692886d1685d55f8cec7c15745249a355a664ed4de201fd0f7fd43a19edbb4326928861de1937370511368345806c96f5536f5d92a57c01556b822c200d28e51fd6139c2f464c1ab5106b62631e0c9f85475d51bf4a7060ab9e218bf7cd45dfe18d465c2f464c1ab5106b62631e0c9f85475d51bf4a7060ab9e218bf7cd45dfe18d465cd6089c3b7cdf7649ec2077cb78d8789bdb6dd9b4f2934909edda521deea77ed097fa000b590fdfed9162fd7e0db48f8b81a9c050d515669e21676898930f24f097fa000b590fdfed9162fd7e0db48f8b81a9c050d515669e21676898930f24f72e7c038f4a7de3db4c5ca236f5f19cc01936f4004ce3ca1da9f11c19ffc0e439bdd9b59e1305c703ec776f0f5711b83df1b1bc8be0ee90bfbd70e71c544e1ac9bdd9b59e1305c703ec776f0f5711b83df1b1bc8be0ee90bfbd70e71c544e1ac8aefe68b9046ff4939f07f35f05a79453f74f0ad88652c02357cee569231ef54241a45b77e39099319b680bf8eedf12de3fe9282527b95cb23f0801afc8211a7241a45b77e39099319b680bf8eedf12de3fe9282527b95cb23f0801afc8211a748d60cb926c6f808296b7fa4b0fa7cc4ee3a2d4703b3d3bcd530301d68842f81eb3f132112e648265e980cca610d9274df7c6cef0256a6c23c8fd21c2191f410eb3f132112e648265e980cca610d9274df7c6cef0256a6c23c8fd21c2191f410c9c904b38d3f272eb36142541c2184f6334b5f3da49acf1d133320637b15312bf8dac0d583ee8bfc3d052ad06f9731044017893ea3ea65c137d20ca56365a034f8dac0d583ee8bfc3d052ad06f9731044017893ea3ea65c137d20ca56365a034653384cdec194ffb9a1fc8ef62fac95f8a9f0f6beffe8c2d4be8fc65187ab503f32d306bb72d760f173fb77a2d0d401617a42752c52f21a43062863fcaa85307f32d306bb72d760f173fb77a2d0d401617a42752c52f21a43062863fcaa85307078f822e67fee74d487e57fb15a363303e1db73b35698d218368524b32d6f418b32d156cd45feda47530504b715c08918c66d5f8480886a8c24e4d3e3612743ab32d156cd45feda47530504b715c08918c66d5f8480886a8c24e4d3e3612743a75b3923880fbc4f8f1fafd0f9301a537d61fab91ca7b1dda9713aa3525aa163786f3df335870e31b6625799f9c55b95e17c5163e1d95605c6c916231d1f00cf486f3df335870e31b6625799f9c55b95e17c5163e1d95605c6c916231d1f00cf443d932e36422f43a423644b045c3a0d491416a568be928c9bddcfe57ce91d51abcfd9450203b6be90552d54de6798339c15e4c70b83284c69435c799b5b4a40fbcfd9450203b6be90552d54de6798339c15e4c70b83284c69435c799b5b4a40f35b3c58eb20c4d6a08516618d7f1df71316bd70a6f7f597040dfc5dda54a10cb8eea46c536d32e86a58ed5c3f38d3b002b6587964774bed85253f265d9bd6c241e5cefdf557907f6291e05dd9fe357d3306aafbcb1131e25a4790970cf6237e738a509b75561f917c3d7edf1f2edd9d1c9765188996751a3c0f0bdafe5e0423754a93ee55f720ae3b54907f5def625e15c2bf019c24e0af9f9a8cd00c46ab1a99a8492a580bf85d3e98ae8861fbd45567e5a1f83eeafcf9574da0399d5f602ab39ab7ccd9f4e82579da78a9241265df288d8eb65dbbd7cf48aed2d0129887df5691597e8a40a891ea94d3589976ecfc33e6145c49422443b00ac2b5a0022964cf0e6cd91b837d5c5644d026e5ffeccd907953317cd5c0f689901733afda260b2c108f5cbf2dd9ec07a26530695ddd95e1664597ce6c056ae44c162cc2e28cec4ddf5dd4e0ef2b185e8bb0af7b6e90ebe74a84384cb4700658e76e754c8bfe550f6f1c1bedf1a0f37cfef81d12f5f012869d1ee7c984775a569827a1784d34f5c54270656df079c4da5182629a080fc633b6f84b87985eb016d25a560e2c38d4aa2ccfdc001858222885a9df39200840ac7a3f479ba889727d32a10398db7918a4f907b912e024625d36b8af307f1043e6ebc97074e31216175d14bb74c370dc3cb36e80beaf2a527d463da552a5c679a46c4ff8c881318a194bb0ccb61cb2d5ca42b23e21050a0f0f90c1f7a443b8087a409771611eae402861959a793be38e853f9f6be37d5c395c125a53dbf39c697fc3e5fd44a5f09f0d99710910f840dd650a34bad4a30a4b5b0a1bac46183e16c545442193bb822135c040daa8bae49d0b714a956eaa534038df27e0b43d08f529aa0895316b9b5de15a2705c1a47cf9ee8ea86d36177a3faf0bedbbfa70031350e721a7f0fab8526be36093ab666be97822182bb6da3d1295aeb92a1c14c42419e325559abf461268a17c5210c19a9721fc8c6a6e5db5e2b802fbb671fa104ee32e29b1701a35a8fc65ded848cb984b4b6a25595686705dab08245c0a5e4ef5852173d9cc4b5ae1b6e89f31b7780632bf9e90c9df5f2c6af0f6d5a2ae4c4011471df1b2e03598faae60a1613d5cf7bc063a83085d86e5c2b56ce5076fadf6489ea93de3ac44ae9fa69e4c7a39ab291e80f7aaf4c55925407436653f949791694831419f27fa4a83b10b2f735a8971ff17e939740c7b4469e60d7ecbba091971fd72a9940a9fb02d91cf4d7813feacb5bc1c572418a4035c66191f95e1500dd3462764f916f683b1b06a78a3fe8d8529a433dce1c9b9152af258a84042741feea52e78ee0aeea6a438fd5b59fcac2a3b71bf8b7f7affee67f19707d3514c565805efdf2e5801ea6b4186a3bed176e197540e9c2b688f78c0cd43c60298ecd353fcd54745bb6e83a3ffa6b0fb19e1936fbd34922fbaf2352268c029b1b0384477b0e94a5e651a0af6b7a2a1d3dd74e7d87f386222130f684ad9c976d3658a0b49e6829b119d624d8bb6ebfd54de6781aa7c49011f6319a4e68b113f2c7e54d97c8e13f42513543ab0402c125cb9f05cba1cbc52866a97f4c9cfe240f672c48f7cf41d0899ba4c71ff165440be87e8a660cb7d1d00b641b7209da983e7b97f5f40466e1109dbed4a10d75a26ae3c9e8abd822578e0880ab474eeb037544f9d4ad41381ef69efb0d41d7e976a3cb64ae5d0c62a6b617571a4ea026747642b43bca73b8dcd39fda1a34344f726e30318253058339cd27415634bbc639ffd62dcb4558985a7ab0e964709bb58cd6379bf79ca71de46a65539051a2108e1445ba8d2ec1fb3bfa5ecafad935e526a3cae09c4639b402b792ce87e56458b6701630f9fd1f04940748e48876c8ea877b559cf07b879fefea393ea09c85991fecef8d0df4130f7cb146f49003a84700a4deb7e5f3485553509448ea1b58b894a6dece4a158e759af730f324f9e9e3b36f32abab550ed8e961459052dc6a9ca57e587cbd89105322af6b87cb73d1b59f0e8b4ea4bf8135db0209c66f39c915bc343fb2d375175780311b23be085c4a11be9f7b92f419aa0231f1466476248f76f778d5bff1c3898c8930d3df088e612f6fa83c15c6b0b7b9ce56f04e8002ac161fe9532fcff6961fdc3eebf0c7d8f7f5a84afb7a7d9f85949a40094f0acbdde5950edaad6a73829bdbc71cc9eecd1fdeaaf21411f380c65cc41468aca1e069bd6a6300547393e9350807de058d23b8b94838e509c0f6505cdcc1390fda7e0c56cec8d3da43b24f4fa7c4170b2b2c067004ce87d841e24bfc97ab32ac8775bea86337f08bd3e598acdc452c3408953560568affda91c1378404ed5ab5a61f2090ba4204ba7a4098b0ed955a25dc19818261f2f10b380aeb492d6962f8696c7b2d7aceb1f6fb24b12eaea1322e5fb3789217e892770b753ab7b2bd6fc64cb81b74a116cd9bb35da33b47781769051882b1cdd68a9a3eaee18d8d9074ddeaf61c4ae63ecfe0d07a386a6b8f852d61678ce2dd427429bd5dabafcb91fe9fad064c988fe93b9a4ee64e78e43bdfc7774013e1d1e3eaee4c37a8a03a4ef5618173e56a8a91d27a8a5ed8b1c09ee1e9fb2f5070ab1e70da7a2979db26ace9575c4b1f8ec4ed1b97f7763b56f37f7c7f87c8c0b9a1021f07fc2379f99497f5a2414664835b4cf4f2dd9598637a99ce8327abf54c0999260998ffe4df439067ca91cb2d1fa96ca0c5e4f8c64c0c6847305ed12e52b3eac39289252faee80d5fda1081e53622c48be1663941c34aa91e91b4f97ee349f003bf6f55d3b060a8f7a8f9a26cb299110e83b010c75fa93a5a01cdfd4293265be5f7104b5d671ede826d94624a9e80a0048b41160ad82d68d55a7cee7500ff47b8f9b9375398a6cbc80eafc46e2170614a3b44d302669724935e8b45e79ef016d47533f5f5e89e2dcab450f354631c8b92187c2dc93b7e318f296d4b535db1cd87dc7785b666e60beddeba764c95109415217f36bd3f566a309232c8ccc6f62d5307e3642142909b8dca372945d2abfbbe505dc52ebf465efe8dcde1bc4d185efe68a1ca92c1f8efd60d8312607dc8b4bc88e23e980525478c066c1f6cd7fcadbf906969c262e11e562cad6ba8f03b09ac7d90b1e0a20f99a90dfdd8a4906fc14e1742bebc68d78bb08d350557c0f3c2564455b5a75964b2d2c8e2c7ab0325cfe6af6df70922a273511ffff7a9adc9ea8cad449c39b480fff95999d0d521415251cfb41f6333f458272a5a54c177c2bb0e7fbcd7b3d484fe44b5ff2583b2e5a4ca3add542c3535f6c4c9e0c04c3d47b290833ff9fb4688bc54e9f9e4eea9799da2ae531f0695369e38f236d91ce7c9f0336b578c5d71c2325018568d1323ab3e939f48be353a6d9b98bb6e8127b7bda8085e2923fcd3f43991ca4982cf33fd15eeecf5286e6f74315f4c26e9b5ba9a81747e8cded4583b3a01075f41c0018d07409b11f334c0b651c18ea1262de47c958f1c55cd73ae1298203ddc4b339607a54e5757ea7cd001bde2436792f558e4ad962d34f732ccc7ac4f60f906a9e15b801141c19f55e2c743f4a1d97e33331600d3c8e9a4e7e70ec164b34c42e874717e736bd0898f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a3b0f474e2891ab3746f751e317f7750300b653dfa59d93248f00b6426fb7acbfc55c02e1d32fcf2af5800f0204a952aad0d572c217c8fb468cf7e5ef38d5b5104f6a9c99d36c51fabdd3e290c6a7fafb8252e6f34627d37d133ee9381a7880e543c53cdbea7e37fce8da22413e338f63f6d3349c7d6f7fdceea3f7d03e49f06e021b42a30a7a1f340211764fd0175b935260f4f118b71f3f8d991f1c98176367d694c67682fc130b5181faa370489ab34a256dcd0210e598efaaa89055569a4e8b4d11dc9ce933ade05544a38d7eb98a7cb3bee40b45e5529dfad6759bc4bce572375e7a3d4681f8845cac7589a1995888b3538b36e4998483ee1160acda632f93bde7ed61a45ffaeca5f30f39c5d0e7f8d4eea081530bad71f7a321ab17a96d32ae1d7da399c5a652f7c8ef5017f3b6787c2e18c5821a7ebf74be3894909eeec33a663212e8c8cfbb70cb97a25f928e435170a9fdbf135a402dd5b075d0898f8525766aa8e80a2b0a18914f365a95bd62122cf802e254c7604acdea331cc30965dbd04c66c424f7a075688ed3e1151b67ada50d18bfbcd8c24bbf850e69a2c8b637683be10c1c09fcb754b15040c82bd08bc570a03d9aed1cdd3058f1206a2768aacc9ee32b01c698904032cc0c0fdc5210fd424bf58b7c915623698ffce3cf68aacc9ee32b01c698904032cc0c0fdc5210fd424bf58b7c915623698ffce3cf687f439b07fa1f0c51efc84c2eaca42150393736557c570936b8d16335bd3214d1c5ef169692ff1eb72d9f065d135f52bfdec35226674ae64c7ba4592833d9e1831dbda3667f443e976f6018558232ae3e4223c3724ebe023fa4b422c109ff9d5b70fa6b0952a2e692cce280ab6d4fe24fc1c8f3ae2aa3469ed3bc998a188c00def49b49b09adc4f78517a343dcb7d8a265391bc8a0570a2e5b037866a9cc8e0b7b0efd564f7672855271223b886d05a44742fe883ff9abeac52bbf013f93c4c2e5c51d2ae6918572e77eb7a365f69ab2134fe2468a895a732cc29812d305ee5877ee5f8afc2d06bf79da9056ad672743f8c496ea9fdea5fa25f14d1a12c4d2520a3b1a52d315e501b87e3fe1df85f27a35e24d84b86a166c48d12ff88cd7c33a00424a8169c9fe3fbb432e1d4b465e1947bbe65cb9b152762f2d973f1212de2a6a0f3223f80b6f27f67746d07180ce2fc1cbc88115226e0abe65a32891e899324f322c9968cfe4700849041add2d0a229b748f506339aab5832a4fe1ceb62b93f34e43913f6be5d9e7799744b6db55e9f5ace0a48f14019ed75725135499a8cf71bc042d4dfc31d580c38078cb1cf93cb695ebb662a99fc3079bb06a314c8729d049568a23c298be7b7909173bc76e104a96dc0200011ce4c8231201b8ba2049b6473c445512c484684c021ab24b9e01aef2a59b35e8e43cbb94b08817c86bc9d1b05d15804cb021758eb47165e5ce8ef2d44f00774cceb1c51fddbf3f542473c7412b1db29d8420a6e0ebbf71c3083166b90cfecefcdf871ebd48f121656a791bd72fce139b0cdfa27cd6975fb99dfed3c1654900bd5afcfce05415d36d7586c5fd1645ac428bc5cf8d15fe6c62ac33ba7ff0c6ecb02ba723792ae5e0faea0c96b6af7f4b6377f611cae0abc250c02b6aeb9eee9a924ee127cfa5e05823a3e0b21531fff65779582448c27513f29d1259f3651174c8e3bd6722789e4f880ae2c99ccb44bcfffb5afd535d25e9ff7a3e9561fcbb547b0540a9b913b7e49d201ea9c10af412e2243223a098140d6cf4d7eac733ac5f0c192087e28c4c020eeeecf59842395aa67adc362596e7744ae1cdd686d07918521a9f08491f61b90667dd2298494556073b302f73b6f63e2d3c43ab24af299422e485559620941d8e8b59bf81ead9e52fa91425e4ed01b8c62f9b4ed78c354dab8037f38681ce625f0c89bf81ead9e52fa91425e4ed01b8c62f9b4ed78c354dab8037f38681ce625f0c8740230fd4ea5234edb022142e723bb3651328adb48f3b85162c00c469e6800515a04f523772a0887451e8194e7158299fdca6fae3d58192cf5c1c23bfe09795d5a04f523772a0887451e8194e7158299fdca6fae3d58192cf5c1c23bfe09795d63f739ef798596adcd2b8319a1561a7dcdd2b43af30f6d7d4697f46dd19635e82c9c154736dbc6765cb2c1fb6b93b2b15bce9ff66e7fbb94f87305a715d2bfa6e5ac24e9d4fe974fe66b85a18d15c4fd4039d9345093061c59b164db575896db110e8e15511ad849007e4f8b685cb990f1cb86b7f472708c48a3731d01f08e52a28669e1a52cf3e60521cec677471373fee5c30de3d7033782c9487659d2fcea50d4599a4b4c44727a9085cfad14e0a4939317d4f44eba2c11cfcc9ebb0696eaf433b1acea75ebc78753560466dfd6e46a53fd07ec848aeaabed2ac554753a4a80d7117b7a7b1ae77a4b9add07ce1b6f46d9b3069609704d98ad411ace47ea7580d7117b7a7b1ae77a4b9add07ce1b6f46d9b3069609704d98ad411ace47ea75429cd109a2de597644b589f0e0a5fc78e603c8ae766219323137ea51848baf14e5059db58ce5c3bb5fafe3f4b02c4e729930a4f6f5bb98f67a8cd0c714cca10ee5059db58ce5c3bb5fafe3f4b02c4e729930a4f6f5bb98f67a8cd0c714cca10ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553a88bae69842b09124e15798904bdd74963b1342181ad994a4eb1418516cd47c3a88bae69842b09124e15798904bdd74963b1342181ad994a4eb1418516cd47c7ad32ad6307d2d44a1a5e3cf94a8545561aa8158fdab4c70bc2e951d7a2610a03115a9e359ca65e32803ebc390bd4ab427aee2da721b506bf47a779cc8d66c323115a9e359ca65e32803ebc390bd4ab427aee2da721b506bf47a779cc8d66c32a613373321625b26eca3f49dc89e3798b7bb3d70a68ea19c22ba8076a294524aaf77c134f89b64db7d6df9640b3d5195daae9bbb395984975012952244ccc043af77c134f89b64db7d6df9640b3d5195daae9bbb395984975012952244ccc04329bb497d8585cb07059483157a7b6eb4beb4e831b56ce1fa5266c565d8c10fe5e01a9a2be3d477d743e1762d11c5b9144ef04a802a8ed23ce6ffa9e02ac36369ce42a828f8e7cc644c2e096f13d70fb17d90002a700cbf40f05defc1f4d4fcce9ccc12545732877b498b11e2951bcf854a6d996ddf3a7f7ef7f78d66eee9617a0be796d09674ddf6bd79665844d7d65f7ab549faff1fb79ba415e0504258f8ff0be796d09674ddf6bd79665844d7d65f7ab549faff1fb79ba415e0504258f8ff60ea20f3ef494f2f16c99c5da401d5532a7228cde3ca9816fdd734928c39b648609d61c93f3b92abbe7ae0c1a8bc89a0269c86a21039477ffa76005dd5b8f60e609d61c93f3b92abbe7ae0c1a8bc89a0269c86a21039477ffa76005dd5b8f60e06b1a320ee4c317e84c60df978a83673b214063f066986bb5629bffd74594fc38177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806439b1e2d8830389bc31d1089e924f0baf48dd2504d177c72c5c08620217fc8167ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85580dcfdfefe1b9e25b9ed1ed17f1f4dea976b066dacc890dbce0b633c49c6e3eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlucilucilucilucilucilucilucirootlucilucilucirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootluciluciluciluciluciluciluciluciluciluciluciluci-0.26.0-93.el6.centos.src.rpmconfig(luci)sasl2auth.soluciluci(x86-32)@  @@@@@@@     @ /bin/bash/bin/sh/bin/sh/bin/sh/bin/shTurboGears2chkconfigchkconfigconfig(luci)coreutilscyrus-saslinitscriptsinitscriptsiproutelibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1.3)libpthread.so.0libpython2.6.so.1.0libsasl2.so.2opensslpampython(abi)python-pastepython-repoze-who-friendlyformrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)sedshadow-utilsutil-linux-ngrpmlib(PayloadIsXz)0.26.0-93.el6.centos2.1.222.61.7.2-53.0.4-14.6.0-14.0.4-14.0-15.2-14.8.0XXx@XS@X>@X2X,J@X)@X%X$a@X&X@X@V3V3VIV@V@VvVvV<@VU[%U[%UHT9T9TT@T@SvSS@SS^SSS;@SǺSQ@S @Sh@SSS@R[RD!RD!R6R7R q@R@R@Q@P @PqP @P @P @PP@PN@PPPP{Px@Puc@Pr@Pr@P@@O@O@OO@Oc+@Oc+@O`@OU@OTOG{O>A@O:LOKN/NFNNx@Nw.Ns:@Ns:@NqNh@Nf @Nf @NRDNNP@NI @N@NpNpMMM>MUMMx@MMMp@Mn1@MfH@MbSMK@MK@M4/@M Lr@L+@LmL^@LRLQm@LN@LMxL=L - 0.26.0-93Jan Pokorny - 0.26.0-93Jan Pokorny - 0.26.0-92Jan Pokorny - 0.26.0-91Ryan McCabe - 0.26.0-88Jan Pokorny - 0.26.0-87Jan Pokorny - 0.26.0-86Jan Pokorny - 0.26.0-85Jan Pokorny - 0.26.0-84Ryan McCabe - 0.26.0-82Ryan McCabe - 0.26.0-81Ryan McCabe - 0.26.0-80Jan Pokorny - 0.26.0-79Jan Pokorny - 0.26.0-78Ryan McCabe - 0.26.0-77Ryan McCabe - 0.26.0-76Ryan McCabe - 0.26.0-75Ryan McCabe - 0.26.0-74Ryan McCabe - 0.26.0-73Jan Pokorny - 0.26.0-72Jan Pokorny - 0.26.0-71Ryan McCabe - 0.26.0-70Ryan McCabe - 0.26.0-69Ryan McCabe - 0.26.0-68Ryan McCabe - 0.26.0-67Ryan McCabe - 0.26.0-66Ryan McCabe - 0.26.0-65Ryan McCabe - 0.26.0-64Ryan McCabe - 0.26.0-63Ryan McCabe - 0.26.0-62Jan Pokorny - 0.26.0-61Jan Pokorny - 0.26.0-60Ryan McCabe - 0.26.0-59Jan Pokorny - 0.26.0-58Jan Pokorny - 0.26.0-57Ryan McCabe - 0.26.0-56Jan Pokorny - 0.26.0-55Ryan McCabe - 0.26.0-54Jan Pokorny - 0.26.0-53Jan Pokorny - 0.26.0-52Jan Pokorny - 0.26.0-51Ryan McCabe - 0.26.0-50Ryan McCabe - 0.26.0-49Jan Pokorny - 0.26.0-48Jan Pokorny - 0.26.0-47Jan Pokorny - 0.26.0-46Jan Pokorny - 0.26.0-43Jan Pokorny - 0.26.0-42Jan Pokorny - 0.26.0-41Ryan McCabe - 0.26.0-40Ryan McCabe - 0.26.0-39Ryan McCabe - 0.26.0-38Ryan McCabe - 0.26.0-37John Ruemker - 0.26.0-36Jan Pokorny - 0.26.0-35Ryan McCabe - 0.26.0-33Jan Pokorny - 0.26.0-32Jan Pokorny - 0.26.0-31Ryan McCabe - 0.26.0-30Ryan McCabe - 0.26.0-29Jan Pokorny - 0.26.0-28Ryan McCabe - 0.26.0-27Ryan McCabe - 0.26.0-21Ryan McCabe - 0.26.0-20Ryan McCabe - 0.26.0-19Ryan McCabe - 0.26.0-18Ryan McCabe - 0.26.0-17Ryan McCabe - 0.26.0-16Jan Pokorny - 0.26.0-15Ryan McCabe - 0.26.0-13Ryan McCabe - 0.26.0-12Ryan McCabe - 0.26.0-11Ryan McCabe - 0.26.0-10Ryan McCabe - 0.26.0-9Ryan McCabe - 0.26.0-8Ryan McCabe - 0.26.0-7Ryan McCabe - 0.26.0-6Ryan McCabe - 0.26.0-5Ryan McCabe - 0.26.0-4Ryan McCabe - 0.26.0-3Ryan McCabe - 0.26.0-2Ryan McCabe - 0.26.0-1Ryan McCabe - 0.23.0-32Ryan McCabe - 0.23.0-31Ryan McCabe - 0.23.0-30Ryan McCabe - 0.23.0-29Ryan McCabe - 0.23.0-28Ryan McCabe - 0.23.0-27Ryan McCabe - 0.23.0-26Ryan McCabe - 0.23.0-25Ryan McCabe - 0.23.0-24Ryan McCabe - 0.23.0-23Ryan McCabe - 0.23.0-22Ryan McCabe - 0.23.0-21Ryan McCabe - 0.23.0-20Ryan McCabe - 0.23.0-19Ryan McCabe - 0.23.0-18Ryan McCabe - 0.23.0-17Ryan McCabe - 0.23.0-16Ryan McCabe - 0.23.0-15Ryan McCabe - 0.23.0-14Ryan McCabe - 0.23.0-13Ryan McCabe - 0.23.0-12Ryan McCabe - 0.23.0-11Ryan McCabe - 0.23.0-10Ryan McCabe - 0.23.0-9Ryan McCabe - 0.23.0-8Ryan McCabe - 0.23.0-7Ryan McCabe - 0.23.0-6Ryan McCabe - 0.23.0-5Ryan McCabe - 0.23.0-4Ryan McCabe - 0.23.0-3Ryan McCabe - 0.23.0-2Ryan McCabe - 0.23.0-1Ryan McCabe - 0.22.6-1Ryan McCabe - 0.22.5-1Fabio M. Di Nitto - 0.22.4-2.0.b9faf868074gitFabio M. Di Nitto - 0.22.4-1.0.b9faf868074gitRyan McCabe - 0.22.4-1Ryan McCabe - 0.22.3-1Ryan McCabe - 0.22.2-11Ryan McCabe - 0.22.2-10Ryan McCabe - 0.22.2-9Ryan McCabe - 0.22.2-8Ryan McCabe - 0.22.2-7Ryan McCabe - 0.22.2-6Ryan McCabe - 0.22.2-5Ryan McCabe - 0.22.2-4Ryan McCabe - 0.22.2-3Chris Feist - 0.22.2-2Ryan McCabe - 0.22.2-1Ryan McCabe - 0.22.1-3Ryan McCabe - 0.22.1-2Ryan McCabe - 0.22.1-1Ryan McCabe - 0.22.0-16Chris Feist - 0.22.0-13Chris Feist - 0.22.0-11Fabio M. Di Nitto - 0.21.0-8Ryan McCabe - 0.22.0-4Ryan McCabe - 0.22.0-3Ryan McCabe - 0.22.0-2Ryan McCabe - 0.22.0-1Fabio M. Di Nitto - 0.21.0-7Ryan McCabe - 0.21.0-6Ryan McCabe - 0.21.0-4Ryan McCabe - 0.21.0-2Ryan McCabe - 0.21.0-1Ryan McCabe - 0.20.0-1- Roll in CentOS Branding- Further fixes for rhbz#885028 and rhbz#1173942 Resolves: rhbz#885028 and rhbz#1173942- Further fixes for rhbz#853462, rhbz#877999 and rhbz#885028 Resolves: rhbz#853462, rhbz#877999, rhbz#885028- Fix side navigation panel displayed unexpectedly when accessing index page without prior logging in after luci start Resolves: rhbz#853462 - Rectify suboptimal logrotate arrangement imposing server restarts Resolves: rhbz#887340- luci: Support method attribute for fence ipmilan Related: rhbz#1337718- Ensure luci cannot change its own bootstrap configuration in luci.ini Resolves: rhbz#991608- Remove temporary seeding file leftover/s upon uninstall Resolves: rhbz#988985- Allow for listing configured actions per particular resources Resolves: rhbz#1173942- Add authenticity check of ricci instance via its public key fingerprint Resolves: rhbz#885028- luci: Fix cluster shutdown action Resolves: rhbz#1316970- luci: Add support for Oracle Data Guard resources Resolves: rhbz#1316952- luci: Suport fence_ilo_moonshot luci: Add support for fence_ilo_ssh fence devices Resolves: rhbz#1337718- Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- Further fix for configuration logic wrt. SSL/TLS insecurities avoidance - Enforce new configuration of luci self-managed certificate, preserving the possibly modified content in a backup file Related: rhbz#1156167, rhbz#1156187- luci: Fix handling of binary totem "secauth" attribute Resolves: rhbz#1285840- luci: Allow RRP configuration for UDPU Resolves: rhbz#1273954- luci: Support alternate timeout attributes for fence devices Resolves: rhbz#1255207- luci: Fix defaults for dlm/gfs_controld plock_ownership Resolves: rhbz#988945 - luci: Fix allowed values for totem/@secauth Resolves: rhbz#1285840- luci: Remove references to named_sdb Resolves: rhbz#1208649- Make luci implicitly avoid SSLv2 and SSLv3 versions of the protocol, and also by default, disable RC4 cipher (unless overridden by user) at both the web browser/HTTPS (rhbz#1156167) and ricci daemon/SSL (rhbz#1156187) sides of communication Resolves: rhbz#1156167, rhbz#1156187 - Update luci self-managed certificate signature digest from sha1 to sha256 Related: rhbz#1156167, rhbz#1156187 - Force generating luci.ini anew on update otherwise intended security hardenings will not take effect with luci already in use (and avoid respective downgrade issues, both using a mechanism already in place) Related: rhbz#1270958- Prevent clickjacking (malicious use) of luci and enable enforcement of some more web service security mechanisms Resolves: rhbz#1270958- luci: Rebuild for changelog cleanup- luci: Add support for fence_emerson and fence_mpath Resolves: rhbz#1210683- luci: Add expand/collapse buttons for each inline resource Resolves: rhbz#919223 - luci: Preserve expert mode resource attributes when editing service groups Resolves: rhbz#1112297 - luci: Warn when config can't be set or activated Resolves: rhbz#1136456 - luci: Update fence_virt / fence_xvm labels Resolves: rhbz#1204910- Rebuild for new stop image Resolves: rhbz#1111249- luci: Add expand and collapse buttons for services Resolves: rhbz#919223 - luci: Add a "stop" service action in expert mode Resolves: rhbz#1111249 - luci: Don't lose nfsserver "nfspath" when not in expert mode Resolves: rhbz#1112297- luci: Add a cancel button to the services add resource dialog Resolves: rhbz#886526 - luci: Add support for miss_count_const Resolves: rhbz#917761 - luci: Add support for rrp_problem_count_threshold Resolves: rhbz#917773 - Luci: Indicate that shutdown_wait is ignored for postgres8 resources Resolves: rhbz#917781 - luci: Add support for the fence_apc cmd_prompt attr Resolves: rhbz#1010400 - luci: Don't let the add resource button disappear after adding a VM Resolves: rhbz#1100831- luci: Don't active new conf if any of the nodes didn't receive it Resolves: rhbz#1136456- luci: Fix editing services that VM references- luci: Fix editing services that VM references - luci: Fix error in fence_lpar form luci: Fix issues with bind-mount resource name display Resolves: rhbz#1117398- Resolve newly introduced issue with doubled Edit Fence Instance forms Related: rhbz#1127286 (CVE-2014-3593)- Resolve issue with custom luci launcher upon update while luci running Related: rhbz#1026374- luci: Allow & in XML attribute values Resolves: rhbz#855112 - luci: Fix positioning of sort arrows Resolves: rhbz#919225 - luci: Allow nfsclient to be a child of nfsserver Resolves: rhbz#919243 - luci: Remove bad default values for startup_wait and luci: Remove ssh_options fields from fence agents that do luci: Support newly added bind-mount "name" attribute Resolves: rhbz#1117398- Additional fix for regression with "extensionless" node names Related: rhbz#999324- Fix luci unable to handle node name ending with recognized filetype extension Resolves: rhbz#999324 - Add a custom luci launcher allowing sane Python runtime + SELinux coexistence Resolves: rhbz#1026374 - Fix privilege escalation through cluster with specially crafted configuration Resolves: rhbz#1127286 (CVE-2014-3593)- luci: Update the fence_kdump config forms Resolves: rhbz#918795 - luci: Move sort arrows for resources Resolves: rhbz#919225 - luci: Cope better with editing services containing VM Resolves: rhbz#1100817 - luci: Add support for the bind-mount resource luci: Update fence_brocade luci: Add support for the reboot_on_pid_exhaustion luci: Remove mention of fenced skip_undefined luci: Add support for the postgres-8 startup_wait attr luci: Add the ssh_options attribute to applicable fence luci: Add support for the no_kill attribute of the VM luci: Add support for the use_findmnt attribute Resolves: rhbz#1117398- Fine-tune update-downgrade-uninstall scriptlets as changed in rhbz#991575 fix and modify new suggested value in sysconfig file Related: rhbz#991575- luci: Add support for the IP "prefer_interface" attr Resolves: rhbz#917738- Fix breakage upon update due to changes introduced with fix for rhbz#991575 Related: rhbz#991575- Add the ability to block weak ciphers (revisited) Resolves: rhbz#991575- Add the ability to block weak ciphers Resolves: rhbz#991575 - Check length of secret on startup Resolves: rhbz#982771- luci: Don't remove attributes from xvm fence devs in Resolves: rhbz#1004011 - luci: Fix for option to completely disable rgmanager Resolves: rhbz#723925- luci: Add option to completely disable rgmanager Resolves: rhbz#723925 - luci: Disallow XML-unsafe characters in attribute Resolves: rhbz#855112 - luci: Add support for configuring missing totem Resolves: rhbz#917771 - luci: Add support for fence_kdump Resolves: rhbz#918795 - luci: Add support for sorting by columns of the Resolves: rhbz#919225 - luci: Don't allow nfsclient without nfsexport Resolves: rhbz#919243 - luci: Fix broken display on permissions page Resolves: rhbz#988446 - luci: Don't write type attribute for oracledb for Resolves: rhbz#1003062 - luci: Allow configuration of more fence_xvm attributes Resolves: rhbz#1004011 - luci: Fix default value for post_join_delay Resolves: rhbz#1004922 - luci: Update name for fence_egenera Resolves: rhbz#1008510 - luci: Support configuring "self_fence" attribute for Resolves: rhbz#1019853 - luci: Add support for the apache "httpd" attribute Resolves: rhbz#1061786 - luci: Add support for newly added nfsserver statdport Resolves: rhbz#1070760 - luci: Fix crash when config contains a globally defined Resolves: rhbz#1100817- Postpone fix for luci not running after reportedly started due to missed corner-case Related: rhbz#877999- Additional fix for support for missing fence devices Resolves: rhbz#917747- Do not propagate "unfencing" verbatim to configuration Resolves: rhbz#883008 - Add a guard to enforce code validity during compilation phase Related: rhbz#883008- Fix short exposure of authentication details while generating configuration file Resolves: rhbz#1005385 (part 1) - Fix hidden untrusted path and "command" (callable association) injection Resolves: rhbz#1005385 (part 2)- module_name parameter for fence_drac5 is optional, not required Resolves: rhbz#1001835 - fence_ilo denoted as HP iLO / iLO2, but the latter has a separate entry Resolves: rhbz#1001836- Default syslog facility is "local4" (not "daemon") Resolves: rhbz#896244 - Fix cluster_version mismatch upon adding 2+ nodes Resolves: rhbz#978479 - Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- luci: Add support for TNS_ADMIN in oracle agents Resolves: rhbz#983693- luci: Make pop-up messages act like static status Resolves: rhbz#773491 - luci: Add support for fence_scsi 'delay' attribute Resolves: rhbz#883008 - Enable the ricci and modclusterd services when creating a Resolves: rhbz#886517 - luci: Remove useless "remove this instance" button Resolves: rhbz#886576 - luci: Add support for missing fence devices Resolves: rhbz#917747 - luci: Ask for confirmation when removing a cluster Resolves: rhbz#917814 - luci: Update Oracle agent configuration Resolves: rhbz#983693- luci: Make pop-up messages act like static status messages Resolves: rhbz#773491 - luci: Fix uncaught exception luci: Fix for tracebacks when no nodes can be contacted Resolves: rhbz#878149 - luci: Don't let anonymous users access the preferences page Resolves: rhbz#878960 - luci: Fix garbled error messages Resolves: rhbz#880363 - luci: Add support for fence device attributes Resolves: rhbz#883008 Resolves: rhbz#917743- Revert the change that caused pop-up dialogs to be centered. Resolves: rhbz#773491- Correctly display the 'type' attribute value when editing an oracledb resource Resolves: rhbz#886678- additional fix for luci support for fence_sanlock (in technical preview)- luci: Update unfence when renaming fence devices Resolves: rhbz#882995- luci support for fence_sanlock (in technical preview) Resolves rhbz#877098- luci: Cont'd fix of controller wrt. unicode Resolves rhbz#807344- luci: Fix matching of unfence blocks Resolves: rhbz#815666- luci: Fix the interaction of the force_unmount and nfsrestart checkboxes Resolves: rhbz#822502 - luci: Error out if max_restarts is set but not restart_expire_time is not luci: Fix handling of subtree options Resolves: rhbz#877188 - luci: Fix value for LVM self_fence Resolves: rhbz#877392 - Remove trailing commas that cause problems for some old Resolves: rhbz#881796 - luci: Audit of resource agent checkbox input Resolves: rhbz#881955- luci: Cont'd fix of templates wrt. unicode Resolves rhbz#807344- luci: Add missing JS include Resolves: rhbz#822502- luci: Allow global resources to be referenced multiple times Resolves: rhbz#860042- luci: Fix label on fence_hpblade form Resolves: rhbz#865533- luci: Add support for fence_eaton_snmp Resolves: rhbz#865300 - luci: Add support for fence_hpblade Resolves: rhbz#865533- luci: Add back missing unfence patch Resolves: rhbz#815666- luci: Add the ability to remove users Resolves: rhbz#809892- luci: Add support for the IBM iPDU fence device Resolves: rhbz#740867 - luci: Center popup messages Resolves: rhbz#773491 - luci: Fix handling of resource and services luci: More fixes for resource/service/failover naming Resolves: rhbz#807344 - luci: Fix unfence display on node page Resolves: rhbz#815666 - luci: Add support for fence_ipmilan privlvl Resolves: rhbz#821928 - luci: Add support for nfsrestart Resolves: rhbz#822502 - luci: Fix double click on add existing dialog Resolves: rhbz#856253- Fix bz853151 ("No object (name: translator) has been registered for this thread" due to private threading) - Fix bz826951 (Prevent from invalid ID and IDREF values in cluster.conf)- Allow altmulticast port overlap and address overlap as long as both don't overlap the primary channel's values.- Fix the handling of power wait for fence_intelmodular- Fix bz820402 (fence_ifmib and fence_intelmodular disappeared from the fence device list) - Additional fixes for the RRP configuration interface.- Additional fixes for bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional fix for bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration)- Fix bz803398 (Luci shows incorrect verbosity level for sqlalchemy logging facility) - Fix bz801491 (A global resource with "." in the name of resource will throw an error in luci)- Additional fix for bz690621 (Luci Debug options for end users to enable)- Fix bz800239 (Add support for KVM --tunneled migration option in vm.sh resource script)- Update the fix for bz786584 per the latest updates to the condor resource agent.- Additional fix for bz749668 (Invalid fence configuration causes luci database corruption) - Fix for bz796731 (Error 500 from luci when try to edit a Service)- Fix bz690621 (Luci Debug options for end users to enable)- Fix bz786584 (condor_schedd Resource Agent integration)- Rebase to latest upstream version. This pulls in fixes for: - bz690621 ([RFE]Luci Debug options for end users to enable) - bz704978 ([RFE] UI: Make it easier to tell which resource a “Add a child resource” button belongs to.) - bz707471 ([RFE] Make reboot icon more obvious) - bz755092 (Luci does not expose the force_unmount option for filesystem resources) - bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration) - bz744048 ([RFE] A confirmation box before removing clustered services from conga.) - bz749668 (Invalid fence configuration causes luci database corruption) - bz758821 (cman and corosync RRP handling are not consistent and needs improvements) - bz768406 (The "monitor_link" ip attribute default is backwards) - bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional cleanups for dialogs that were not reset properly when closed.- Additional fix for bz705884 (luci chokes on working cluster.conf line) - Fix to mitigate SELinux issues (bz737635)- Additional fix for bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Additional fix for bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz599074 ("Use same password for all nodes" doesn't work.)- Add a note about the implications of creating, deleting, and editing service groups on the admin page.- Make sure cluster permission database objects are created properly after a cluster is destroyed, then recreated.- Additional fixes for bz522005- Additional fixes for bz522005- Fix bz733084 (Cleared options are not saved correctly in Virtual Machine services) - Additional fixes for bz522005- Fix a regression introduced by the fix for bz522005- Revert bz703574-2.patch as there is no /usr/bin/sqlite on RHEL6.- Fix bz729730 (Windows 7 IE 8 will fail with error opening url for luci cluster management) - Fix for bz522005 that re-enables the warning added by bz671285- Fix bz522005 (improve upon existing luci user access controls/roles) - Additional fix for bz703574- Fix bz703574 (Luci Configuration Backup and Restore) - Fix bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Fix bz643488 (UI: inconsistent lower/upper casing) - Fix bz671285 (And warning text to Luci UI about relying on UI w/o core understanding of clustering)- Fix bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz632536 (luci UpgradeTest-selinux Test) - Fix bz664036 ([RFE] Conga should ask for confirmations before executing certain destructive operations)- Fix bz705072 (Support new fence_vmware agent configuration) - Fix bz718355 (Logging feature in Luci not working as expected) - Fix bz632536 (luci UpgradeTest-selinux Test) - Fix bz705884 (luci chokes on working cluster.conf line)- Fix bz707918 (Luci doesn't allow subsequent service changes when non global filesystem resource is added)- Fix bz705111 (When editing a failover domain without restricted/prioritized, adding a node has no effect) - Fix bz714285 (Migration of VMs doesn't work from luci GUI)- Fix bz711625 (Unable to create a cluster of KVM guests)- Fix bz711625 (Unable to create a cluster of KVM guests)- More fixes for bz617586 (Implement progress dialog for long-running operations) - More fixes for bz616239 (Need option to completely destroy cluster) - More fixes for bz557234 ([RFE] luci update to handle private network/hostnames for cluster create/config)- Fix bz617587 (Luci doesn't display underlying errors) - Fix bz617586 (Implement progress dialog for long-running operations)- Additional fix for bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix possible exception path in the luci cluster model object related to bz624558 (replace broadcast option with udpu) - Correct duplication of the fence brocade menu item in the fence devices section related to bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz639120 (Create "expert" user mode)- Fix bz682843 (luci still tries to setup obsolete smb.sh Resource)- Fix bz680173 (Add support for DRBD resource agent in luci)- Fix bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz678424 (can't add node to existing cluster)- Fix bz678366 (fence management not fully functional)- Fix bz659014 (Luci returns an Error 500 when accessing node configuration with FQDN names)- Fix bz616239 (Need option to completely destroy cluster) - Fix bz624558 (replace broadcast option with udpu) - Fix bz666971 (Disable updates to static routes by RHCS IP tooling) - Fix bz605932 (Missing "reset to defaults" button in qdisk configuration) - Fix bz639123 (Disable action buttons when no nodes are selected)- Fix bz622562 (Need to add support for unfencing conf. generation for SAN fencing agents and fence_scsi) - Fix bz472972 (Separate the Oracle 10g Failover Instance in Conga to two resources called "Oracle Instance" and "Oracle Listener") - Fix bz557234 (luci update to handle private network/hostnames for cluster create/config) - Fix bz600078 (Warn about qdisk use for certain configurations) - Fix bz624716 (luci displays misleading error status on initial cluster configuration pages) - Fix bz633983 (Luci does not handle parameter "nodename" related to fence_scsi fence agent correctly) - Fix bz536841 (Need ability to change number of votes for a node through luci) - Fix bz600057 (Fix node uptime display) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support) - Fix bz618701 (Spaces in cluster name confuse luci) - Fix bz620343 (Consider renaming "Services" to "Service Groups") - Fix bz620373 (Consider changing the tab order) - Fix bz620377 (Drop-down menus do not remember the selection) - Fix bz632344 (Enable centralized logging configuration via Luci) - Fix bz636267 ("Update" buttons at "Fence Devices" tab do effectively nothing) - Fix bz636300 (Egenera fence agent: specifying username not arranged correctly) - Fix bz639107 (Add luci support for configuring fence_rhev) - Fix bz639124 (Reconcile local database with changes in cluster membership made outside of luci) - Fix bz613155 (running luci init script as non-root user results in traceback) - Fix bz614963 (Python 2.6 deprecation of BaseException.message) - Fix bz637223 (Cisco UCS Fencing Agent) - Fix bz643488 (inconsistent er/upper casing) - Fix bz639111 (Support configuration of non-critical resources) - Resolves: bz622562 bz472972 bz557234 bz600078 bz624716 bz633983 bz536841 bz600057 bz613871 bz618701 bz620343 bz620373 bz620377 bz632344 bz636267 bz636300 bz639107 bz639124 bz613155 bz614963 bz637223 bz643488 bz639111- New upstream release (0.22.6)- New upstream release (0.22.5) - Display all fence and resource agents for Fedora clusters - Add support for fence_rhevm and fence_cisco_ucs - Cleanup of cluster.conf handler - Fixes for running on TG2.1 - Allow configuration of saslauthd - Enforce a 15 minute idle session timeout - Add back node uptime to the cluster node list display - Allow users to configure the ricci address and port for cluster nodes - Fixes to cope with cluster membership changes made outside of luci- Fix CVE-2010-3852 (bug #645404)- New upstream release (0.22.4) - Steal fixes from upstream git up to b9faf868074git Fix bz622562 (add support for unfencing) Fix bz624819 (add compatibility with TG2.1) - Update spec file to support alphatag- Version 0.22.4 - Remove extra debugging logging from the fix for bz619220 - Fix bz614130 (implement tomcat6 resource agent) - Fix bz618578 (ip resource should have netmask field) - Fix bz615926 (luci does not handle qdisk / cman config correctly) - Fix bz619220 (Luci does extra queries which slows down page load) - Fix bz619652 (luci sometimes prints a traceback when deleting multiple nodes at the same time) - Fix bz619641 (luci init script prints a python traceback when status is queried by a non-root user)- Version 0.22.3- Fix bz614433 (cannot configure ipport for fence agents) - Fix bz617575 (Unclear options when configuring a cluster) - Fix bz617591 (Some fields when adding an IP address are unclear) - Fix bz617602 (Fields in "Fence Daemon Properties" have no units) - Fix bz618577 (wrong message displayed when adding ip resource) - Fix bz619220 (Luci does extra queries which slows down page load)- Additional fixes for bz600027 (Fix cluster service creation/configuration UX issues) - Additional fixes for bz600055 ("cluster busy" dialog does not work) - Fix bz618424 (Can't remove nodes in node add dialog or create cluster dialog) - Fix bz616382 (luci db error removing a node from a cluster) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix bz600027 (Fix cluster service creation/configuration UX issues) - Fix bz600040 (Add nodes to existing cluster does not work) - Fix bz600045 (Removing nodes from existing clusters fails) - Fix bz600055 ("cluster busy" dialog does not work) - Fix bz613868 (Remove fence_virsh from luci UI since this fence is not supported with RHEL HA/Cluster) - Fix bz614434 (adding an IP resource ends with an error 500) - Fix bz614439 (adding GFS2 resource type in RHEL6 cluster is "interesting") - Fix bz615096 (Traceback when unchecking "Prioritized" in Failover Domains) - Fix bz615468 (When creating a new failover domain, adding nodes has no effect) - Fix bz615872 (unicode error deleting a cluster) - Fix bz615889 (luci cannot start an imported cluster) - Fix bz615911 (luci shows many unsupported fence devices when adding a new fence device) - Fix bz615917 (adding per node fence instance results in error 500 if no fence devices are configured) - Fix bz615929 (luci generated cluster.conf with fence_scsi fails to validate) - Fix bz616094 (Deleting a fence device which is in use, causes a traceback on Nodes page) - Fix bz616228 (Clicking on cluster from manage clusters page results in traceback (500 error)) - Fix bz616230 (Clicking on the join button doesn't work on nodes page) - Fix bz616244 (Clicking on the leave button doesn't work on nodes page.)- Fix bz600021 (Fix node fence configuration UX issues)- Build fix for bz600056- Build fix for bz600056- Fix bz604740 (Support nfsserver resource agent which is for NFSv4 and NFSv3) - Fix bz600056 (Replace logo image)- Fix bz600059 (Hide optional fields for fence_scsi) - Fix bz600077 (cman "two_node" attribute should not be set when using qdisk) - Fix bz600083 (Add text to broadcast mode to note that it is for demos only - no production support) - Fix bz605780 (Qdisk shouldn't be part of the main page, it should be in the configuration tab)- Fix bz598859 (Adding fence_xvm fence device through luci interface throws TypeError Traceback) - Fix bz599074 ("Use same password for all nodes" doesn't work.) - Fix bz599080 (Conga ignores "reboot nodes" check box) - Fix bz600047 (luci allows deletion of global resources that are used by services) - Fix bz600050 (luci requires wrongly requires users to fill interval / tko / minimum score / votes fields for qdisk configuration) - Fix bz600052 (luci allows deletion of the last qdisk heuristics row) - Fix bz600058 (ssh_identity field values are dropped) - Fix bz600060 (Formatting error on fence devices overview page) - Fix bz600061 (Default values not populated in advanced network configuration) - Fix bz600066 (Update resource agent labels) - Fix bz600069 (Configuration page always returns to General Properties Page) - Fix bz600071 (If luci cannot communicate with the nodes they don't appear in the list of nodes) - Fix bz600073 (Update resource agent list) - Fix bz600074 (Fix display error on the resource list page) - Fix bz600075 (update fence_virt / fence_xvm configuration) - Fix bz600076 (When creating a cluster no default radio button is selected for Download Packages/Use locally installed packages) - Fix bz600079 (Unable to edit existing resources) - Fix bz600080 (Homebase page only shows a '-' for Nodes Joined) - Fix bz602482 (Multicast settings are not relayed to cluster.conf and no default) - Fix bz603833 ("Nodes Joined" in main page is inaccurate when no nodes have joined)- Fix missing requires which will cause some installations to fail - Resolves: rhbz#598725- Fix for bugs related to cluster service creation and editing (bz593836).- Fix remaining unresolved issues for 593836 - Make sure the cluster version is updated when creating services - Fix a bug that caused IP resources to fail in services- Rebuild to fix a bug introduced during last build.- Fix service creation, display, and edit. - Fix qdisk heuristic submission.- Rebase to upstream- Added static UID/GID for luci user - Resolves: rhbz#585988- Add support for PAM authentication - Resync with main branch - Resolves: rhbz#518206- Do not build on ppc and ppc64. Resolves: rhbz#590987- Update from devel tree.- Update from development tree.- Update from development tree.- Rebase to luci version 0.22.0- Resolves: rhbz#568005 - Add ExcludeArch to drop s390 and s390x- Remove dependency on python-tg-devtools- And again.- Fix missing build dep.- Add init script. - Run as the luci user, not root. - Turn off debugging.- Initial build./bin/sh/bin/sh/bin/sh/bin/sh  !""$%%'((*++-..01134467899;<<>??ABBDEEGHHJKKMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuuwxxz{{}~~      "##%&&())+,,.//122455788:;;=>>@AACDEEGHHJKKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.26.0-93.el6.centos0.26.0-93.el6.centos0.26.0-93.el6.centos       !luciluciluciluci.confluciluciluci-0.26.0-py2.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtpaster_plugins.txtrequires.txttop_level.txt__init__.py__init__.pyc__init__.pyoconfig__init__.py__init__.pyc__init__.pyoapp_cfg.pyapp_cfg.pycapp_cfg.pyoconfig.tmplenvironment.pyenvironment.pycenvironment.pyomiddleware.pymiddleware.pycmiddleware.pyocontrollers__init__.py__init__.pyc__init__.pyoasync.pyasync.pycasync.pyocluster.pycluster.pyccluster.pyoerror.pyerror.pycerror.pyoroot.pyroot.pycroot.pyotemplate.pytemplate.pyctemplate.pyoinitwrappers.pyinitwrappers.pycinitwrappers.pyolibClusterConfAction.pyAction.pycAction.pyoAltmulticast.pyAltmulticast.pycAltmulticast.pyoAltname.pyAltname.pycAltname.pyoApache.pyApache.pycApache.pyoBaseResource.pyBaseResource.pycBaseResource.pyoBindMount.pyBindMount.pycBindMount.pyoCluster.pyCluster.pycCluster.pyoClusterNode.pyClusterNode.pycClusterNode.pyoClusterNodes.pyClusterNodes.pycClusterNodes.pyoClusterfs.pyClusterfs.pycClusterfs.pyoClvmd.pyClvmd.pycClvmd.pyoCman.pyCman.pycCman.pyoCondor.pyCondor.pycCondor.pyoDLM.pyDLM.pycDLM.pyoDRBD.pyDRBD.pycDRBD.pyoDevice.pyDevice.pycDevice.pyoEvent.pyEvent.pycEvent.pyoEvents.pyEvents.pycEvents.pyoFailoverDomain.pyFailoverDomain.pycFailoverDomain.pyoFailoverDomainNode.pyFailoverDomainNode.pycFailoverDomainNode.pyoFailoverDomains.pyFailoverDomains.pycFailoverDomains.pyoFence.pyFence.pycFence.pyoFenceDaemon.pyFenceDaemon.pycFenceDaemon.pyoFenceDevice.pyFenceDevice.pycFenceDevice.pyoFenceDeviceAttr.pyFenceDeviceAttr.pycFenceDeviceAttr.pyoFenceDevices.pyFenceDevices.pycFenceDevices.pyoFenceXVMd.pyFenceXVMd.pycFenceXVMd.pyoFs.pyFs.pycFs.pyoGFSControld.pyGFSControld.pycGFSControld.pyoGroup.pyGroup.pycGroup.pyoHeuristic.pyHeuristic.pycHeuristic.pyoInterface.pyInterface.pycInterface.pyoIp.pyIp.pycIp.pyoLVM.pyLVM.pycLVM.pyoLockspace.pyLockspace.pycLockspace.pyoLogging.pyLogging.pycLogging.pyoLoggingDaemon.pyLoggingDaemon.pycLoggingDaemon.pyoMaster.pyMaster.pycMaster.pyoMethod.pyMethod.pycMethod.pyoModelBuilder.pyModelBuilder.pycModelBuilder.pyoMulticast.pyMulticast.pycMulticast.pyoMySQL.pyMySQL.pycMySQL.pyoNFSClient.pyNFSClient.pycNFSClient.pyoNFSExport.pyNFSExport.pycNFSExport.pyoNFSServer.pyNFSServer.pycNFSServer.pyoNamed.pyNamed.pycNamed.pyoNetfs.pyNetfs.pycNetfs.pyoOpenLDAP.pyOpenLDAP.pycOpenLDAP.pyoOraDG.pyOraDG.pycOraDG.pyoOracleDB.pyOracleDB.pycOracleDB.pyoOracleInstance.pyOracleInstance.pycOracleInstance.pyoOracleListener.pyOracleListener.pycOracleListener.pyoPostgres8.pyPostgres8.pycPostgres8.pyoQuorumD.pyQuorumD.pycQuorumD.pyoRefObject.pyRefObject.pycRefObject.pyoResources.pyResources.pycResources.pyoRm.pyRm.pycRm.pyoSAPDatabase.pySAPDatabase.pycSAPDatabase.pyoSAPInstance.pySAPInstance.pycSAPInstance.pyoSamba.pySamba.pycSamba.pyoScript.pyScript.pycScript.pyoService.pyService.pycService.pyoSmb.pySmb.pycSmb.pyoSybaseASE.pySybaseASE.pycSybaseASE.pyoTagObject.pyTagObject.pycTagObject.pyoTomcat5.pyTomcat5.pycTomcat5.pyoTomcat6.pyTomcat6.pycTomcat6.pyoTotem.pyTotem.pycTotem.pyoUnfence.pyUnfence.pycUnfence.pyoVm.pyVm.pycVm.pyo__init__.py__init__.pyc__init__.pyo__init__.py__init__.pyc__init__.pyoapp_globals.pyapp_globals.pycapp_globals.pyoasync_helpers.pyasync_helpers.pycasync_helpers.pyobase.pybase.pycbase.pyocluster_conf_helpers.pycluster_conf_helpers.pyccluster_conf_helpers.pyocluster_permissions.pycluster_permissions.pyccluster_permissions.pyocluster_status.pycluster_status.pyccluster_status.pyodb_helpers.pydb_helpers.pycdb_helpers.pyoflash2.pyflash2.pycflash2.pyohelpers.pyhelpers.pychelpers.pyoluci_tasks.pyluci_tasks.pycluci_tasks.pyoplugin_sasl2auth.pyplugin_sasl2auth.pycplugin_sasl2auth.pyopyopenssl_wrapper.pypyopenssl_wrapper.pycpyopenssl_wrapper.pyoricci_communicator.pyricci_communicator.pycricci_communicator.pyoricci_defines.pyricci_defines.pycricci_defines.pyoricci_helpers.pyricci_helpers.pycricci_helpers.pyoricci_queries.pyricci_queries.pycricci_queries.pyostrings.pystrings.pycstrings.pyomodel__init__.py__init__.pyc__init__.pyoauth.pyauth.pycauth.pyoobjects.pyobjects.pycobjects.pyopubliccsscluster.csscreate.cssfailover.cssfence.cssglobal_res.cssimagesui-bg_flat_0_aaaaaa_40x100.pngui-bg_flat_75_ffffff_40x100.pngui-bg_glass_55_fbf9ee_1x400.pngui-bg_glass_65_ffffff_1x400.pngui-bg_glass_75_dadada_1x400.pngui-bg_glass_75_e6e6e6_1x400.pngui-bg_glass_95_fef1ec_1x400.pngui-bg_highlight-soft_75_cccccc_1x100.pngui-icons_222222_256x240.pngui-icons_2e83ff_256x240.pngui-icons_454545_256x240.pngui-icons_888888_256x240.pngui-icons_cd0a0a_256x240.pngjquery-ui-1.8.11.custom.cssjquery.jnotify-alt.cssjquery.jnotify.min.cssnode.cssservice.cssshared.cssstyle.cssfavicon.icoimages100wait.gifadd-blue.pngadd-grey.pngadd-white.pngasc.gifbg.gifbreadcrumb_bg.pngbreadcrumb_separator_0.pngcheck-11.pngcluster-ok.pngcluster-problem.pngcontent_bg.pngcreate-blue.pngcreate-grey.pngcreate-white.pngdelete-blue.pngdelete-grey.pngdelete-white.pngdesc.giferror.pngexclamation.pngfence-blue.pngfence-grey.pngfence-white.pnginfo.pngjoin-blue.pngleave-blue.pngleave-grey.pngleave-white.pnglogin_bg.pnglogo.pngok.pngpage_bg.pngquestion.pngreboot-blue.pngreboot-grey.pngreboot-white.pngstart-blue.pngstop-blue.pngstop-temp-blue.pngtab_bg.pngtab_separator.pngtoolbar_bg.pngwarning.pngjsadd_existing.jsadd_nodes.jsadmin.jsbusy.jscluster_list.jsencoder.jsfailover.jsfailover_form.jsfence.jshomebase.jsjquery-1.5.2.min.jsjquery-ui-1.8.11.custom.min.jsjquery.blockUI.min.jsjquery.cookie.jsjquery.jnotify.min.jsjquery.tablesorter.min.jsnode.jsqdisk.jsresource.jsservice.jsshared.jssystem_spec.jsuser_prefs.jssasl2auth.sotemplates__init__.py__init__.pyc__init__.pyoabout.htmladd_existing.htmladd_node.htmladmin.htmlcluster_list.htmlconfigure.htmlcreate_cluster.htmlerror.htmlfailover.htmlfence.htmlfence_devices.htmlfence_instances.htmlfooter.htmlheader.htmlhomebase.htmllogin.htmlmainmenu.htmlmaster.htmlnode.htmlprefs.htmlresource.htmlresource_list.htmlservice.htmlsubmenu.htmltitle.htmltests__init__.py__init__.pyc__init__.pyofunctional__init__.py__init__.pyc__init__.pyotest_authentication.pytest_authentication.pyctest_authentication.pyotest_root.pytest_root.pyctest_root.pyomodels__init__.py__init__.pyc__init__.pyotest_auth.pytest_auth.pyctest_auth.pyovalidation__init__.py__init__.pyc__init__.pyovalidate_cluster_prop.pyvalidate_cluster_prop.pycvalidate_cluster_prop.pyovalidate_create_cluster_form.pyvalidate_create_cluster_form.pycvalidate_create_cluster_form.pyovalidate_fence.pyvalidate_fence.pycvalidate_fence.pyovalidate_resource.pyvalidate_resource.pycvalidate_resource.pyowebsetup.pywebsetup.pycwebsetup.pyoluciluci-0.26.0COPYINGREADMElucicertshost.pemdataluci.dbetccacert.configluci.iniluciluci.logluci/etc/logrotate.d//etc/pam.d//etc/rc.d/init.d//etc/sasl2//etc/sysconfig//usr/lib/python2.6/site-packages//usr/lib/python2.6/site-packages/luci-0.26.0-py2.6.egg-info//usr/lib/python2.6/site-packages/luci//usr/lib/python2.6/site-packages/luci/config//usr/lib/python2.6/site-packages/luci/controllers//usr/lib/python2.6/site-packages/luci/lib//usr/lib/python2.6/site-packages/luci/lib/ClusterConf//usr/lib/python2.6/site-packages/luci/model//usr/lib/python2.6/site-packages/luci/public//usr/lib/python2.6/site-packages/luci/public/css//usr/lib/python2.6/site-packages/luci/public/css/images//usr/lib/python2.6/site-packages/luci/public/images//usr/lib/python2.6/site-packages/luci/public/js//usr/lib/python2.6/site-packages/luci/templates//usr/lib/python2.6/site-packages/luci/tests//usr/lib/python2.6/site-packages/luci/tests/functional//usr/lib/python2.6/site-packages/luci/tests/models//usr/lib/python2.6/site-packages/luci/validation//usr/sbin//usr/share/doc//usr/share/doc/luci-0.26.0//var/lib//var/lib/luci//var/lib/luci/certs//var/lib/luci/data//var/lib/luci/etc//var/log//var/log/luci//var/run/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tablesdrpmxz2i686-redhat-linux-gnu))#++)++#++#++#++)#++#++#++#++#++#++#++))#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++++#++#++#++#++#++#++#++#++#++++#++#++#++++#++#++#++)#++#++#++))) ) "  !)&$&)#++    )#++)#++#++#++)#++#++)*++#++#++#++#++#++')%))*)*)*)()ASCII textASCII text, with CRLF line terminatorsASCII text, with very long linesASCII text, with very long lines, with CRLF line terminatorsASCII text, with very long lines, with no line terminatorsBourne-Again shell script text executableELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, strippedGIF image data, version 89a, 100 x 100GIF image data, version 89a, 21 x 4GIF image data, version 89a, 21 x 9HTML document textPNG image data, 1 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 400, 8-bit/color RGBA, non-interlacedPNG image data, 11 x 11, 8-bit/color RGBA, non-interlacedPNG image data, 14 x 14, 8-bit/color RGBA, non-interlacedPNG image data, 15 x 15, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 20, 8-bit/color RGBA, non-interlacedPNG image data, 18 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 2 x 36, 8-bit/color RGBA, non-interlacedPNG image data, 23 x 601, 8-bit/color RGB, non-interlacedPNG image data, 24 x 93, 8-bit/color RGB, non-interlacedPNG image data, 250 x 60, 8-bit/color RGBA, non-interlacedPNG image data, 256 x 240, 8-bit colormap, non-interlacedPNG image data, 3 x 32, 8-bit/color RGB, non-interlacedPNG image data, 30 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 302 x 211, 8-bit/color RGBA, non-interlacedPNG image data, 40 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 42 x 42, 8-bit/color RGBA, non-interlacedPNG image data, 43 x 43, 8-bit/color RGBA, non-interlacedPNG image data, 45 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 6 x 36, 8-bit/color RGB, non-interlacedPNG image data, 960 x 10, 8-bit/color RGB, non-interlacedPython script text executableUTF-8 Unicode (with BOM) textUTF-8 Unicode textUTF-8 Unicode text, with very long linesa /usr/bin/python -Es script text executablecannot open `/builddir/build/BUILDROOT/luci-0.26.0-93.el6.centos.i386/var/log/luci/luci.log' (No such file or directory)directoryemptypython 2.6 byte-compiled  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR?7zXZ !PH6ѳ]"k%rJwMt!g`1֦/GXUwHZ;b ^Xvժ)Gϥ53<W\r@.5v# !F6!m37)n䯨Ae^Ƅz|xmHgv.k.]MސQFmziǠڏ%qS gx V4etrq_@&d%ہj$%l^_i]Mv;`yDcZLg2*Ss܈Nu,'~-Shd@)BW\IMYy78Tׅ:8"V߱ttaX\{l ] +"|K{'JpE&ů,`qnwcz?~~]NLA3iž+OkiT9h7LLpbvAUNȔ 9łeO%JC(AfZe#Ĭ+Sc1 $|=#<_MYZ 4euY%oWDUwDG}),8? \{Dxz1$vS"2T@.YBe}d0 tL]y]!vb܅ w> ϖS(Kը~]jRzOVh@F[p^2zD9 EabeYxxwRZlCt $9_U$tA!;°8uR!a 2: W*ŁX_ G[%sJsB8">|_h"Z}RON㤑}nDBkZK{&9ȭc #=Z 1e/2Afrrs_DK^5yd9U{ekחd TY~ q+pC3obHؘw1f;oGP? ཈x_= p|((wkkzT$DAF61rC1ׂ5wIM%}rr⌰Y #oߖ։V*N8̜Ib^!cX?4P&GG:Ru/ԃӲ\g=/՜DbcU&uxi}kJYy|8)Q 56`nC?|F]}~{?v::P@lJy;f<F1a)nz*;AfS(o4u'Zf*{yn/e ̅{6!3~cA{ ?\bRp﯈Q3cVT an>.'-B'y6B+o*8P Y)H}lxc@ք=ܙ0a |<^Jj;W"x^0Xۨ!Ϫ/ىY>kнq(pؘmz=aF Syޓ=d܅-"8[cOm٭'A^@Fi}wi-X&#1u,B_ ~E`#f >+Eٵ ߎ2ˉ )b{MMO.#|{mo6 L6x* uz5EmPLbzЖ;ɠ[P#Tٵ@^S;g2)7>nf Q"}H']VewY!rf ֧3X#%fr/f ]/YW4xh@s >DDNjfkGxq"WyGpE0ar~3蔜VxC ;Gl /#D=΀v0,G9 ,BwF(M) _&޺u?yODž}&8F#M`ZZB{&=3S98ݦ.=)w>{`_,Jœޭ"OrHzC \AbzZ]:dqOc_ gQ0NyP̈́Q&AySz/"1[?K>dxFri]VG`b-|ј@6̼Z X = 7e2"E9cJB 2Em`;E=?sWxEhG־!ɜMoFN0w4 l1wGGJ{ qNZdGU>1U+8owщ8_8Q<!Ob6ŧߝyᬪ(Wn:w?Q~+g$n*J'-ۊGdg!ȹȇOص=& G*td@u;۰_([5gbÉ%ȚtY57@!x%ߒMC̞ږ͒T "bZdb ?+ph{#EZ%B;k@42-qCPѓ .wh#QAIeeSr $ 㼣"\uF< eG:& 6,Cifa:'M$Kۀ TEUVgHt۪+6*zRko٤@/uׂi Yg|WF# ӹT ;-jeDV6N@_'ή]o-׶߱QA b((X4A Ŝm? 6V4uI%~;%)Lh.Oۃ C4=9Rh/#zOqc5l߸:*$la!ܰE6]u6WxzL˗ HT`v.-=5lnsXtqIu' (ST&ZR31Pjﮗ#Y@ `1IHFq tR\?mӰ#P)n2Y- ԗ+:nM ſ㯆M1!NVP!f7םw1@^c:*'ȞnZ UCk?/ÙSn}r%)}&O%~+𤷑J|:'xsto5F)!ccڜ'SL Xz T8qͱC}߄ LnTPbL<7@tDuho$B5U/̸,QCl6#qТB[ԊIS0vUutc溥ý@{4fN8_sG @aCt)Z JWHET+guT^NHIh_"*a;Epxc|gLೲu Hp8Ρ.AY jshzSQa_Q▼,=& ~k8NQ=wjKG8!,̇q 3(Kfh>Ei۩j.=ŵ:c?8%Bf:@E_oǶ^Ǝ0ۨ;4/G@ؙ#i )^2V0δRDo{lP4"b.r(Q a^3I9w >fZJ;;喸_Ԡ3Xf_ˇ@kaij#zcpIQ|Eo "¸ÃmuIH$ORPrq(QDyAMM >]_3-F(3a G53h'#V~iG@7ЎT;e[oGm`$쥆e!2%F06?gz++y!R N֪ »U4#Cj`oսUDuiatCnG!?ldoւ;(kрԴY]hvR0xh%AL,*!BQ^*F@Qt~b fc&; dwAtc. 2x@67%">DWczrmr;]^!IN`vjpB9!:jIGMFbv0e-g?W8p^dѾd@x PRHt/4pZWzܾ/B Ww|(,++ BN42 ڳсϸLϏbS: S9_}xs2J΀s8P6H p&ܮ*-CEV |t=5Q6D NuAxtߪ)o:@yĀ<)H_ 4?Z##szOOs8|آq i[kĢ1 2cŶӵ☭I}-CЇER[j5)唏3,gt^H_' i2 [tmg5 GT&"2b;KAP1[^$6ho6|Bzo!n_7?mFYRqAߪa Ę|׼'f#)֕{ҋad>NVAɽ \˱a)!UA&ďQ-МMH:QUX8-v Z,)(s(~o?QNp4TɞFڿR}@f>zɷCH&$S18P1Tu /w*TMŠ6#W- qM>}6#N•޺n"Q@*M8meSQsZ?7vA򞅢Y b{V} ϊ_g(t?JcEEq8(W0X,3tv86ʠa|?;[Ar#'n?2Y %gDОpbxRpTI8Fі8VY ApCq nbC0LoRc ]_⻥|AO ? PP`OVX֞&MU)s)2 4OBr{`p}jDjȞXfkOݹoK``ڔăni}gK2\!$ʶ $jH ܺ3Ƞ5>'LDK 08,^ݧ;z%wj_e{ىˍ$KVѱpkmv=ٚwkة\r(3tIv/-lq$^5'MM< )(&QeˍVӟUpM)y\/l1ܱaS!Ɛ&Pp)39eV*u%(Q&xniQGbg4hQdKa4xrUK n{AS>ʯ4Nz!ž}W&%?dؕGK |o$cT̴#àlCiB7o`wͳ$IްAwg}8_Zטz*/o0_Gb  vÒhܣP;ZъFZeʏl uӤGlXfWٖ.b*2肶VaAAdAA;W-ڕگG)706=M+dm3mqdGGO nk;xK,߼R:ّІJ9eڼ.5qv)"6>%/v`4Si /9|+@e\[7 z$1k}d{s~Mo~CA:* uoohn8 7ηY rr+^GA{ioL6NlV]PwR'*޲VT_Ӡv ԴdZp--T="f> TQBW!U20݇j=jf,`d^(ێ):K3c{aj')she7z%s "r^2-9+{ +]O;? ,ѸAa%7c1gE?˰'A [ao?eH̬tx41']J ҞE7zjXh9l}fB4]MvL)al*0ixCE'EV*[m5X[I1.ivzeͲv˫X^R?.zi@foRq\/Y 2:#|;Y)FYç*ԏRSN_|z!.ܲryx".bf"cӽn0^w:L=t=9g-j%dQb^?(㥳p3b;-ap?V܊dI_DAg_ehb,$yL$#._ ur);3 ZlJ=L@A%٭~YJ'8^qJC2!N9|h[Ҥ`Hr=+.OV'$vebjnMa d)W؅&\C ;Q^][ C '}9>毼'8Y|a:A\Z_uϫoD!wAjDsi>TAUu-y't! %상땟Uk+P#U%g Y<]ar*/ u:vW0/ :̙5)8D#Ye!?}Vt^|GPiF k꼏 pD^YiI 9.=xAid#,+ 澫&`!DA֍>3+\@]WpD=)Iw}Z(l`#NP*~>dLz%Tۂ)1tvn6NIuU%^:x Ŋ&y M@y wi@z* gQCL4xFZQ^Yk'8Pa=ρܓm|Akc6|ۛ)F K"y" ֽ-qF$[6/ztc<|1+.m¶R9+*)}8c +'<~C@.F(VM⮃ZCJ JGrkal^yho$%&RGs{y 6t WZ>-7lFIiKmu2h|Μ(↵݃0D8h~ ;A.An}"Q@BCR&Xm5^G1]StFΟ ŠQ/9%l TݢjʂQ~AIU/ӉEMejpđposbش8U=$=1OC Wb\~V×OkVy`Y (b^{Sh3>!J<_#w:gvM[pdqCt{S= _R]-GLL+zQ$K%.Ѓ)Gr=WƗAH|1'׃h ݅#6;2lA*6ֆ$SuRN_m1 k&~ -R wV; <Ҹ. sDjzj¡Km?}iVj[C졠[sA0e;K^?,b"sO0,z )I84-EhcRHR>Aƀ9\ʵO~k#e9US%cGp<6u[ hsx`\rld=q/m; 2ȏZMDG\GVaJuQ4O Xeݒ,W+ M G<8%4?ʮlFhW移PhܿFz[ r6[鄮Mq\ ߳EqQx;E2~,{kJb"QQE\iDd@O66\*1iKB4Xj^^3 :m ˦Jx͑#gU_QjWk49_Y b禠 K[ZO1\EoNacy辜OMŸlumƻdsv8do2980Z7[ `_[n,EK]WH"-Ǻ*YLz04囜nw yKÚIf$gpM`x.Eِ]8^mƘ__u28 OݝZaEDd"* nI Є$e}%aGN7tgHG̷A|oH@ܵRtV.' XzpSϮ:kX]*{L +DҕR=4Ç"ϏzO= zB*dQx=U>SB)K7W}~%8KeW.jompŀ=;l+-\֪k].Z^}8m6 D@>k$#b͈fI-zkȹR.dp߿N ZKQed [X}KL Rgo/?=աbZxFbg *:-\gߠC1\@k   ٙ(oX. %-ܴ1^4eĔ&s3W&O?7|*d}!(W5 4"2b25a4 AJ缏qkEwNaKeF&)E9g"z i %u0ʂvFCk8@mfm~֨$Ar} i0;~yJN)з}Kf'q&އ5Jp."sCn~1sJ;(bWR*L<Z&-xKIoxf)̄V˵ 2yhiPtSkFS GVFII _a+dCRF6p"IWfnn,5rG&t|k$Jrxu6TNC 57/j؀wW_Q8-L2#VAe&|k5[=Ab\%Q͘v'W7 [#%Y=0:EX ! >i @ǁf\p&jt?F({pGカS (G9osgeOtW9I}SN3N{ʃm'^`FsC\X7i7Y X wH_cjZ4eOcr[t!  ɗE899P֟m]U&gȼb4Izj4+ Y_( FY$>K(8uq7Z)H'yRb;>:.x,z"IH:;}KĨ/-͔ϭeGsiNʎ=wCw5wq^9;B<SP ;(FXi -K⼐ѫDL)F''EjHC ]/f!B~MXD`fz5/KPT/U$u0EIvz* ?^j|qbN5:2ACZhq 2GOGÊ/MdG*m1cB㇚*=z}87U:i+"uGe׵cyi)!N"}B{BM j37⤄*DI{f=j6D/>VgbUna15+3q OViQ&C[|p.tKYߜ0-o;xTE pU ÅӺ`ݽM n Ly}mnlǹTA=n&F3G[BJPKD] KN?_aS&{l}{9@/px#/ښ20poDY+B_g@s:OFn0VKɇ=ֽ[OSЮK(2 ssL=4 qYv羿@f@4pyܱ k&vS罞4hR7ǀ;iV($V4^PdD^N^kgEk!D*RDM ={w~Y>-P}#ǕVnb|c/C/fPPqrN6թg< trd: ,\6F\X1o-X Y}#m &(ՠj81nt,<=< `2cڤ_ӡx]R!XC(Kg#&5olm FB>;;tT!_QK{L֧” ?6ɦm@:kؿ:)7n1bP< %.&S~(^;WI׃2]ȹ@22[# krdxno%,Q_k̹:SQrv +Bt:_#dȩ?Tñ_&Ň<yO꧞ ZI[{MxJ?f%Q cq5yvidoYНo4d,EL" .)SZ4SBp}8'F3:woK֡a^j XVh!ğ)z+S=M( .?HGI_Sy@Tf;3AC3fbz~p辸8 Ne{m_qr's]o3Jo';$>v ,t-ùw̾ X}Y$*D{8\ܙ0K+KhhFMEG>NIi~[Ry~⹢X:.8͌y_ zU)XW؈ߧ㽋5)ֶ7c[gB=Hj5B/6[||Dm̺}Q9|L] lEljuW!"q~~fpl: j+^M6jQ#7mOLܝce3}4$G.1ϐ LB|7NĆEoQاGaC&릸1]W_~!W.b$<2 _bo14,~$C15D/m 촽,,ׄ&pǤbR^ܸ7gDՑVLba<3V$pIn Нƍ8\͛rݦCVZ+TRZgIƓø?˖?z"Ssf}~=ىcP+cdJv}dǜ'ӲB%}k8 RJD?xZS t,{Lmϙ&.?hӉsR{<_Ky!>CYuIeTo_!vNL?ӮL *:32pă,7 f%f ޴F.2Y֗;|W*)S}wF }>703#f+ ,#O,A4~'ڎ[xy4䅈`@X+&\h]bV%OCgϬ $S`FX|kn_Ӿb*&H)*&E!]iϧ`_A}^ ecUd(.O:fH$tdHh NZXQ),*yUUc :J}‚:o=I% o@+05ZI}~zz_rikmqݱ3^(1<zV-؋k@˔O4MNwAuM}eCFJ#gO"NU^#EM|"asAk$wh.SJj|{ΖzIx]29qR(JUwRrOqTt߱9^`>PJˮI,r7dpB)Vlh@(ہ?i 6Dr]72 -&R$V/W?/̽x[-0)./.Bt.(P{ά*d*#B6āvۼfDdc0-:d*Vxm2Rّ>(igJ q`>,{@D|/п\\3 ziKf|jͻ8q&Ja 1,]X2rzEU'Z6=0jͪE'i B] Yk0lTG=g@§Xg֘~E2نu!ףɶ+i" \Jࣆ@0W;(QؠŸQr~k"DqrNya) /;_B銶&diwQpvvٹNj }dó*ͳ? _7cxƃ? Cg{CPfpo%[ 1$L[Im됮._rZ^y9K }+uᔃF&H bqP@!0 glġ/H]KMn5Vatq^a L;M.Yu{+FRT>q-%XWf]@5mg $fb|-M fx^yv,Wno~k!tW1@գ1* h糬C'5޼mŽHA g `S=VM?ܾ9TX1ז8аX=JoVdf ¤ذpշ]%xeaO^acHӽC](|XW H ԣ]f0(`Ry̩d-qS(ͧ%2c1U3LL5}$8Q _ ֹR ޺ۥ~a9Y g*Tc/GoӅXhH8MNg ]/]M' =)[:|:,jZFn.S_1rcA6 ܥj&+6sC(^cE_q"VjJ,}vV!o'O-9ޢ;hhQfzj3܎+K7臖B#r~4F1SԖ[mp8ۨ3Pf,iSman$ChLȚoCc+eׄ0J5.$J9I?L <\5hhosCQ=;/^#ܩ9j ~kSbf37ggdlf[eA/\W6}ER16efG֭k[o(M~3aA°ol7״d0i5 O*+LmrjO5xOYG$fȨÚS5=/c;.RhtRsؠ'Qz-egh_i@B:`K`,l 5?b$2P՟vgNdvdR|G,zq??1 c|xzԯ{8r0zcq\K,XI(V_ WL;^ZR>N-JfA^-t>4ؔK_pAL 9lc+lNÀĸ-8QUH:y[Z!fFɐeHT3ygα ǥUStB4I T-jAgke>=+ p[y Ic !ː{&x-yBv5Gto"5)Z,ME)- 5f cciB҄"̙֐+4x֤f4w(˪jwU(`A$D8 /2ߚZWrEm5^2ekn5yj4q'K,P a#+=8Ga|VK{DoMz Yz7t!XήGN S 0K#M=0UXTg H*oS&0J@߳!8kCH%a)7,/19t=viG TKae'pb ZL)lZ- \G#V(( ̸\i۰ fv[{n k> јV?U71jHMq0&R2T(ˀ.54yZ"フt>7w~d I]$@EInC{lU,g%,o'2 `jW`|\>4Ƨ! $֮aU?$ȬPc-EqUbc׻%ay~WDT[O]Iؘca~0LM^Vm']; A^Be$:*SڨLv#O%gH1r~kZa'g/#20}* >IDxy{o[6 /UgϷ.dt&.60 ;.<v1XQ8=0@9ER{ t_/REsL[*}n)|塾%GN4ý}*do{=ڗoZ:3cʊnNxsjhH 3~!Y5\Pqw@#g- bz8FI5}>2A>(nlcdNIv xD+g EFOT,65GM:i}e;Ec/ b6Yf͟.'| A$"O"J,4:gdb * iIrY 7"|&>er&_a5,yHaQTcYc ry&3 |Bmu9<"&BTJ~D1RAKAV%JEᵢ^yFbcfFg}HL>J$Tpe.eE A-Ͼy\۞i F*#nkXUyzI}l vfML"0Dm&t;> Ej>M}n-≪TߴifƊ})ؗDahs(̀:_aB3; K`Ʌ|qL]@U]OmGa!uu(p citD^ν9ܚqƳUhY~LFggR2 ɉ)xe 0'7a-mLSdV9( wwE7wRȗhR8]iJVOSVYHl8prtMvi\;vv19cb1&ә?e fe\>uɡ`L (:p[˔)r'mɥ#< Gq@ic6d4Z 7KI[ Y %B=&4QM}FdVe-* ^Z\ m|3͈0''"'=ӗwY9&f-#'0P]pOW1P";6߃ ϝV)N/PX]/Tד KS}os;otY+҄z{ 뫽r`*[t- (SKNX?cp%0$~8 Niwl`^g^'vxt4z9`dQH)ԴNwp\ '$d\i9h7xF,vGU䱈 jZBe a ^@]3ddhw>򕤩ZLѢ>$αq{˂y*qՑv|\y5"uY-p)flYzQ_JaW9v[fZ@BU;$ 0)_D m %IN)LLw,zĔC9konaZ*RbR]C-P*0j>+`>Z'3ui2Lq ;Φ>_TXF*{beZH/VρjֹNZF}HqWɍ(Z̵CY[=vǖs?6'5x@PŃ(8md[2'{<Ur_h-f=O5' u`!3W56:[gB<*oEQ \\x<áL|t1Uh́48}뭥}|G:}EWneg]r]NܭX@,ax۝|ph`Zh{u̫ |<Џ1䭼ZرL9%?LnҖ$R |5A/@X"(qR>Qw u ^3X2tZ ,yJV,e,`" R+f2lWmڜ$4>/Y )*#۰%Ng @3cUucC NHAf/ӉL?4,O:[¥|8_x-2Œ%`j]p<0Qʏ#&[IhD/IncOY^[P"xxr@XXM x]AޖF{Gi s%!.Հ'U`.P twԱe)V4 N Q( Jk y1DӽfjQ!,]OEKҌy0X  se_ntsU>ițXǟ3 )%VA¤"sf6D;kJ߷+@38Z ?d}ǮW$U`;&DpvϦؤCpE-'6(s#QRvb,%  4?^bГxCtmRSHq _{&-'5];*bX]t"?p >Q#O?c*Q*B@;? 1/83lξ&f_pf 6DTi@RO>qJqP [4z,ł7PMd[gzLto,At0VQ'xG@s_Ep=9adG&v00͘5٦Zj}bsg5q[zax"?译##i\0!2W{l&Ȧk"pU{-SXS<1C#K܋M(_6F|Of]nw t9s3wģ^"X8M8DvR0nBekqs |7}-f0./0`4:RV*֓ HG~g 'kܛFo!g1ΩP}돴#XƿM/׺Ym^9%rq UNDg>&ם? Fv g2riPb@SY=:sFޮIG ⚴Hx=J`EEdiuxG6]+y#ǥ_JH}J5lMgͯH4ggN{ew2)VRov5NQyv*9,}n,׊juW{^KKs?1AC9P]Lj HmiNR¾ E !w>SR-X@wuB拜Sn-e( ,#*2N~ᅤIfNyqpo.ۃeg$VC(}pόHFղHzZʃ8 _)e`O,%OtȹIBl2p$C.)xRIYp8(mӵE ýkfx1gM ko0{3'_(&D`I !%D!۠쩮Gf%@ +fV"`J% lq;vs8q$Ď^ RF"?"^Ks3j% [+tDA{l $jJ_Y#"8vPے6*1QGJ 2o([]BAHѡ| t6bb/Qk(1`9yCeç /rP! Nh1Ȫ,rm~+1r$.2xe#\`DH0 "M:Οz.ųuNfzzA\4"ܠ4,OeAڡlM_ZZ?+i g"`'lcva[/SQi_ B룉5%CJbwҮ\JyUpn23鎈x+624C姳5g)iviZW0IڎszkX-uv/}D|HNξ{|?F'nz/ed;|~@l Ӿ4f׹_Z;LSyLQ!A,NmVˮʣ*TAXf򯦾Jk6dmr9 VDL}Q\ <Wvssq=і )= 뵚{OU6U{TѧHq.ؒ% (<\$bȣRzq)kJhϳMJT*x;S>AFN3҅3HAgZ +6tTbKT9[m`;Ef,XȽj$R/VU:*%C'^~%b_Im{dQS80 i◾7xYu{ѝN@c׹lOYYLJV{\Bdv4wkr+>r,{<#J)glB8̷ xƍ\-jVHqb+W+(wrф/g5EdFKۨB*M$)D^Md&Y¼"0Q{vHF10xj޲vD׌p>q"Y%H֭Aj΍y|x)OΩD)-cQrᥟƈCrیrwNC>E?Z)a%K yKU<&\QbC><㰜Ɛ{ŸM2d,T0y8'p3bKC滥v[I`yeJمU 'O8 BQZ!>6I{m-ハ` ߂n%ȹFs}v/9$Ս>&.%L.2pњ,$v~^F$vbA ImZ -0^*=9\CM~"+ߚ/wu_X{(pDv#U!`J}Vۛ&A.Љ_[`q IUb5\;9sO40ް7}aF_A͇-г4z\SI15_Aiàz^ !%s7(xè~*,~(\,*;)l;m:ڇF8C ,B.oQ 8{Ls?y* ]]Tvhk&&c/F_ !P|2L'Rj[_=K7:A8L0q$w.3{!Q Aj:1\LCfLj B=P "0{qUk9e O=' /?p)tƚ%vP%e6] (uqLX3(jiz[%4gQpt߶ժ|j~a_~ *L;;DS~ڢY=dV EAmZDb˿۩I:ܢ,PY)]dq[?ǖوr ޕ~,?f/NV]T]Dj{Ţ{Io[Ԟu/?`zu|^|.Nh/uPS>iO2KeK}\4 8XaHe;º3NvՅre#4b^jD]92pQDɋ?_S>rR&hL;7M$y=p M:"=(#b#V#C6 ԟXDk7el1L 3 ҊNq1t梽`CXK9(2@<8mAlwWDۤ_Ah蠛0f:$B(=CYBhBh-HU }Z&'[6ank:湧5SMὣ12x lח`COB t/YCcBNR*[챛0C$\1 ߂#h v(romBVG ZfόxjDWG/g@7(~pV'EKA*RY4ї ^90v\}vJH"ń%#dhߗd15MkFc 7 n+e49J0˄H^t+ZA<>ȯM*#?[[UwoXf$ZBAsho%h8j]L+!DfZݎHH%EbJRAVE&ir*\cpmP=(|$ei1PMUIj 9feޔ3'qnP|{$Fkl(kM.|vF߫ Yz'G^}Y\&zbpi }c)^RDpkt!vozCL&i:>*(SҮ"}1[k]/EZ5G8fVFm㡩Yo6F;9оSZ 얾#Ye^ۛNj>aK`wvMO }\73;DQ[<,ub~ _VOvuwr`7 /|re^Ib|AX4NxvR#,n[ zzWޙO9-·'S>䬕*ej&CL>8+T9]橭kCSūRg~(A3sqWu 5bPp? r*A TSH!9cɋcK|\Mv+<|Jxi3ϝOCŝx@%>D~"n~&cfD`32"`P F"SkteKB1GR'\ţpu*m3uvF;!ý<,[,;){Ͼ:wT kV)E=PZa+ޫ)=H ڶݕ5DpY[Xo& +a`-z6kӃf o"m_ZYHQ]He &攷\zK$XU ~z3B׺MKQ^_({iDe;\1,{,>+zd@iө*쵏kCN3 ьY„5z:HsOXao}9k0Y[ы rS:)J/"FQf sdkoðY?5 N7[eqIxDp8jZLŷ8b3,/3Ko^|Ngڀ/l"Pw oUޝPDt5q)oHN^ل-S[Xu3e)ɂ:7W,-?$#jy p_4I8Ch4 v>_]9!1+ЌSLԗ=,gcRqo0=/yxWKjjɀ.)QxHȻ<8+ < ^J9Bn0?0!": Ri5,K"6Q&yi9NJ&ݡ1'JC#]z?qS݅A=wK)aszRQN*YN~~i(D EVH{$,$&َ#`>o. Ծ z#'$gY",ԈomIYO߇%QՀհY->HCr;(6NLץޱ(_%K\æxGNY/?ܖHd#M:tY5^[[tP}1BNT܀3ڃ3x\ QtvC%LR j< V71!/- ^0|Q!ځmԕ`Mb4T_RdP4[S^]&Sܢ#1@ШbXҩ zGN1r|Y{{0]QYg;jcycpJn#|wWG{ Y3- e74 0WZ:oI 6JoYhO9)Q݉3/nnpMa9`]5 I8wOԳ oYst*L]*Ic1yn/.&6Dž9.xh5wMnc~J̫ sq[kjYIU)Q pLftE{Dq TNѰC&ⱸ.P};rMc10;ީ r5mY_\E9N *Zg@mIمIuSj"Caho޽Wrs!-[_}bM{RF:nM5nY3+u#AЖ#&%N15{\)ËC"3u(YHQcEPkXUrǒD)Kg¯WhgKBwЏe6XRD-D00_/kfx_$jfGD ՟Nfybh FBk[>X-fsτ)j$iZ]I6 YO/lgIiuYT`z׍MLW\1'…0LOInn4\o;9 PD'2bh3X j Ԕᴵv.ҟ0 z™Ų|"cVZނO5O@WM>S w`\`_ 58ȀH@]2R23 jk& &eΊQYxC&n Ap*FvuM{񷵺hm(L$e8Zk_,'~񽃯4.4 Xdk̚dTx 96߼emL!6{ϼ,8gd?T6bm#}{?8׈Kȹ%G|J]&T#=bG <;&{I-pb@g !DdTRwՎ+/BoHa}nYg/ CQGBåǪnүTCZWgɽ #?lCQq^=Tp3 eqZHF!͆ZyoRTa`\Tvf{ёX1ڜXD*!,d.y[{FcmĆ$7@ҽ:j%^"6&>7__P+sX h ݟz}Oc$}+zBx*IX:-I@3OzM_nglj@0;%t$0(lIs_VY}ńC'gr(ȩQX ^QhMB7Fn\:_CH~A[;uϏ {^;뵪%#:0C}n7S.rd3TM .U׺BYS?5"wIU먺kI> /a:ڛY05R tU qF7t;3S8GK/cxm9Y c@`_,~Ό8= - ngƎ؃p/tys]}/W#QpPIk5vFP2^*m*hM'/4)}߇E#ChM5jO4Jx|:mhγC;ҹGA2!u@a'' 5$1A<\eLD?sR ~XkZBrrx!W=Uaqb;{l-"yP;[1?`VkC@wVmY{!G3rcSy=c@~jYW!K2kSƓ]<5j}_8KM~rmMR>}*>;~̤p@'~Fa(N5!NߏT\aуTZ.[9ǪI4x ڌ,f2VMˋ"l<2 ^, d DiF{$/( \? h]@UӉ61 1oUl2Zzu7< gV#Cs-:I |~`*j^@, K/=ϴd䜸 &v$RZ%3>1GF,̏mGA$6ڴC8= Yًhu4=~9UԂ}v ; JW~İ7+X :?\T]MpM :QD/bj! (~fJWzD9m ,eDP_TTA(p=л|7ǰa)0F(:N$[BzZ{1Qk'(4MG3lK?b_K5`2Q@1˂0Gcz | x ^![-F9V> ?:4CW,G7#K5lޕ*lX{A;Db, tVjN . KLW9G鑱[Z{ -4lfژs,FԒP"e2#,o?Խթ$ :%u~ 'h ˭nN*Á~WQ`hP@>5x(8^6!1LV2[v! ͝k6( JG7h@Vڿc㪊^&/jOsw\ZBX Ȳ\8C?ėa)X&r:=.Ծh.s{lk϶U<+ѐXslQ gB[dx9ңF0}ӟ)@6"|%lH䩳Z빽/fӑa'BReLXoO9g"QxU9?݈2~3m1%*asr^QbipՈpn:izCM^zft:[i q`Wj4׹of?zJK+Pȅq[:;fD?5iK - R@(}6u>uJl{ F9*o-s ]3=|F2j}MlvFCBC<~Ϣvlj+Fr[zGHQ1uIyts7$U5K6g:&&u=ՔDl[ϢވF̞ REM9J7 !XkΖnfu~P }pgwsU( Wp>N>hvႷU2Vj7V'U/VZOxf}#WIJV@vEM@mC*l)=ttiˤ-R[!mG݌KBm}*1 -hPN%TL2xdD9&dٻ:(,"˨7;ó[ɶDP,$fj-Վ=eT4R^GZ?_q~:9V(B+ zMz&O%"}#f8Jy]~Tބ ;l2A?Q ð1ݙ|9Ѵ%%P0U5Ё2rr&^xذIAޗZ``UQ[˃ ^qj\/3UK 9ͪ$^To~@.e;t2UĢCt7 &:wةTa+^H*q[ EvZ@ !~J(d7k]#eqQNaQ1QyK[y9iT+]=m5cJ\4Am MnNG#GvyRHr`B^Ӏ 2r/_%R~ƼPqmWL󕇇y!^n(4YҒZ:³Hj)g{H4E)󍗜c؃UqbjLث~AZBxa5RxL,+fL&XdCWrM5S;"nP[g{\X3klȫ*Dn/zFP'm c<_ FT! 1@$+(7.Fѩǎp]m*{thqn x^Chbsfvl8^N=#?|6O9HAkK"T(/cT2qhC+" tCL &/Rڡ|:j޽? bUSDtÜ]gn[P2nYgvEmdv6N@n"=Tm1!ۤc^s9<\nz9t ͗6I 3`MKz?8-yrγ/g9Qos،0UԁRfqС4 σ.tNFyIII'ծf΋^T74+w@&VIuȾF0fTct[GS~mj3)rjNlW B",d@4?f!= N]VI$ *!ueLׁ$rv[ێ<~CKO(&d*G#I G_zjp,Gض˔.+#?,,q2ׄC~YDFj`Qʚ+w`LƏr]EN/t;".Nv`@TNa0QC[-?Mh0r*=2!j!x79_` ֝կ BP_MSON~]yiصe)K@О YhcU1b5gzoso>k9D"6tT9 :19xCV%3r[+}Y9/@n/kÁk.E;|D%@uwu:|'8íJn?Xe3;wk e9adt% "Å!]O"#UԤ-f @}Ey@wfRth"-U L)VL'*SE]2fM!܊2TiWaTnFZd/S˴`IQO`#ϛXPWZ1渺tSt XbA /B).fS7ʒ"OQՏYLc psD/Yps@hq EBR#2幝H۰-1!XQP- %> 5mټ!M=g4˭:yZH%ڀ <1RGp=[·RazFA|=s~pѝ*]Lrź;[L [Fc-ySeءdbX#{.!UNۿnGPq trZ%gӼ{,oCb_WUr6:3 C~w X񵜙^Rp}"Q4*rDO +88a#% R}ܞ"O 9^1nޕ93j7=\#k:l.&Dcz{xƇEQ7@THߐm%4(] VǾq[/o%`jD@CUH-pfBPG/dR79PjY:5C,5NTx`l41|}Z'G,8i췁|JB& d73_B3ltA~]_}RiMb&VDԉJpT!6*]:a "^H`eHH7r2sKT l RghH\+&VWd dC|Erqh n/A zjwOUPlc.H㷚07reƁC4~9:SM!gV ,IӲla`1XVLmn=#cł L'wVսB-Zf*xtkqq^)Wt *% a#;!NۿBI%J[; 9_Ucb %7\$-I&>a4E Mg\S_c=Mfd}2 p%91~ 6vKByw5}N|Fk&No^PoE1ȃ@i]AM]͓٩_^#*RtMbFH"q-}"?<+m%) x0' 9)*koAk8H3TxDǥv{~%H;JAf9ťxsW(!΂>}Ͼfǡ­Xn9JslبzB}sƓQ_WU\B= vV]JҧGeO'>T_@m—\/ZZP?_uQno~-O/ڹ IO{FwhB+ݒg/0]$4;x0 NAetLcɊ>^{8^~R Gk gGģNLuUG,u跫Qxvxmt?kq_D+,YCyhya8LNe\ ΃eLcfrwE9Q|+?}/~_;%+GBJٓz[EʗIٱ=ߓl\n7R%HjKU4 ֟Qյ5^pFSnܚJ4#v2%=.f*%ۍJO1^/ SlQP~"ҨZh|@fD BO'`j'p깰??L{Ŧ~47ּTzF25v~xe^-NEfc4(Mz_p]SFLZ qE_jxkX7/C[5&ֈysJU@0h9W0^rfurlQ(M]2ݡukrz\(UZ>-pدkh >~f)"qQl\ iZ+ՕWcp aIn#D\#|qZΜe.s"WAOAݕf:B" Ml=ۨڨiMT+sS:wĶ&YGxn*la7 Hǡa+Ty׎{U$w=Ҝ͓JP9دfՑV'VX(&}0ezp C9fQ6S#@[ʌ7J73m&08:e g_׭" ,`)ooz=W}㋣9Y&zXo掫Hr^{9 9o`4X QgƎB&<<썈B8tI1e{^,ȑD+zsD6Pϛ YzzW 29ٛs3H;J̅Ya#x!ň-E "!V#0ѼOh:Ѭ\T>ѣB*tE A7>/&?%1 ɏ6JFUDYL?)mj'Ht`h3sd^2IxZ4k˲/E"C |X Rh~h"^6 0DBbֽ2yKAuWRױEiСXੴ:3Ij~hQQ,{mhӛU/q±Z_ lGs\Oƥ  Q9=B+0Z k Py@JvNI4X a(w^=rrk.zbqYVcڛ!Mygbq=KSkQ_ѤدrD  Xь[[eǽ|agBnO%l-v!͍r쉀HrqG5jBv1WD;k@vj~@#sTU MwTHԜʖg:4Sse<]p NAs Cp'R,H>1 y<7H~ڲCy=v!]RCQl-Xv*vOmZىF?}-BZe-p;ge(ٵ"ADf;Dh*g9pR@Pt,7ö F~wa.霜#6B,]-\Sg,Z4D"Ѿ(B;xȔ\kJ|qֶeH{րy_>v^)m~ ӴnN/.ir; kjo+#d}JD[~֎L1[GkE~^0#BgG[3rS5D[YU kKVjAHծPP}MǚNFzP U䗑>D^`Gk6#/iCmDcqF8c:$SŸݞB @ë$/@}7Ȟ{OiVX!DD pԳG\BR#YR}wƀi;u;>utUoȈP&ҞOH#jI=> U݃Ͱe@ePUep#!J+Wzw@PtXc+O Y6;T_o|<ٸ)*lPLN'O xX8Զ`$Xe{O`F#`C_a7Ts!aq$k0} ttHFUAċO%s ?6:X|r ˥c,a b؇&pdhunǏ2vl|OYн=kr` Zw 2dz1AC+KahFqjU6҇ID4AܔT= @9[<+"Gf*4.@}al#YZL٩6<)d|`g)q~4Bp{xB0K|_ۼgUٰG-]ma1/GTF4)`ake FBg[9]8 iFo`w+ Т>ܧԽ AY'uryZyۦOw", T7Vwxx?/88&80yvRSY7GBChpe)^RݡʬLZiڕrQ/L@ Bс{ȑpa\\GE.48h?&Rg{*=\85ߺF}"\)Yؗt]~t2^@-;BztƓ"@z>ϟ71QAs҂%fL^$p!V*?ڶc Zl^hl wV/S