Browse Source

fix issues with request restrictions implmented in previous commit.

sisyphus
Dustin Falgout 8 years ago
parent
commit
9d0170c738
  1. 12
      src/greeter.c
  2. 0
      src/gresource/css/style.css
  3. 536
      src/gresource/greeter-resources.c
  4. 9
      src/gresource/greeter-resources.gresource.xml
  5. 0
      src/gresource/js/auto-binding-object.js
  6. 0
      src/gresource/js/heartbeat.js
  7. 10
      src/webkit2-extension.c

12
src/greeter.c

@ -188,12 +188,10 @@ script_loaded_cb(GObject *object,
);
if (!js_result) {
g_warning("Error running javascript: %s", error->message);
g_error_free(error);
return;
} else {
webkit_javascript_result_unref(js_result);
}
webkit_javascript_result_unref(js_result);
}
@ -289,7 +287,7 @@ message_received_cb(WebKitUserContentManager *manager,
static void
quit_cb(void) {
gtk_widget_destroy(GTK_WIDGET(window));
gtk_widget_destroy(window);
gtk_main_quit();
}
@ -330,8 +328,10 @@ main(int argc, char **argv) {
textdomain (GETTEXT_PACKAGE);
gtk_init(&argc, &argv);
g_unix_signal_add(SIGTERM, (GSourceFunc) quit_cb, NULL);
g_unix_signal_add(SIGINT, (GSourceFunc) quit_cb, NULL);
g_unix_signal_add(SIGHUP, (GSourceFunc) quit_cb, NULL);
/* Apply greeter settings from config file */
keyfile = g_key_file_new();
@ -416,7 +416,7 @@ main(int argc, char **argv) {
/* There's no turning back now, let's go! */
gtk_container_add(GTK_CONTAINER(window), web_view);
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(web_view),
g_strdup_printf("file://%s%s/index.html", THEME_DIR, theme));
g_strdup_printf("file://%s/%s/index.html", THEME_DIR, theme));
gtk_widget_show_all(window);

0
data/style.css → src/gresource/css/style.css

536
src/gresource/greeter-resources.c

@ -6,44 +6,47 @@
# define SECTION
#endif
static const SECTION union { const guint8 data[2820]; const double alignment; void * const ptr;} greeter_resources_resource_data = { {
static const SECTION union { const guint8 data[5188]; const double alignment; void * const ptr;} greeter_resources_resource_data = { {
0x47, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x28, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x4c, 0xe7, 0x14, 0x06, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x4c, 0x00,
0x04, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
0xc2, 0xaf, 0x89, 0x0b, 0x03, 0x00, 0x00, 0x00,
0x08, 0x01, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00,
0x0c, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
0x73, 0xf8, 0xf6, 0x72, 0x00, 0x00, 0x00, 0x00,
0x10, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x76, 0x00,
0x20, 0x01, 0x00, 0x00, 0x7b, 0x0a, 0x00, 0x00,
0xd4, 0xb5, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff,
0x7b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x4c, 0x00,
0x7c, 0x0a, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x00,
0x8c, 0x77, 0x10, 0x71, 0x07, 0x00, 0x00, 0x00,
0x80, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x76, 0x00,
0x90, 0x0a, 0x00, 0x00, 0xcc, 0x0a, 0x00, 0x00,
0xb4, 0xae, 0x96, 0xdb, 0x01, 0x00, 0x00, 0x00,
0xcc, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x4c, 0x00,
0xd8, 0x0a, 0x00, 0x00, 0xdc, 0x0a, 0x00, 0x00,
0x0c, 0xa6, 0xd8, 0x48, 0x05, 0x00, 0x00, 0x00,
0xdc, 0x0a, 0x00, 0x00, 0x18, 0x00, 0x4c, 0x00,
0xf4, 0x0a, 0x00, 0x00, 0xfc, 0x0a, 0x00, 0x00,
0xc4, 0x0d, 0xcd, 0xb1, 0x06, 0x00, 0x00, 0x00,
0xfc, 0x0a, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00,
0x00, 0x0b, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x00,
0x6a, 0x73, 0x2f, 0x00, 0x02, 0x00, 0x00, 0x00,
0x63, 0x6f, 0x6d, 0x2f, 0x05, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x28, 0x09, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x78, 0x4c, 0xe7, 0x14,
0x03, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00,
0x03, 0x00, 0x4c, 0x00, 0x20, 0x01, 0x00, 0x00,
0x28, 0x01, 0x00, 0x00, 0x73, 0xf8, 0xf6, 0x72,
0x00, 0x00, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00,
0x0c, 0x00, 0x76, 0x00, 0x38, 0x01, 0x00, 0x00,
0xf5, 0x0a, 0x00, 0x00, 0xc2, 0xaf, 0x89, 0x0b,
0x07, 0x00, 0x00, 0x00, 0xf5, 0x0a, 0x00, 0x00,
0x04, 0x00, 0x4c, 0x00, 0xfc, 0x0a, 0x00, 0x00,
0x00, 0x0b, 0x00, 0x00, 0x0c, 0xa6, 0xd8, 0x48,
0x05, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00,
0x18, 0x00, 0x4c, 0x00, 0x18, 0x0b, 0x00, 0x00,
0x20, 0x0b, 0x00, 0x00, 0x08, 0x98, 0x49, 0xe2,
0x00, 0x00, 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00,
0x16, 0x00, 0x76, 0x00, 0x38, 0x0b, 0x00, 0x00,
0xdf, 0x13, 0x00, 0x00, 0xb4, 0xae, 0x96, 0xdb,
0x02, 0x00, 0x00, 0x00, 0xdf, 0x13, 0x00, 0x00,
0x09, 0x00, 0x4c, 0x00, 0xe8, 0x13, 0x00, 0x00,
0xec, 0x13, 0x00, 0x00, 0x8c, 0x77, 0x10, 0x71,
0x08, 0x00, 0x00, 0x00, 0xec, 0x13, 0x00, 0x00,
0x09, 0x00, 0x76, 0x00, 0xf8, 0x13, 0x00, 0x00,
0x34, 0x14, 0x00, 0x00, 0xd4, 0xb5, 0x02, 0x00,
0xff, 0xff, 0xff, 0xff, 0x34, 0x14, 0x00, 0x00,
0x01, 0x00, 0x4c, 0x00, 0x38, 0x14, 0x00, 0x00,
0x3c, 0x14, 0x00, 0x00, 0xc4, 0x0d, 0xcd, 0xb1,
0x03, 0x00, 0x00, 0x00, 0x3c, 0x14, 0x00, 0x00,
0x04, 0x00, 0x4c, 0x00, 0x40, 0x14, 0x00, 0x00,
0x44, 0x14, 0x00, 0x00, 0x6a, 0x73, 0x2f, 0x00,
0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00,
0x4b, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xad, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e,
0x6a, 0x73, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a,
@ -248,23 +251,31 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo
0x73, 0x73, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74,
0x44, 0x4d, 0x47, 0x72, 0x65, 0x65, 0x74, 0x65,
0x72, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65,
0x61, 0x74, 0x20, 0x7b, 0x0a, 0x0a, 0x09, 0x63,
0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
0x6f, 0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09,
0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x27, 0x5f,
0x61, 0x74, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e,
0x64, 0x73, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x42,
0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x20, 0x7b, 0x0a, 0x0a,
0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75,
0x63, 0x74, 0x6f, 0x72, 0x28, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20,
0x27, 0x5f, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x27, 0x20, 0x69, 0x6e,
0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20,
0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x5f,
0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x27, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x69,
0x6e, 0x64, 0x6f, 0x77, 0x20, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x20, 0x5f, 0x68, 0x65, 0x61, 0x72,
0x74, 0x62, 0x65, 0x61, 0x74, 0x3b, 0x0a, 0x09,
0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x69,
0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x5f, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20,
0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x3b, 0x0a,
0x74, 0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a,
0x09, 0x09, 0x73, 0x75, 0x70, 0x65, 0x72, 0x28,
0x29, 0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x77, 0x69,
0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x5f, 0x5f, 0x68,
0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
0x20, 0x3d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x3b,
0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e,
0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x20, 0x3d, 0x20, 0x27, 0x27, 0x3b, 0x0a,
0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68,
0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
0x20, 0x3d, 0x20, 0x27, 0x27, 0x3b, 0x0a, 0x0a,
0x73, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x0a,
0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x69,
0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f,
@ -274,77 +285,367 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo
0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x68, 0x65,
0x6d, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x28, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x68,
0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
0x73, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x0a,
0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x27,
0x27, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74, 0x68,
0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x20, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73,
0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67, 0x28,
0x20, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62,
0x65, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20,
0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20,
0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x69,
0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
0x21, 0x27, 0x20, 0x29, 0x3b, 0x0a, 0x09, 0x09,
0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b,
0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09,
0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e,
0x6c, 0x6f, 0x67, 0x28, 0x27, 0x49, 0x6e, 0x69,
0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x69, 0x6e,
0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x20,
0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20,
0x27, 0x27, 0x20, 0x21, 0x3d, 0x3d, 0x20, 0x74,
0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61, 0x72,
0x74, 0x62, 0x65, 0x61, 0x74, 0x20, 0x29, 0x20,
0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e,
0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
0x28, 0x20, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73,
0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79,
0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
0x64, 0x21, 0x27, 0x20, 0x29, 0x3b, 0x0a, 0x09,
0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09,
0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65,
0x2e, 0x6c, 0x6f, 0x67, 0x28, 0x27, 0x49, 0x6e,
0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x69,
0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x65,
0x20, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65,
0x61, 0x74, 0x2e, 0x27, 0x29, 0x3b, 0x0a, 0x0a,
0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x73,
0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x72,
0x74, 0x62, 0x65, 0x61, 0x74, 0x28, 0x29, 0x3b,
0x0a, 0x09, 0x09, 0x74, 0x68, 0x69, 0x73, 0x2e,
0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x2e, 0x27, 0x29, 0x3b, 0x0a, 0x0a, 0x09,
0x09, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20,
0x3d, 0x20, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x74,
0x65, 0x72, 0x76, 0x61, 0x6c, 0x28, 0x28, 0x29,
0x20, 0x3d, 0x3e, 0x20, 0x7b, 0x0a, 0x09, 0x09,
0x09, 0x2b, 0x2b, 0x68, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x73, 0x3b, 0x0a, 0x0a,
0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20,
0x74, 0x72, 0x75, 0x65, 0x20, 0x3d, 0x3d, 0x3d,
0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d,
0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e,
0x67, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09,
0x74, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x74, 0x49,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x28,
0x74, 0x68, 0x69, 0x73, 0x2e, 0x73, 0x65, 0x6e,
0x64, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62,
0x65, 0x61, 0x74, 0x2c, 0x20, 0x35, 0x30, 0x30,
0x30, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a,
0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x28,
0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x2b, 0x2b,
0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65, 0x61,
0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x73, 0x3b,
0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20, 0x28,
0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x3d, 0x3d,
0x3d, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x64,
0x6d, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69,
0x6e, 0x67, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09,
0x09, 0x09, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x49,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x28,
0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x20,
0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x72,
0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09,
0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x09,
0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x77,
0x65, 0x62, 0x6b, 0x69, 0x74, 0x2e, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x6e,
0x64, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x72,
0x65, 0x65, 0x74, 0x65, 0x72, 0x42, 0x72, 0x69,
0x64, 0x67, 0x65, 0x2e, 0x70, 0x6f, 0x73, 0x74,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28,
0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65,
0x61, 0x74, 0x27, 0x29, 0x3b, 0x0a, 0x0a, 0x09,
0x09, 0x09, 0x69, 0x66, 0x20, 0x28, 0x20, 0x68,
0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x72, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x09, 0x09,
0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x69, 0x66, 0x20,
0x28, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x68,
0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74,
0x73, 0x20, 0x3c, 0x20, 0x35, 0x20, 0x29, 0x20,
0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x63, 0x6f,
0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,
0x67, 0x28, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x69,
0x6e, 0x67, 0x20, 0x68, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x2e, 0x2e, 0x2e, 0x27,
0x29, 0x3b, 0x0a, 0x09, 0x09, 0x09, 0x7d, 0x0a,
0x0a, 0x09, 0x09, 0x7d, 0x2c, 0x20, 0x35, 0x30,
0x30, 0x30, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a,
0x7d, 0x0a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x20,
0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x4d, 0x47,
0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x48, 0x65,
0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x28,
0x29, 0x3b, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75,
0x61, 0x79, 0x29, 0x2f, 0x01, 0x00, 0x00, 0x00,
0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73,
0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7b, 0x0a, 0x09, 0x09, 0x09, 0x63, 0x6f, 0x6e,
0x73, 0x6f, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x67,
0x28, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x20, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62,
0x65, 0x61, 0x74, 0x2e, 0x2e, 0x2e, 0x27, 0x29,
0x3b, 0x0a, 0x09, 0x09, 0x7d, 0x0a, 0x0a, 0x09,
0x09, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e,
0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x2e, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61,
0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x47,
0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x42, 0x72,
0x69, 0x64, 0x67, 0x65, 0x2e, 0x70, 0x6f, 0x73,
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x28, 0x27, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62,
0x65, 0x61, 0x74, 0x27, 0x29, 0x3b, 0x0a, 0x09,
0x7d, 0x0a, 0x7d, 0x0a, 0x0a, 0x0a, 0x6e, 0x65,
0x77, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44,
0x4d, 0x47, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72,
0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
0x74, 0x28, 0x29, 0x3b, 0x0a, 0x00, 0x00, 0x28,
0x75, 0x75, 0x61, 0x79, 0x29, 0x63, 0x6f, 0x6d,
0x2f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d,
0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d,
0x67, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x2f,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x61, 0x75, 0x74, 0x6f, 0x2d, 0x62, 0x69, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x2d, 0x6f, 0x62, 0x6a,
0x65, 0x63, 0x74, 0x2e, 0x6a, 0x73, 0x00, 0x00,
0x97, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x61, 0x75,
0x74, 0x6f, 0x2d, 0x62, 0x69, 0x6e, 0x64, 0x69,
0x6e, 0x67, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x2e, 0x6a, 0x73, 0x0a, 0x20, 0x2a, 0x0a,
0x20, 0x2a, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72,
0x69, 0x67, 0x68, 0x74, 0x20, 0xc2, 0xa9, 0x20,
0x32, 0x30, 0x31, 0x36, 0x20, 0x41, 0x6e, 0x74,
0x65, 0x72, 0x67, 0x6f, 0x73, 0x20, 0x44, 0x65,
0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73,
0x20, 0x3c, 0x64, 0x65, 0x76, 0x40, 0x61, 0x6e,
0x74, 0x65, 0x72, 0x67, 0x6f, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x3e, 0x0a, 0x20, 0x2a, 0x0a, 0x20,
0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66,
0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70,
0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6c,
0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, 0x77,
0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, 0x67,
0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x0a,
0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x6c, 0x69,
0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d, 0x77, 0x65,
0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d, 0x67, 0x72,
0x65, 0x65, 0x74, 0x65, 0x72, 0x20, 0x69, 0x73,
0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x73, 0x6f,
0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x3b, 0x20,
0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20,
0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x65, 0x20, 0x69, 0x74, 0x20,
0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20, 0x6d,
0x6f, 0x64, 0x69, 0x66, 0x79, 0x0a, 0x20, 0x2a,
0x20, 0x69, 0x74, 0x20, 0x75, 0x6e, 0x64, 0x65,
0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65,
0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74,
0x68, 0x65, 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69,
0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x61, 0x73,
0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x2a,
0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x72, 0x65,
0x65, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,
0x72, 0x65, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x65,
0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x20,
0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c,
0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20,
0x6f, 0x72, 0x0a, 0x20, 0x2a, 0x20, 0x28, 0x61,
0x74, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x6f,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x61,
0x6e, 0x79, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x72,
0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x2e, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20,
0x6c, 0x69, 0x67, 0x68, 0x74, 0x64, 0x6d, 0x2d,
0x77, 0x65, 0x62, 0x6b, 0x69, 0x74, 0x32, 0x2d,
0x67, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x20,
0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x69,
0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f,
0x70, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75,
0x6c, 0x2c, 0x0a, 0x20, 0x2a, 0x20, 0x62, 0x75,
0x74, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55,
0x54, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x57, 0x41,
0x52, 0x52, 0x41, 0x4e, 0x54, 0x59, 0x3b, 0x20,
0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20,
0x65, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65,
0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64,
0x20, 0x77, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x74,
0x79, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x2a, 0x20,
0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54,
0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20,
0x6f, 0x72, 0x20, 0x46, 0x49, 0x54, 0x4e, 0x45,
0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41,
0x20, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x55,
0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, 0x52, 0x50,
0x4f, 0x53, 0x45, 0x2e, 0x20, 0x53, 0x65, 0x65,
0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x2a, 0x20,
0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x6c, 0x20, 0x50, 0x75, 0x62, 0x6c,
0x69, 0x63, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e,
0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d,
0x6f, 0x72, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x20, 0x2a, 0x0a,
0x20, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66,
0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67,
0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x72, 0x6d,
0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e,
0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20,
0x61, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x37,
0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x3a,
0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x54,
0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65,
0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
0x6f, 0x66, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6c,
0x65, 0x67, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x74,
0x69, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64,
0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x20,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x0a,
0x20, 0x2a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d,
0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x20,
0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x70,
0x72, 0x69, 0x61, 0x74, 0x65, 0x20, 0x4c, 0x65,
0x67, 0x61, 0x6c, 0x20, 0x4e, 0x6f, 0x74, 0x69,
0x63, 0x65, 0x73, 0x20, 0x64, 0x69, 0x73, 0x70,
0x6c, 0x61, 0x79, 0x65, 0x64, 0x0a, 0x20, 0x2a,
0x20, 0x62, 0x79, 0x20, 0x77, 0x6f, 0x72, 0x6b,
0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x74, 0x20,
0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
0x72, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x2a, 0x0a,
0x20, 0x2a, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x73,
0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61,
0x76, 0x65, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x64, 0x20, 0x61, 0x20, 0x63, 0x6f,
0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
0x65, 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69, 0x63,
0x65, 0x6e, 0x73, 0x65, 0x0a, 0x20, 0x2a, 0x20,
0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69,
0x74, 0x68, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74,
0x64, 0x6d, 0x2d, 0x77, 0x65, 0x62, 0x6b, 0x69,
0x74, 0x32, 0x2d, 0x67, 0x72, 0x65, 0x65, 0x74,
0x65, 0x72, 0x3b, 0x20, 0x49, 0x66, 0x20, 0x6e,
0x6f, 0x74, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20,
0x3c, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
0x77, 0x77, 0x77, 0x2e, 0x67, 0x6e, 0x75, 0x2e,
0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65,
0x6e, 0x73, 0x65, 0x73, 0x2f, 0x3e, 0x2e, 0x0a,
0x20, 0x2a, 0x2f, 0x0a, 0x0a, 0x0a, 0x2f, 0x2a,
0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x69, 0x63, 0x20, 0x62, 0x61, 0x73,
0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20,
0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x75, 0x74,
0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c,
0x6c, 0x79, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x73,
0x20, 0x60, 0x74, 0x68, 0x69, 0x73, 0x60, 0x20,
0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20,
0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20,
0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x20,
0x2a, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20,
0x6d, 0x61, 0x64, 0x65, 0x20, 0x61, 0x76, 0x61,
0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69,
0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x6c,
0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x63, 0x6f,
0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63,
0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73,
0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x72,
0x65, 0x65, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68,
0x65, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20,
0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x2f, 0x77,
0x61, 0x6e, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20,
0x2a, 0x2f, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73,
0x20, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x69, 0x6e,
0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65,
0x63, 0x74, 0x20, 0x7b, 0x0a, 0x09, 0x2f, 0x2a,
0x2a, 0x0a, 0x09, 0x20, 0x2a, 0x20, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20,
0x6e, 0x65, 0x77, 0x20, 0x7b, 0x40, 0x6c, 0x69,
0x6e, 0x6b, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x42,
0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x7d, 0x20, 0x69, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x0a,
0x09, 0x20, 0x2a, 0x2f, 0x0a, 0x09, 0x63, 0x6f,
0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
0x72, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09,
0x74, 0x68, 0x69, 0x73, 0x2e, 0x5f, 0x5f, 0x62,
0x69, 0x6e, 0x64, 0x5f, 0x74, 0x68, 0x69, 0x73,
0x28, 0x29, 0x3b, 0x0a, 0x09, 0x7d, 0x0a, 0x0a,
0x09, 0x2f, 0x2a, 0x2a, 0x0a, 0x09, 0x20, 0x2a,
0x20, 0x42, 0x69, 0x6e, 0x64, 0x73, 0x20, 0x60,
0x74, 0x68, 0x69, 0x73, 0x60, 0x20, 0x74, 0x6f,
0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61,
0x73, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61,
0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73,
0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73,
0x2e, 0x0a, 0x09, 0x20, 0x2a, 0x0a, 0x09, 0x20,
0x2a, 0x20, 0x40, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x0a, 0x09, 0x20, 0x2a, 0x2f, 0x0a,
0x09, 0x5f, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f,
0x74, 0x68, 0x69, 0x73, 0x28, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x65,
0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f,
0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20,
0x3d, 0x20, 0x5b, 0x27, 0x63, 0x6f, 0x6e, 0x73,
0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x27,
0x2c, 0x20, 0x27, 0x5f, 0x5f, 0x62, 0x69, 0x6e,
0x64, 0x5f, 0x74, 0x68, 0x69, 0x73, 0x27, 0x5d,
0x3b, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x75, 0x6e,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f,
0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x64, 0x28, 0x20, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x78, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x0a,
0x09, 0x09, 0x09, 0x6c, 0x65, 0x74, 0x20, 0x5f,
0x69, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x6d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x66,
0x69, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78,
0x28, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
0x64, 0x20, 0x3d, 0x3e, 0x20, 0x6d, 0x65, 0x74,
0x68, 0x6f, 0x64, 0x20, 0x3d, 0x3d, 0x3d, 0x20,
0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64,
0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20,
0x29, 0x20, 0x3e, 0x20, 0x2d, 0x31, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x69, 0x73, 0x5f, 0x6d,
0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x3d, 0x20,
0x27, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x27, 0x20, 0x3d, 0x3d, 0x3d, 0x20, 0x74,
0x79, 0x70, 0x65, 0x6f, 0x66, 0x20, 0x63, 0x6f,
0x6e, 0x74, 0x65, 0x78, 0x74, 0x5b, 0x6d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x5d, 0x3b, 0x0a, 0x0a,
0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x20, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x74,
0x68, 0x6f, 0x64, 0x20, 0x26, 0x26, 0x20, 0x21,
0x5f, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x64, 0x3b, 0x0a, 0x09, 0x09,
0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x66, 0x6f, 0x72,
0x20, 0x28, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x6f,
0x62, 0x6a, 0x20, 0x3d, 0x20, 0x74, 0x68, 0x69,
0x73, 0x3b, 0x20, 0x6f, 0x62, 0x6a, 0x3b, 0x20,
0x6f, 0x62, 0x6a, 0x20, 0x3d, 0x20, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x65, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70,
0x65, 0x4f, 0x66, 0x28, 0x20, 0x6f, 0x62, 0x6a,
0x20, 0x29, 0x20, 0x29, 0x20, 0x7b, 0x0a, 0x09,
0x09, 0x09, 0x2f, 0x2f, 0x20, 0x48, 0x61, 0x6e,
0x64, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
0x20, 0x6f, 0x75, 0x72, 0x20, 0x6d, 0x65, 0x74,
0x68, 0x6f, 0x64, 0x73, 0x0a, 0x09, 0x09, 0x09,
0x69, 0x66, 0x20, 0x28, 0x20, 0x27, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x27, 0x20, 0x3d, 0x3d,
0x3d, 0x20, 0x6f, 0x62, 0x6a, 0x2e, 0x63, 0x6f,
0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f,
0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x29,
0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x62,
0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x09, 0x09,
0x09, 0x7d, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x66,
0x6f, 0x72, 0x20, 0x28, 0x20, 0x6c, 0x65, 0x74,
0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20,
0x6f, 0x66, 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x2e, 0x67, 0x65, 0x74, 0x4f, 0x77, 0x6e,
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
0x4e, 0x61, 0x6d, 0x65, 0x73, 0x28, 0x20, 0x6f,
0x62, 0x6a, 0x20, 0x29, 0x20, 0x29, 0x20, 0x7b,
0x0a, 0x09, 0x09, 0x09, 0x09, 0x69, 0x66, 0x20,
0x28, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78,
0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x28, 0x20,
0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2c, 0x20,
0x74, 0x68, 0x69, 0x73, 0x20, 0x29, 0x20, 0x29,
0x20, 0x7b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09,
0x74, 0x68, 0x69, 0x73, 0x5b, 0x6d, 0x65, 0x74,
0x68, 0x6f, 0x64, 0x5d, 0x20, 0x3d, 0x20, 0x74,
0x68, 0x69, 0x73, 0x5b, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x5d, 0x2e, 0x62, 0x69, 0x6e, 0x64,
0x28, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x29,
0x3b, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x7d, 0x0a,
0x09, 0x09, 0x09, 0x7d, 0x0a, 0x09, 0x09, 0x7d,
0x0a, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a, 0x0a,
0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e,
0x41, 0x75, 0x74, 0x6f, 0x42, 0x69, 0x6e, 0x64,
0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63,
0x74, 0x20, 0x3d, 0x20, 0x41, 0x75, 0x74, 0x6f,
0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x3b, 0x0a, 0x00,
0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x61,
0x6e, 0x74, 0x65, 0x72, 0x67, 0x6f, 0x73, 0x2f,
0x03, 0x00, 0x00, 0x00, 0x73, 0x74, 0x79, 0x6c,
0x65, 0x2e, 0x63, 0x73, 0x73, 0x00, 0x00, 0x00,
0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2c, 0x0a,
0x47, 0x74, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f,
@ -352,14 +653,9 @@ static const SECTION union { const guint8 data[2820]; const double alignment; vo
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a,
0x20, 0x23, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x00, 0x28, 0x75,
0x75, 0x61, 0x79, 0x29, 0x61, 0x6e, 0x74, 0x65,
0x72, 0x67, 0x6f, 0x73, 0x2f, 0x00, 0x00, 0x00,
0x06, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68,
0x74, 0x64, 0x6d, 0x2d, 0x77, 0x65, 0x62, 0x6b,
0x69, 0x74, 0x32, 0x2d, 0x67, 0x72, 0x65, 0x65,
0x74, 0x65, 0x72, 0x2f, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x63, 0x73, 0x73, 0x2f,
0x04, 0x00, 0x00, 0x00
0x75, 0x61, 0x79, 0x29, 0x2f, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x63, 0x73, 0x73, 0x2f,
0x06, 0x00, 0x00, 0x00
} };
static GStaticResource static_resource = { greeter_resources_resource_data.data, sizeof (greeter_resources_resource_data.data), NULL, NULL, NULL };

9
src/gresource/greeter-resources.gresource.xml

@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/antergos/lightdm-webkit2-greeter/css">
<file>style.css</file>
</gresource>
<gresource prefix="/com/antergos/lightdm-webkit2-greeter/js">
<file>heartbeat.js</file>
<gresource prefix="/com/antergos/lightdm-webkit2-greeter/">
<file>css/style.css</file>
<file>js/heartbeat.js</file>
<file>js/auto-binding-object.js</file>
</gresource>
</gresources>

0
src/js/auto-binding-object.js → src/gresource/js/auto-binding-object.js

0
src/js/heartbeat.js → src/gresource/js/heartbeat.js

10
src/webkit2-extension.c

@ -1742,8 +1742,11 @@ is_requested_file_path_allowed(const char *file_path) {
}
}
g_slist_free_full(paths, g_free);
g_slist_free(paths);
g_free(normalized_path);
g_free(background_images_dir);
g_free(user_image);
g_free(logo);
return result;
}
@ -1769,8 +1772,11 @@ web_page_send_request_cb(WebKitWebPage *web_page,
request_scheme = g_uri_parse_scheme(request_uri);
if (strcmp(request_scheme, "file") != 0) {
g_message(request_uri);
if (strcmp(request_scheme, "file") != 0 && strcmp(request_scheme, "data") != 0) {
/* In order to ensure the user's privacy & security, only local requests are allowed. */
g_warning("request scheme error: %s", request_scheme);
g_free(request_scheme);
return TRUE;
}

Loading…
Cancel
Save