The packagedata_destroy_foreach has been removed, packagedata_destroy now

* components/services/install/lib/eazel-install-types.h:
	* components/services/install/lib/eazel-install-rpm-glue.h:
	* components/services/install/lib/eazel-install-types.c:
	(categorydata_destroy_foreach), (packagedata_new),
	(packagedata_destroy), (packagedata_remove_soft_dep):
	The packagedata_destroy_foreach has been removed,
	packagedata_destroy now takes a boolean that controls the deep
	destroy.

	* components/rpmview/nautilus-rpm-view.c:
	(nautilus_rpm_view_destroy), (nautilus_rpm_view_update_from_uri):
	* components/services/install/command-line/eazel-alt-install-corba.
	c: (main):
	Use the categorydata_new call

	* components/services/install/lib/eazel-install-corba-callback.c:
	(impl_dep_check), (impl_install_progress),
	(impl_uninstall_progress):
	Fixed to use the changed packagedata_destroy

	* components/services/install/lib/eazel-install-corba.c:
	(impl_Eazel_Install_simple_query):
	Call the correct query call

	* components/services/install/lib/eazel-install-private.h:
	Added a glist to hold downloaded packages

	* components/services/install/lib/eazel-install-object.c:
	(eazel_install_initialize), (eazel_install_install_packages),
	(eazel_install_uninstall_packages),
	(eazel_install_revert_transaction_from_xmlstring),
	(eazel_install_query_package_system),
	(eazel_install_emit_install_progress_default):
	Modified the deletion, so it now deletes all downloaded files (and
	only downloaded files). Also this file is now responsible for
	calling prepare_package_system.

	* components/services/install/lib/eazel-install-protocols.c:
	(eazel_install_fetch_file):
	Added downloaded packages to the glist in eazel_install.

	* components/services/install/lib/eazel-install-query.c:
	(eazel_install_simple_rpm_query), (eazel_install_simple_query):
	Removed the prepare/free_package_system calls

	* components/services/install/lib/eazel-install-rpm-glue.c:
	(eazel_install_flatten_categories),
	(eazel_install_download_packages),
	(eazel_install_pre_install_packages),
	(eazel_install_do_install_packages), (uninstall_all_packages),
	(ei_get_packages_with_mod_flag), (ei_check_uninst_vs_downgrade),
	(revert_transaction), (eazel_install_do_transaction_fill_hash),
	(eazel_install_do_transaction_get_total_size),
	(eazel_install_start_transaction_make_argument_list),
	(eazel_install_do_transaction_save_report_helper),
	(eazel_install_display_arguments),
	(eazel_install_start_transaction),
	(eazel_install_prune_packages_helper),
	(eazel_install_prune_packages), (eazel_install_load_rpm_headers),
	(eazel_install_free_rpm_system),
	(eazel_install_prepare_rpm_system), (eazel_install_add_to_rpm_set),
	(eazel_install_add_to_extras_foreach),
	(eazel_install_check_existing_packages),
	(eazel_install_fetch_rpm_dependencies), (print_package_list),
	(eazel_install_ensure_deps), (eazel_uninstall_upward_traverse),
	(eazel_uninstall_downward_traverse),
	(eazel_uninstall_check_for_install), (eazel_uninstall_globber):
	changed all the iterations to use g_list_next.
	Changed the packagedata_destroy calls
	Fixed the reversion
	Modified the prepare package system scheme

	* components/services/install/nautilus-view/nautilus-service-instal
	l-view.c: (nautilus_install_parse_uri),
	(nautilus_service_install_view_update_from_uri):
	Changed the packagedata_destroy calls.
	Used categorydata_new instead of g_new

	* components/services/install/nautilus-view/nautilus-service-instal
	l.c: (nautilus_service_install_view_install_package_callback),
	(nautilus_service_install_view_uninstall_package_callback):
	Used categorydata_new instead of g_new

	* nautilus-installer/src/druid-sidebar.xpm:
	Nicer ui

	* nautilus-installer/src/installer.c: (check_system):
	Comment to the danish dialog box...
This commit is contained in:
Eskil Heyn Olsen 2000-09-02 03:13:25 +00:00
parent 57375b852e
commit 05628eff29
19 changed files with 701 additions and 175 deletions

View file

@ -1,3 +1,94 @@
2000-09-01 Eskil Heyn Olsen <eskil@eazel.com>
* components/services/install/lib/eazel-install-types.h:
* components/services/install/lib/eazel-install-rpm-glue.h:
* components/services/install/lib/eazel-install-types.c:
(categorydata_destroy_foreach), (packagedata_new),
(packagedata_destroy), (packagedata_remove_soft_dep):
The packagedata_destroy_foreach has been removed,
packagedata_destroy now takes a boolean that controls the deep
destroy.
* components/rpmview/nautilus-rpm-view.c:
(nautilus_rpm_view_destroy), (nautilus_rpm_view_update_from_uri):
* components/services/install/command-line/eazel-alt-install-corba.
c: (main):
Use the categorydata_new call
* components/services/install/lib/eazel-install-corba-callback.c:
(impl_dep_check), (impl_install_progress),
(impl_uninstall_progress):
Fixed to use the changed packagedata_destroy
* components/services/install/lib/eazel-install-corba.c:
(impl_Eazel_Install_simple_query):
Call the correct query call
* components/services/install/lib/eazel-install-private.h:
Added a glist to hold downloaded packages
* components/services/install/lib/eazel-install-object.c:
(eazel_install_initialize), (eazel_install_install_packages),
(eazel_install_uninstall_packages),
(eazel_install_revert_transaction_from_xmlstring),
(eazel_install_query_package_system),
(eazel_install_emit_install_progress_default):
Modified the deletion, so it now deletes all downloaded files (and
only downloaded files). Also this file is now responsible for
calling prepare_package_system.
* components/services/install/lib/eazel-install-protocols.c:
(eazel_install_fetch_file):
Added downloaded packages to the glist in eazel_install.
* components/services/install/lib/eazel-install-query.c:
(eazel_install_simple_rpm_query), (eazel_install_simple_query):
Removed the prepare/free_package_system calls
* components/services/install/lib/eazel-install-rpm-glue.c:
(eazel_install_flatten_categories),
(eazel_install_download_packages),
(eazel_install_pre_install_packages),
(eazel_install_do_install_packages), (uninstall_all_packages),
(ei_get_packages_with_mod_flag), (ei_check_uninst_vs_downgrade),
(revert_transaction), (eazel_install_do_transaction_fill_hash),
(eazel_install_do_transaction_get_total_size),
(eazel_install_start_transaction_make_argument_list),
(eazel_install_do_transaction_save_report_helper),
(eazel_install_display_arguments),
(eazel_install_start_transaction),
(eazel_install_prune_packages_helper),
(eazel_install_prune_packages), (eazel_install_load_rpm_headers),
(eazel_install_free_rpm_system),
(eazel_install_prepare_rpm_system), (eazel_install_add_to_rpm_set),
(eazel_install_add_to_extras_foreach),
(eazel_install_check_existing_packages),
(eazel_install_fetch_rpm_dependencies), (print_package_list),
(eazel_install_ensure_deps), (eazel_uninstall_upward_traverse),
(eazel_uninstall_downward_traverse),
(eazel_uninstall_check_for_install), (eazel_uninstall_globber):
changed all the iterations to use g_list_next.
Changed the packagedata_destroy calls
Fixed the reversion
Modified the prepare package system scheme
* components/services/install/nautilus-view/nautilus-service-instal
l-view.c: (nautilus_install_parse_uri),
(nautilus_service_install_view_update_from_uri):
Changed the packagedata_destroy calls.
Used categorydata_new instead of g_new
* components/services/install/nautilus-view/nautilus-service-instal
l.c: (nautilus_service_install_view_install_package_callback),
(nautilus_service_install_view_uninstall_package_callback):
Used categorydata_new instead of g_new
* nautilus-installer/src/druid-sidebar.xpm:
Nicer ui
* nautilus-installer/src/installer.c: (check_system):
Comment to the danish dialog box...
2000-09-01 J Shane Culpepper <pepper@eazel.com>
* components/services/summary/nautilus-view/nautilus-summary-view.c

View file

@ -442,7 +442,7 @@ nautilus_rpm_view_destroy (GtkObject *object)
#ifdef EAZEL_SERVICES
pack = (PackageData*)gtk_object_get_data (GTK_OBJECT (rpm_view), "packagedata");
if (pack) {
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
}
#endif /* EAZEL_SERVICES */
@ -735,7 +735,7 @@ nautilus_rpm_view_update_from_uri (NautilusRPMView *rpm_view, const char *uri)
pack = (PackageData*)gtk_object_get_data (GTK_OBJECT (rpm_view), "packagedata");
if (pack != NULL) {
/* Destroy the old */
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
}
pack = packagedata_new ();
pack->toplevel = TRUE;

View file

@ -376,7 +376,7 @@ nautilus_install_parse_uri (const char *uri, NautilusServiceInstallView *view, G
if (packages) {
CategoryData *category;
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = packages;
*categories = g_list_prepend (NULL, category);
}
@ -843,7 +843,7 @@ nautilus_service_install_view_update_from_uri (NautilusServiceInstallView *view,
pack = (PackageData*) gtk_object_get_data (GTK_OBJECT (view), "packagedata");
if (pack != NULL) {
/* Destroy the old */
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
}
/* find the package data for the package we're about to install */

View file

@ -173,7 +173,7 @@ nautilus_service_install_view_install_package_callback (GtkWidget *widget,
pack = packagedata_new ();
pack->filename = g_strdup (ptr);
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = g_list_prepend (NULL, pack);
categories = g_list_prepend (NULL, category);
}
@ -227,7 +227,7 @@ nautilus_service_install_view_uninstall_package_callback (GtkWidget *widget,
PackageData *pack;
pack = gtk_object_get_data (GTK_OBJECT (view), "packagedata");
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = g_list_prepend (NULL, pack);
categories = g_list_prepend (NULL, category);
}

View file

@ -457,7 +457,7 @@ int main(int argc, char *argv[]) {
}
if (packages) {
CategoryData *category;
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->name = g_strdup ("files from commandline");
category->packages = packages;
categories = g_list_prepend (NULL, category);

View file

@ -103,6 +103,8 @@ impl_dep_check (impl_POA_Trilobite_Eazel_InstallCallback *servant,
pack = packagedata_from_corba_packagedatastruct (*corbapack);
needs = packagedata_from_corba_packagedatastruct (*corbaneeds);
gtk_signal_emit (GTK_OBJECT (servant->object), signals[DEPENDENCY_CHECK], pack, needs);
packagedata_destroy (pack, TRUE);
packagedata_destroy (needs, TRUE);
}
static void
@ -120,6 +122,7 @@ impl_install_progress (impl_POA_Trilobite_Eazel_InstallCallback *servant,
package_num, num_packages,
package_size_completed, package_size_total,
total_size_completed, total_size);
packagedata_destroy (pack, TRUE);
}
static void
@ -132,6 +135,7 @@ impl_uninstall_progress (impl_POA_Trilobite_Eazel_InstallCallback *servant,
PackageData *pack;
pack = packagedata_from_corba_packagedatastruct (*corbapack);
gtk_signal_emit (GTK_OBJECT (servant->object), signals[UNINSTALL_PROGRESS], pack, amount, total);
packagedata_destroy (pack, TRUE);
}
static void

View file

@ -366,13 +366,13 @@ impl_Eazel_Install_simple_query (impl_POA_Trilobite_Eazel_Install *servant,
servant->object->private->cur_root = g_strdup (root);
}
tmp_result = eazel_install_simple_query (servant->object,
query,
EI_SIMPLE_QUERY_MATCHES,
0, NULL);
tmp_result = eazel_install_query_package_system (servant->object,
query,
EI_SIMPLE_QUERY_MATCHES,
servant->object->private->cur_root);
result = Trilobite_Eazel_PackageDataStructList__alloc ();
(*result) = corba_packagedatastructlist_from_packagedata_list (tmp_result);
g_list_foreach (tmp_result, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (tmp_result, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
return result;
}

View file

@ -483,6 +483,7 @@ eazel_install_initialize (EazelInstall *service) {
service->private->logfilename = NULL;
service->private->name_to_package_hash = g_hash_table_new ((GHashFunc)g_str_hash,
(GCompareFunc)g_str_equal);
service->private->downloaded_files = NULL;
service->private->transaction = NULL;
eazel_install_set_rpmrc_file (service, "/usr/lib/rpm/rpmrc");
@ -705,41 +706,28 @@ eazel_install_install_packages (EazelInstall *service,
g_free (service->private->cur_root);
service->private->cur_root = g_strdup (root?root:DEFAULT_RPM_DB_ROOT);
eazel_install_prepare_package_system (service);
result = install_new_packages (service, categories);
if (result == EAZEL_INSTALL_NOTHING) {
g_warning (_("Install failed"));
}
if ((result & EAZEL_INSTALL_DOWNLOADS) && eazel_install_emit_delete_files (service)) {
GList *top_item, *sub_item;
CategoryData *cd;
GList *iterator;
PackageData *top_pack, *sub_pack;
g_message ("*** deleting the package files");
for (top_item = g_list_first (service->private->transaction); top_item;
top_item = g_list_next (top_item)) {
top_pack = (PackageData *) top_item->data;
g_message ("*** package '%s'", (char *) top_pack->filename);
if (unlink ((char *) top_pack->filename) != 0) {
g_warning ("unable to delete file %s !", top_pack->filename);
for (iterator = g_list_first (service->private->downloaded_files); iterator;
iterator = g_list_next (iterator)) {
char *filename = (char*)iterator->data;
g_message ("*** file '%s'", filename);
if (unlink (filename) != 0) {
g_warning ("unable to delete file %s !", filename);
}
for (sub_item = g_list_first (top_pack->soft_depends); sub_item;
sub_item = g_list_next (sub_item)) {
sub_pack = (PackageData *) sub_item->data;
g_message ("*** package '%s'", (char *) sub_pack->filename);
if (unlink ((char *) sub_pack->filename) != 0) {
g_warning ("unable to delete file %s !", (char *) sub_pack->filename);
}
}
for (sub_item = g_list_first (top_pack->hard_depends); sub_item;
sub_item = g_list_next (sub_item)) {
sub_pack = (PackageData *) sub_item->data;
g_message ("*** package '%s'", (char *) sub_pack->filename);
if (unlink ((char *) sub_pack->filename) != 0) {
g_warning ("unable to delete file %s !", (char *) sub_pack->filename);
}
}
}
if (rmdir (eazel_install_get_tmp_dir (service))!=0) {
g_warning ("unable to delete directory %s !", eazel_install_get_tmp_dir (service));
}
}
g_free (service->private->cur_root);
@ -761,7 +749,10 @@ eazel_install_uninstall_packages (EazelInstall *service, GList *categories, cons
eazel_install_set_package_list (service, "/var/eazel/services/package-list.xml");
eazel_install_fetch_remote_package_list (service);
}
eazel_install_prepare_package_system (service);
result = uninstall_packages (service, categories);
if (result == EAZEL_INSTALL_NOTHING) {
g_warning (_("Uninstall failed"));
}
@ -781,6 +772,8 @@ eazel_install_revert_transaction_from_xmlstring (EazelInstall *service,
service->private->cur_root = g_strdup (root?root:DEFAULT_RPM_DB_ROOT);
packages = parse_memory_transaction_file (xml, size);
eazel_install_prepare_package_system (service);
result = revert_transaction (service, packages);
eazel_install_emit_done (service, result | EAZEL_INSTALL_REVERSION_OK);
@ -809,12 +802,15 @@ eazel_install_query_package_system (EazelInstall *service,
int flags,
const char *root)
{
GList *result;
g_message ("eazel_install_query_package_system (...,%s,...)", query);
g_free (service->private->cur_root);
service->private->cur_root = g_strdup (root);
return eazel_install_simple_query (service, query, flags, 0, NULL);
eazel_install_prepare_package_system (service);
result = eazel_install_simple_query (service, query, flags, 0, NULL);
return result;
}
@ -860,7 +856,7 @@ eazel_install_emit_install_progress_default (EazelInstall *service,
package_num, num_packages,
package_size_completed, package_size_total,
total_size_completed, total_size,
&ev);
&ev);
}
CORBA_exception_free (&ev);
#endif /* EAZEL_INSTALL_NO_CORBA */

View file

@ -39,6 +39,9 @@ struct _EazelInstallPrivate {
int problem_filters;
char *transaction_dir;
/* This holds the files that were downloaded */
GList *downloaded_files;
gboolean use_local_package_list;
PackageSystem package_system;

View file

@ -450,6 +450,9 @@ eazel_install_fetch_file (EazelInstall *service,
file_to_report ? file_to_report : g_basename (target_file));
eazel_install_emit_download_failed (service,
file_to_report ? file_to_report : g_basename (target_file));
} else {
service->private->downloaded_files = g_list_prepend (service->private->downloaded_files,
g_strdup (target_file));
}
return result;

View file

@ -85,16 +85,6 @@ eazel_install_simple_rpm_query (EazelInstall *service,
int rc;
int i;
close_db = FALSE;
/* If db is not open, this will be false, therefore,
open and close at the end. That way, this
func can be used in both various enviroments */
if (g_hash_table_size (service->private->packsys.rpm.dbs) == 0) {
eazel_install_prepare_package_system (service);
close_db = TRUE;
}
g_message ("Querying for %s in %s", input, root);
rc = -1;
@ -133,16 +123,11 @@ eazel_install_simple_rpm_query (EazelInstall *service,
pack = packagedata_new_from_rpm_header (hd);
pack->install_root = g_strdup (root);
if (g_list_find_custom (*result, pack->name, (GCompareFunc)eazel_install_package_name_compare)!=NULL) {
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
} else {
(*result) = g_list_prepend (*result, pack);
}
}
if (close_db) {
eazel_install_free_package_system (service);
}
}
}
@ -223,7 +208,7 @@ eazel_install_simple_query (EazelInstall *service,
PackageData *pack;
pack = (PackageData*)iterator->data;
result = g_list_remove (result, pack);
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
}
g_list_free (remove);
}

View file

@ -83,10 +83,6 @@ static void eazel_uninstall_globber (EazelInstall *service,
GList **packages,
GList **failed);
gboolean eazel_install_prepare_package_system (EazelInstall *service);
gboolean eazel_install_free_package_system (EazelInstall *service);
static int eazel_install_check_existing_packages (EazelInstall *service,
PackageData *pack);
@ -99,7 +95,6 @@ static gboolean eazel_install_download_packages (EazelInstall *service,
GList **packages,
GList **failed_packages);
static GList *
eazel_install_flatten_categories (EazelInstall *service,
GList *categories)
@ -107,7 +102,7 @@ eazel_install_flatten_categories (EazelInstall *service,
GList* packages = NULL;
GList* iterator, *category_iterator;
for (category_iterator = categories; category_iterator; category_iterator = category_iterator->next) {
for (category_iterator = categories; category_iterator; category_iterator = g_list_next (category_iterator)) {
CategoryData *cat = (CategoryData*)category_iterator->data;
packages = g_list_concat (packages, cat->packages);
}
@ -190,7 +185,7 @@ eazel_install_download_packages (EazelInstall *service,
g_assert (packages);
g_assert (*packages);
for (iterator = *packages;iterator; iterator = iterator->next) {
for (iterator = *packages;iterator; iterator = g_list_next (iterator)) {
PackageData* package = (PackageData*)iterator->data;
gboolean fetch_package;
@ -249,7 +244,7 @@ eazel_install_download_packages (EazelInstall *service,
}
}
for (iterator = remove_list; iterator; iterator = iterator->next) {
for (iterator = remove_list; iterator; iterator = g_list_next (iterator)) {
(*packages) = g_list_remove (*packages, iterator->data);
}
@ -270,7 +265,7 @@ eazel_install_pre_install_packages (EazelInstall *service,
GList *iterator;
GList *failed_packages = NULL;
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
int inst_status;
@ -311,9 +306,6 @@ eazel_install_do_install_packages (EazelInstall *service,
eazel_install_pre_install_packages (service, &packages);
if (packages) {
if (eazel_install_prepare_package_system (service) == FALSE) {
return FALSE;
}
eazel_install_ensure_deps (service, &packages, &failedfiles);
eazel_install_free_package_system (service);
if (g_list_length (packages)) {
@ -341,11 +333,11 @@ uninstall_all_packages (EazelInstall *service,
failed = NULL;
eazel_uninstall_globber (service, &cat->packages, &failed);
eazel_install_free_package_system (service);
result |= eazel_install_start_transaction (service,
cat->packages);
categories = categories->next;
categories = g_list_next (categories);
}
return result;
}
@ -395,7 +387,7 @@ ei_get_packages_with_mod_flag (GList *packages,
GList *res;
res = NULL;
for (it = packages; it; it = it->next) {
for (it = packages; it; it = g_list_next (it)) {
PackageData *pack;
pack = (PackageData*)it->data;
if (pack->modify_status == mod) {
@ -422,7 +414,7 @@ ei_check_uninst_vs_downgrade (GList **inst,
GList *remove;
remove = NULL;
for (it = *inst; it; it = it->next) {
for (it = *inst; it; it = g_list_next (it)) {
GList *entry;
PackageData *pack;
@ -433,7 +425,7 @@ ei_check_uninst_vs_downgrade (GList **inst,
}
}
for (it = remove; it; it = it->next) {
for (it = remove; it; it = g_list_next (it)) {
(*inst) = g_list_remove (*inst, it->data);
}
}
@ -463,8 +455,9 @@ revert_transaction (EazelInstall *service,
g_list_foreach (downgrade, (GFunc)hest, "downgrade");
g_list_foreach (upgrade, (GFunc)hest, "upgrade");
cat = g_new0 (CategoryData, 1);
cat = categorydata_new ();
categories = g_list_prepend (NULL, cat);
if (uninst) {
eazel_install_set_uninstall (service, TRUE);
eazel_install_set_downgrade (service, FALSE);
@ -491,7 +484,7 @@ revert_transaction (EazelInstall *service,
eazel_install_set_downgrade (service, TRUE);
eazel_install_set_update (service, TRUE);
cat->packages = upgrade;
result |= install_new_packages (service, categories);
g_list_foreach (upgrade, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
}
}
@ -500,7 +493,7 @@ eazel_install_do_transaction_fill_hash (EazelInstall *service,
GList *packages)
{
GList *iterator;
for (iterator = packages; iterator; iterator = iterator->next) {
for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
char *tmp;
PackageData *pack;
@ -517,7 +510,7 @@ eazel_install_do_transaction_get_total_size (EazelInstall *service,
GList *packages)
{
GList *iterator;
for (iterator = packages; iterator; iterator = iterator->next) {
for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
@ -567,7 +560,7 @@ eazel_install_start_transaction_make_argument_list (EazelInstall *service,
args = NULL;
/* Add the packages to the arg list */
for (iterator = packages; iterator; iterator = iterator->next) {
for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
@ -608,7 +601,7 @@ eazel_install_do_transaction_save_report_helper (xmlNodePtr node,
{
GList *iterator;
for (iterator = packages; iterator; iterator = iterator->next) {
for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
char *tmp;
pack = (PackageData*)iterator->data;
@ -806,7 +799,7 @@ eazel_install_display_arguments (GList *args)
{
GList *iterator;
fprintf (stdout, "\nARGS: ");
for (iterator = args; iterator; iterator = iterator->next) {
for (iterator = args; iterator; iterator = g_list_next (iterator)) {
fprintf (stdout, "%s ", (char*)iterator->data);
}
fprintf (stdout, "\n");
@ -881,7 +874,7 @@ eazel_install_start_transaction (EazelInstall *service,
argv = g_new0 (char*, g_list_length (args) + 2);
argv[0] = g_strdup ("rpm");
i = 1;
for (iterator = args; iterator; iterator = iterator->next) {
for (iterator = args; iterator; iterator = g_list_next (iterator)) {
argv[i] = g_strdup (iterator->data);
i++;
}
@ -954,12 +947,12 @@ eazel_install_prune_packages_helper (EazelInstall *service,
eazel_install_emit_install_failed (service, pack);
}
(*pruned) = g_list_prepend (*pruned, pack);
for (iterator = pack->soft_depends; iterator; iterator = iterator->next) {
for (iterator = pack->soft_depends; iterator; iterator = g_list_next (iterator)) {
PackageData *sub;
sub = (PackageData*)iterator->data;
eazel_install_prune_packages_helper (service, packages, pruned, sub);
}
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
PackageData *super;
super = (PackageData*)iterator->data;
@ -1012,14 +1005,14 @@ eazel_install_prune_packages (EazelInstall *service,
packages,
&pruned,
pack);
for (iterator = pruned; iterator; iterator = iterator->next) {
for (iterator = pruned; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
(*packages) = g_list_remove (*packages, pack);
};
}
for (iterator = pruned; iterator; iterator = iterator->next) {
for (iterator = pruned; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
/* Note, don't destroy, all packages are destroyed when the
@ -1046,7 +1039,7 @@ eazel_install_load_rpm_headers (EazelInstall *service,
result = NULL;
sources = NULL;
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
char *filename;
int rpm_err;
PackageData *pack;
@ -1100,7 +1093,7 @@ eazel_install_load_rpm_headers (EazelInstall *service,
}
/* Remove all the source packages */
for (iterator = sources; iterator; iterator = iterator->next) {
for (iterator = sources; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
pack->status = PACKAGE_SOURCE_NOT_SUPPORTED;
@ -1141,9 +1134,11 @@ eazel_install_free_rpm_system (EazelInstall *service)
GList *iterator;
/* Close all the db's */
g_message ("service->private->packsys.rpm.dbs.size = %d", g_hash_table_size (service->private->packsys.rpm.dbs));
g_hash_table_foreach_remove (service->private->packsys.rpm.dbs,
(GHRFunc)eazel_install_free_rpm_system_close_db_foreach,
NULL);
g_message ("service->private->packsys.rpm.dbs.size = %d", g_hash_table_size (service->private->packsys.rpm.dbs));
/*
This crashes, so it's commented out.
@ -1176,7 +1171,7 @@ eazel_install_prepare_rpm_system(EazelInstall *service)
return TRUE;
}
for (iterator = eazel_install_get_root_dirs (service); iterator; iterator = iterator->next) {
for (iterator = eazel_install_get_root_dirs (service); iterator; iterator = g_list_next (iterator)) {
const char *root_dir;
rpmdb db;
@ -1242,7 +1237,7 @@ eazel_install_add_to_rpm_set (EazelInstall *service,
interface_flags |= INSTALL_UPGRADE;
}
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
int err;
@ -1296,7 +1291,7 @@ eazel_install_add_to_rpm_set (EazelInstall *service,
/* Remove all failed from packages, and add them to failed */
if (tmp_failed) {
for (iterator = tmp_failed; iterator; iterator = iterator->next) {
for (iterator = tmp_failed; iterator; iterator = g_list_next (iterator)) {
if (failed) {
(*failed) = g_list_prepend (*failed, iterator->data);
}
@ -1341,7 +1336,7 @@ eazel_install_add_to_extras_foreach (char *key, GList *list, GList **extrapackag
{
GList *iterator;
PackageData *dep;
for (iterator = list; iterator; iterator = iterator->next) {
for (iterator = list; iterator; iterator = g_list_next (iterator)) {
dep = (PackageData*)iterator->data;
(*extrapackages) = g_list_prepend (*extrapackages, dep);
}
@ -1371,7 +1366,7 @@ eazel_install_check_existing_packages (EazelInstall *service,
if (existing_packages) {
/* Get the existing package, set it's modify flag and add it */
GList *iterator;
for (iterator = existing_packages; iterator; iterator = iterator->next) {
for (iterator = existing_packages; iterator; iterator = g_list_next (iterator)) {
int res;
PackageData *existing_package;
@ -1641,7 +1636,7 @@ eazel_install_fetch_rpm_dependencies (EazelInstall *service,
/* Removed packages marked as failed. No need to delete them, as they're in
(*failedpackages) */
for (remove_iterator = to_remove; remove_iterator; remove_iterator = remove_iterator->next) {
for (remove_iterator = to_remove; remove_iterator; remove_iterator = g_list_next (remove_iterator)) {
(*packages) = g_list_remove (*packages, remove_iterator->data);
}
g_list_free (to_remove);
@ -1686,7 +1681,7 @@ print_package_list (char *str, GList *packages, gboolean show_deps)
g_message ("D: ---------------------------");
g_message ("D: %s", str);
for (iterator = packages; iterator; iterator = iterator->next) {
for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
pack = (PackageData*)iterator->data;
if (show_deps) {
GList *it2;
@ -1698,7 +1693,7 @@ print_package_list (char *str, GList *packages, gboolean show_deps)
rpmfilename_from_packagedata ((PackageData*)it2->data));
g_free (tmp);
tmp = tmp2;
it2 = it2->next;
it2 = g_list_next (it2);
}
/*
tmp = g_strdup (breaks);
@ -1712,7 +1707,7 @@ print_package_list (char *str, GList *packages, gboolean show_deps)
g_list_length (p2->soft_depends));
g_free (tmp);
tmp = tmp2;
it2 = it2->next;
it2 = g_list_next (it2);
}
*/
}
@ -1805,7 +1800,7 @@ eazel_install_ensure_deps (EazelInstall *service,
extrapackages = NULL;
/* For all the packages, set state to partly_resolved. */
for (iterator=*packages; iterator; iterator = iterator->next) {
for (iterator=*packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
pack->status = PACKAGE_PARTLY_RESOLVED;
@ -1839,7 +1834,7 @@ eazel_install_ensure_deps (EazelInstall *service,
if (*failedpackages) {
GList *iterator;
for (iterator = *failedpackages; iterator; iterator = iterator->next) {
for (iterator = *failedpackages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
eazel_install_prune_packages (service, pack, packages,
@ -1850,7 +1845,7 @@ eazel_install_ensure_deps (EazelInstall *service,
GList *iterator;
/* Add to "packages" */
for (iterator = extrapackages; iterator; iterator = iterator->next) {
for (iterator = extrapackages; iterator; iterator = g_list_next (iterator)) {
(*packages) = g_list_prepend (*packages, iterator->data);
}
@ -1860,7 +1855,7 @@ eazel_install_ensure_deps (EazelInstall *service,
/* Now remove the packages that failed from "packages"
and copy them into "failedpackages". */
for (iterator = *failedpackages; iterator; iterator = iterator->next) {
for (iterator = *failedpackages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
(*packages) = g_list_remove (*packages, pack);
@ -1870,7 +1865,7 @@ eazel_install_ensure_deps (EazelInstall *service,
GList *iterator;
/* Deps are fine, set all packages to resolved */
for (iterator=*packages; iterator; iterator = iterator->next) {
for (iterator=*packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack;
pack = (PackageData*)iterator->data;
pack->status = PACKAGE_RESOLVED;
@ -1913,7 +1908,7 @@ eazel_uninstall_upward_traverse (EazelInstall *service,
/* Add all packages to the set */
/* eazel_install_add_to_set (service, packages, failed); */
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack = (PackageData*)iterator->data;
GList *matches;
GList *match_iterator;
@ -1924,7 +1919,7 @@ eazel_uninstall_upward_traverse (EazelInstall *service,
matches = eazel_install_simple_query (service, pack->name, EI_SIMPLE_QUERY_REQUIRES,
1, *packages);
for (match_iterator = matches; match_iterator; match_iterator = match_iterator->next) {
for (match_iterator = matches; match_iterator; match_iterator = g_list_next (match_iterator)) {
PackageData *requiredby = (PackageData*)match_iterator->data;;
requiredby->status = PACKAGE_DEPENDENCY_FAIL;
@ -1935,7 +1930,7 @@ eazel_uninstall_upward_traverse (EazelInstall *service,
if (g_list_find_custom (*breaks, (gpointer)requiredby->name,
(GCompareFunc)eazel_install_package_name_compare)) {
g_message ("D: skip %s", requiredby->name);
packagedata_destroy (requiredby);
packagedata_destroy (requiredby, TRUE);
continue;
}
@ -1957,12 +1952,12 @@ eazel_uninstall_upward_traverse (EazelInstall *service,
eazel_uninstall_upward_traverse (service, breaks, failed, &tmp_breaks);
}
for (break_iterator = tmp_breaks; break_iterator; break_iterator = break_iterator->next) {
for (break_iterator = tmp_breaks; break_iterator; break_iterator = g_list_next (break_iterator)) {
(*breaks) = g_list_prepend ((*breaks), break_iterator->data);
}
}
for (iterator = *failed; iterator; iterator = iterator->next) {
for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
(*packages) = g_list_remove (*packages, iterator->data);
}
@ -1994,7 +1989,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
g_message ("D: in eazel_uninstall_downward_traverse");
/* First iterate across the packages in "packages" */
for (iterator = *packages; iterator; iterator = iterator->next) {
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
GList *matches;
PackageData *pack;
GList *match_iterator;
@ -2005,7 +2000,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
g_message ("D: %s had %d hits", pack->name, g_list_length (matches));
/* Now iterate over all packages that match pack->name */
for (match_iterator = matches; match_iterator; match_iterator = match_iterator->next) {
for (match_iterator = matches; match_iterator; match_iterator = g_list_next (match_iterator)) {
PackageData *matched_pack;
const char **require_name;
int require_name_count;
@ -2038,7 +2033,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
/* Iterate over all packages that match the required package */
for (second_match_iterator = second_matches;
second_match_iterator;
second_match_iterator = second_match_iterator->next) {
second_match_iterator = g_list_next (second_match_iterator)) {
PackageData *isrequired;
isrequired = (PackageData*)second_match_iterator->data;
@ -2047,7 +2042,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
g_list_find_custom (*packages, isrequired->name,
(GCompareFunc)eazel_install_package_name_compare)) {
g_message ("D: skipped %s", isrequired->name);
packagedata_destroy (isrequired);
packagedata_destroy (isrequired, TRUE);
continue;
}
g_message ("D: ** %s requires %s", pack->name, isrequired->name);
@ -2072,9 +2067,9 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
isrequired->name);
print_package_list ("BY", third_matches, FALSE);
g_list_foreach (third_matches,
(GFunc)packagedata_destroy_foreach,
NULL);
packagedata_destroy (isrequired);
(GFunc)packagedata_destroy,
GINT_TO_POINTER (TRUE));
packagedata_destroy (isrequired, TRUE);
} else {
g_message ("D: Also nuking %s", isrequired->name);
tmp_requires = g_list_prepend (tmp_requires,
@ -2094,7 +2089,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
headerFree (hd);
}
g_list_foreach (matches, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (matches, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
g_list_free (matches);
}
@ -2103,7 +2098,7 @@ eazel_uninstall_downward_traverse (EazelInstall *service,
}
/* Now move the entries in tmp_requires into *requires */
for (iterator = tmp_requires; iterator; iterator = iterator->next) {
for (iterator = tmp_requires; iterator; iterator = g_list_next (iterator)) {
(*requires) = g_list_prepend (*requires, iterator->data);
}
g_list_free (tmp_requires);
@ -2117,27 +2112,30 @@ eazel_uninstall_check_for_install (EazelInstall *service,
GList **failed)
{
GList *iterator;
GList *remove;
GList *remove = NULL;
GList *result = NULL;
g_message ("D: in eazel_uninstall_check_for_install");
remove = NULL;
for (iterator = *packages; iterator; iterator = iterator->next) {
g_assert (packages);
g_message ("g_list_length (*packages) = %d", g_list_length (*packages));
for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
PackageData *pack = (PackageData*)iterator->data;
GList *matches;
PackageData *pack;
pack = (PackageData*)iterator->data;
matches = eazel_install_simple_query (service, pack->name, EI_SIMPLE_QUERY_MATCHES, 0, NULL);
/* If it's installed, continue */
if (matches) {
if (g_list_length (matches)==1) {
packagedata_destroy (pack);
iterator->data = matches->data;
pack = (PackageData*)iterator->data;
PackageData *matched = (PackageData*)matches->data;
g_message ("hest");
/* This is mucho important. If not marked
as toplevel, upwards traverse will not fail the package
is it has dependents */
pack->toplevel = TRUE;
} else {
matched->toplevel = TRUE;
g_message ("bæver %s", matched->name);
result = g_list_prepend (result, matched);
} else {
g_assert_not_reached ();
}
continue;
@ -2147,13 +2145,26 @@ eazel_uninstall_check_for_install (EazelInstall *service,
}
}
g_message ("fisk");
for (iterator = remove; iterator; iterator=iterator->next) {
(*packages) = g_list_remove (*packages, iterator->data);
(*failed) = g_list_prepend (*failed, iterator->data);
}
g_message ("torsk");
g_message ("g_list_length (*packages) = %d", g_list_length (*packages));
g_message ("g_list_length (result) = %d", g_list_length (result));
g_list_foreach (*packages, (GFunc)packagedata_destroy, FALSE);
g_list_free (remove);
g_message ("odder");
g_list_free (*packages);
g_message ("sild");
(*packages) = g_list_copy (result);
g_message ("hund");
g_list_free (result);
g_message ("D: out eazel_uninstall_check_for_install");
}
/* Calls the upward and downward traversal */
static void
eazel_uninstall_globber (EazelInstall *service,
@ -2162,7 +2173,7 @@ eazel_uninstall_globber (EazelInstall *service,
{
GList *iterator;
GList *tmp;
gboolean close_base;
/*
call upward with packages
call downward with packages and &tmp
@ -2171,30 +2182,22 @@ eazel_uninstall_globber (EazelInstall *service,
g_message ("D: in eazel_uninstall_globber");
if (eazel_install_prepare_package_system (service) == FALSE) {
close_base = FALSE;
for (iterator = *packages; iterator; iterator = iterator->next) {
(*failed) = g_list_prepend (*failed, iterator->data);
}
} else {
close_base = TRUE;
tmp = NULL;
tmp = NULL;
eazel_uninstall_check_for_install (service, packages, failed);
for (iterator = *failed; iterator; iterator = iterator->next) {
g_message ("D: not installed %s", ((PackageData*)iterator->data)->name);
eazel_uninstall_check_for_install (service, packages, failed);
for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
g_message ("D: not installed %s", ((PackageData*)iterator->data)->name);
eazel_install_emit_uninstall_failed (service, (PackageData*)iterator->data);
}
if (*packages) {
eazel_uninstall_upward_traverse (service, packages, failed, &tmp);
print_package_list ("FAILED", *failed, TRUE);
for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
g_message ("D: failed %s", ((PackageData*)iterator->data)->name);
eazel_install_emit_uninstall_failed (service, (PackageData*)iterator->data);
}
if (*packages) {
eazel_uninstall_upward_traverse (service, packages, failed, &tmp);
print_package_list ("FAILED", *failed, TRUE);
for (iterator = *failed; iterator; iterator = iterator->next) {
g_message ("D: failed %s", ((PackageData*)iterator->data)->name);
eazel_install_emit_uninstall_failed (service, (PackageData*)iterator->data);
}
g_list_free (tmp);
}
g_list_free (tmp);
}
/*
@ -2202,16 +2205,12 @@ eazel_uninstall_globber (EazelInstall *service,
tmp = NULL;
eazel_uninstall_downward_traverse (service, packages, failed, &tmp);
for (iterator = tmp; iterator; iterator = iterator->next) {
for (iterator = tmp; iterator; iterator = g_list_next (iterator)) {
g_message ("also doing %s", ((PackageData*)iterator->data)->name);
(*packages) = g_list_prepend (*packages, iterator->data);
}
g_list_free (tmp);
*/
if (close_base) {
eazel_install_free_package_system (service);
}
g_message ("D: out eazel_uninstall_glob");
}

View file

@ -45,4 +45,7 @@ EazelInstallStatus install_new_packages (EazelInstall *service, GList *categorie
EazelInstallStatus uninstall_packages (EazelInstall *service, GList *categories);
EazelInstallStatus revert_transaction (EazelInstall *service, GList *packages);
gboolean eazel_install_prepare_package_system (EazelInstall *service);
gboolean eazel_install_free_package_system (EazelInstall *service);
#endif /* EAZEL_INSTALL_RPM_GLUE_H */

View file

@ -82,7 +82,7 @@ categorydata_destroy_foreach (CategoryData *cd, gpointer ununsed)
g_return_if_fail (cd != NULL);
g_free (cd->name);
cd->name = NULL;
g_list_foreach (cd->packages, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (cd->packages, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
}
void
@ -99,6 +99,7 @@ packagedata_new ()
#ifdef DEBUG_PACKAGE_ALLOCS
package_allocs ++;
g_message ("package_allocs inced to %d (0x%x)", package_allocs, pack);
#endif /* DEBUG_PACKAGE_ALLOCS */
@ -238,11 +239,11 @@ packagedata_fill_from_file (PackageData *pack, const char *filename)
}
void
packagedata_destroy_foreach (PackageData *pack, gpointer unused)
packagedata_destroy (PackageData *pack, gboolean deep)
{
#ifdef DEBUG_PACKAGE_ALLOCS
package_allocs --;
g_message ("package_allocs = %d", package_allocs);
g_message ("package_allocs = %d (0x%x)", package_allocs, pack);
#endif /* DEBUG_PACKAGE_ALLOCS */
@ -263,10 +264,12 @@ packagedata_destroy_foreach (PackageData *pack, gpointer unused)
g_free (pack->install_root);
pack->install_root = NULL;
g_list_foreach (pack->soft_depends, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (pack->hard_depends, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (pack->breaks, (GFunc)packagedata_destroy_foreach, NULL);
g_list_foreach (pack->modifies, (GFunc)packagedata_destroy_foreach, NULL);
if (deep) {
g_list_foreach (pack->soft_depends, (GFunc)packagedata_destroy, GINT_TO_POINTER (deep));
g_list_foreach (pack->hard_depends, (GFunc)packagedata_destroy, GINT_TO_POINTER (deep));
g_list_foreach (pack->breaks, (GFunc)packagedata_destroy, GINT_TO_POINTER (deep));
g_list_foreach (pack->modifies, (GFunc)packagedata_destroy, GINT_TO_POINTER (deep));
}
pack->soft_depends = NULL;
pack->hard_depends = NULL;
pack->breaks = NULL;
@ -281,13 +284,7 @@ packagedata_destroy_foreach (PackageData *pack, gpointer unused)
}
g_free (pack);
}
void
packagedata_destroy (PackageData *pack)
{
if (!pack) return;
packagedata_destroy_foreach (pack, NULL);
pack = NULL;
}
void
@ -299,7 +296,7 @@ packagedata_remove_soft_dep (PackageData *remove,
g_message ("removing %s from %s's deps", remove->name, from->name);
from->soft_depends = g_list_remove (from->soft_depends, remove);
packagedata_destroy (remove);
packagedata_destroy (remove, TRUE);
}
const char*

View file

@ -200,8 +200,7 @@ void packagedata_remove_soft_dep (PackageData *remove, PackageData *from);
const char *rpmfilename_from_packagedata (const PackageData *pack);
const char *rpmname_from_packagedata (const PackageData *pack);
void packagedata_destroy_foreach (PackageData *pd, gpointer unused);
void packagedata_destroy (PackageData *pd);
void packagedata_destroy (PackageData *pd, gboolean deep);
int packagedata_hash_equal (PackageData *a, PackageData *b);

View file

@ -376,7 +376,7 @@ nautilus_install_parse_uri (const char *uri, NautilusServiceInstallView *view, G
if (packages) {
CategoryData *category;
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = packages;
*categories = g_list_prepend (NULL, category);
}
@ -843,7 +843,7 @@ nautilus_service_install_view_update_from_uri (NautilusServiceInstallView *view,
pack = (PackageData*) gtk_object_get_data (GTK_OBJECT (view), "packagedata");
if (pack != NULL) {
/* Destroy the old */
packagedata_destroy (pack);
packagedata_destroy (pack, TRUE);
}
/* find the package data for the package we're about to install */

View file

@ -173,7 +173,7 @@ nautilus_service_install_view_install_package_callback (GtkWidget *widget,
pack = packagedata_new ();
pack->filename = g_strdup (ptr);
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = g_list_prepend (NULL, pack);
categories = g_list_prepend (NULL, category);
}
@ -227,7 +227,7 @@ nautilus_service_install_view_uninstall_package_callback (GtkWidget *widget,
PackageData *pack;
pack = gtk_object_get_data (GTK_OBJECT (view), "packagedata");
category = g_new0 (CategoryData, 1);
category = categorydata_new ();
category->packages = g_list_prepend (NULL, pack);
categories = g_list_prepend (NULL, category);
}

View file

@ -0,0 +1,445 @@
/* XPM */
static char * druid_sidebar_xpm[] = {
"96 322 120 2",
" c None",
". c #BAD1D4",
"+ c #CDDEE0",
"@ c #F5F8F9",
"# c #C2D6D9",
"$ c #EAF1F2",
"% c #FFFFFF",
"& c #DFEAEB",
"* c #D3E2E4",
"= c #FBFDFD",
"- c #C7D9DC",
"; c #F0F5F5",
"> c #E3ECED",
", c #D6E4E5",
"' c #C9DBDD",
") c #F2F6F7",
"! c #BBD2D5",
"~ c #E4EDEE",
"{ c #C7DADC",
"] c #F1F6F6",
"^ c #E2ECED",
"/ c #FDFEFE",
"( c #C3D7DA",
"_ c #EEF3F4",
": c #DEE9EA",
"< c #CEDEE0",
"[ c #F9FBFB",
"} c #BDD3D6",
"| c #E8F0F1",
"1 c #D7E4E6",
"2 c #C6D9DB",
"3 c #E0EAEB",
"4 c #BCD2D5",
"5 c #E7EFF0",
"6 c #D5E3E5",
"7 c #EDF3F4",
"8 c #DAE7E8",
"9 c #F3F7F8",
"0 c #E0EAEC",
"a c #CCDDDF",
"b c #D0E0E2",
"c c #BED4D6",
"d c #EBF2F3",
"e c #D6E3E5",
"f c #C0D5D8",
"g c #C1D6D8",
"h c #EEF4F5",
"i c #D8E5E7",
"j c #EFF4F5",
"k c #BFD5D7",
"l c #EEF4F4",
"m c #BED3D6",
"n c #ECF2F3",
"o c #D4E2E4",
"p c #D1E0E2",
"q c #E3ECEE",
"r c #DFE9EB",
"s c #C4D8DA",
"t c #F4F8F8",
"u c #DAE6E8",
"v c #BFD4D7",
"w c #E9F0F1",
"x c #FEFEFE",
"y c #F7FAFA",
"z c #DBE7E9",
"A c #CBDCDE",
"B c #FCFDFD",
"C c #F3F7F7",
"D c #E9F1F2",
"E c #C1D6D9",
"F c #C9DBDE",
"G c #FBFCFD",
"H c #DDE8EA",
"I c #C4D7DA",
"J c #F6F9F9",
"K c #D6E4E6",
"L c #DCE7E9",
"M c #E5EEEF",
"N c #F6F9FA",
"O c #E6EEEF",
"P c #E6EFF0",
"Q c #C3D7D9",
"R c #F7F9FA",
"S c #E2EBED",
"T c #DEE9EB",
"U c #CADBDE",
"V c #C5D8DB",
"W c #FAFCFC",
"X c #CFDFE1",
"Y c #C8DADD",
"Z c #ECF3F3",
"` c #FBFCFC",
" . c #D2E1E3",
".. c #E0EBEC",
"+. c #C5D9DB",
"@. c #FDFDFD",
"#. c #E1EBEC",
"$. c #EFF5F5",
"%. c #D9E6E7",
"&. c #C8DADC",
"*. c #C6D9DC",
"=. c #D3E1E3",
"-. c #EBF1F2",
";. c #CBDCDF",
">. c #CBDDDF",
",. c #F8FAFB",
"'. c #BBD1D4",
"). c #F5F9F9",
"!. c #BCD3D6",
"~. c #D9E5E7",
"{. c #C2D7D9",
"]. c #F0F5F6",
"^. c #F2F7F7",
"/. c #D0DFE1",
"(. c #F1F6F7",
"_. c #C8DBDD",
":. c #E3EDEE",
"<. c #CADCDE",
"[. c #DCE8E9",
"}. c #E8EFF0",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # $ % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * = % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ; % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' ) % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! ~ % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . { ] % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^ % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * / % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( _ % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . < [ % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } | % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ] % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . < [ % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # 7 % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . { 9 % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a [ % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b / % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! | % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c d % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f 7 % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . g h % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . g j % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f j % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . k l % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . m n % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! $ % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . < / % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . q % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' [ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . r % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s t % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v j % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . w % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . < x % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . z % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v ; % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A B % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # C % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E C % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F G % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . m ; % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . q % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I J % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . w % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ' B % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! l % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v ) % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E t % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( N % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Q R % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f @ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . m ) % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . < % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . h % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . U % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V W % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v t % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . r % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y x % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . f J % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . r % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } 9 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . w % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . g y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Z % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s ` % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . h % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +.@.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 / % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . j % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V B % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Q W % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . k y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . a % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . %.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . ! 9 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . &.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . o % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . #.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . E W % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . < % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . u % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . P % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . C % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . *.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . =.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . & % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . . -.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . c y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . U % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . e % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . S % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . f [ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . ;.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . ^ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . . l % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . f [ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . >.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . K % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . ^ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . v ,.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . U % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . 3 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . . -.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . ! J % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . *.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . p % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . L % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . P % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . . ] % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . g = % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . a % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . K % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . ..% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . . d % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . '.).% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . V % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . %.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . q % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . !.y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . *.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . u % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . ~ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . . _ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . 4 y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . 2 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . ~.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . ^ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . d % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . . @ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . {.x % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . a % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . 6 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . : % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . . ].% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . } [ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . *.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . i % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . #.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . . ^.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . v ` % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . { % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . /.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . i % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . #.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . w % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . . (.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . } W % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . +.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . + % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . e % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . : % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . _ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . . J % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . f x % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . _.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . i % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . 3 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . j % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . . R % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . g x % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . Y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . T % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . . t % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . } ` % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . s % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . ;.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . .% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . %.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . 0 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . 5 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . 7 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . . t % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . !.` % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . ( % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . U % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . 1 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . H % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . :.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . $ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . ].% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . . N % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . c @.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . s % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . <.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . , % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . [.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . ^ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . }.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . _ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . 9 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . . [ % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . k % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . V % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . A % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . b % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . e % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . z % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . 0 % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . O % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . d % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . ].% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . . ).% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . '.W % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . f % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . V % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . F % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . X % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . * % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . i % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ",
". . . . . . H % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "};

View file

@ -909,7 +909,8 @@ check_system (EazelInstaller *installer)
#ifndef NAUTILUS_INSTALLER_RELEASE
uname (&ub);
/* This codes tells Eskil that he's an idiot if he runs it on his own machine
without the testflag... */
without the testflag, since it hoses the system.
It rouhgly translates into "fuck off". */
g_message ("host = %s", ub.nodename);
if (!installer_test && g_strncasecmp (ub.nodename, "toothgnasher", 12)==0) {
GnomeDialog *d;