/* gitg-diff-view.c generated by valac 0.28.0, the Vala compiler
 * generated from gitg-diff-view.vala, do not modify */

/*
 * This file is part of gitg
 *
 * Copyright (C) 2012 - Jesse van den Kieboom
 *
 * gitg is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * gitg is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with gitg. If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <glib-object.h>
#include <webkit2/webkit2.h>
#include <libgit2-glib/ggit.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <json-glib/json-glib.h>
#include <glib/gi18n-lib.h>
#include <libsoup/soup.h>
#include <gtk/gtk.h>
#include <pango/pango.h>
#include <gdk/gdk.h>
#include <stdio.h>
#include <libgitg/gitg-js-utils.h>
#include <cairo.h>


#define GITG_TYPE_DIFF_VIEW (gitg_diff_view_get_type ())
#define GITG_DIFF_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW, GitgDiffView))
#define GITG_DIFF_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW, GitgDiffViewClass))
#define GITG_IS_DIFF_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW))
#define GITG_IS_DIFF_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW))
#define GITG_DIFF_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW, GitgDiffViewClass))

typedef struct _GitgDiffView GitgDiffView;
typedef struct _GitgDiffViewClass GitgDiffViewClass;
typedef struct _GitgDiffViewPrivate GitgDiffViewPrivate;

#define GITG_TYPE_COMMIT (gitg_commit_get_type ())
#define GITG_COMMIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_COMMIT, GitgCommit))
#define GITG_COMMIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_COMMIT, GitgCommitClass))
#define GITG_IS_COMMIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_COMMIT))
#define GITG_IS_COMMIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_COMMIT))
#define GITG_COMMIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_COMMIT, GitgCommitClass))

typedef struct _GitgCommit GitgCommit;
typedef struct _GitgCommitClass GitgCommitClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL)))
#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))

#define GITG_TYPE_DIFF_VIEW_REQUEST (gitg_diff_view_request_get_type ())
#define GITG_DIFF_VIEW_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_REQUEST, GitgDiffViewRequest))
#define GITG_DIFF_VIEW_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_REQUEST, GitgDiffViewRequestClass))
#define GITG_IS_DIFF_VIEW_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_REQUEST))
#define GITG_IS_DIFF_VIEW_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_REQUEST))
#define GITG_DIFF_VIEW_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_REQUEST, GitgDiffViewRequestClass))

typedef struct _GitgDiffViewRequest GitgDiffViewRequest;
typedef struct _GitgDiffViewRequestClass GitgDiffViewRequestClass;
#define __vala_SoupURI_free0(var) ((var == NULL) ? NULL : (var = (_vala_SoupURI_free (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))

#define GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE (gitg_diff_view_request_resource_get_type ())
#define GITG_DIFF_VIEW_REQUEST_RESOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE, GitgDiffViewRequestResource))
#define GITG_DIFF_VIEW_REQUEST_RESOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE, GitgDiffViewRequestResourceClass))
#define GITG_IS_DIFF_VIEW_REQUEST_RESOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE))
#define GITG_IS_DIFF_VIEW_REQUEST_RESOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE))
#define GITG_DIFF_VIEW_REQUEST_RESOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_RESOURCE, GitgDiffViewRequestResourceClass))

typedef struct _GitgDiffViewRequestResource GitgDiffViewRequestResource;
typedef struct _GitgDiffViewRequestResourceClass GitgDiffViewRequestResourceClass;

#define GITG_TYPE_DIFF_VIEW_REQUEST_ICON (gitg_diff_view_request_icon_get_type ())
#define GITG_DIFF_VIEW_REQUEST_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_ICON, GitgDiffViewRequestIcon))
#define GITG_DIFF_VIEW_REQUEST_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_ICON, GitgDiffViewRequestIconClass))
#define GITG_IS_DIFF_VIEW_REQUEST_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_ICON))
#define GITG_IS_DIFF_VIEW_REQUEST_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_ICON))
#define GITG_DIFF_VIEW_REQUEST_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_ICON, GitgDiffViewRequestIconClass))

typedef struct _GitgDiffViewRequestIcon GitgDiffViewRequestIcon;
typedef struct _GitgDiffViewRequestIconClass GitgDiffViewRequestIconClass;

#define GITG_TYPE_DIFF_VIEW_REQUEST_DIFF (gitg_diff_view_request_diff_get_type ())
#define GITG_DIFF_VIEW_REQUEST_DIFF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_DIFF, GitgDiffViewRequestDiff))
#define GITG_DIFF_VIEW_REQUEST_DIFF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_DIFF, GitgDiffViewRequestDiffClass))
#define GITG_IS_DIFF_VIEW_REQUEST_DIFF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_DIFF))
#define GITG_IS_DIFF_VIEW_REQUEST_DIFF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_REQUEST_DIFF))
#define GITG_DIFF_VIEW_REQUEST_DIFF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_REQUEST_DIFF, GitgDiffViewRequestDiffClass))

typedef struct _GitgDiffViewRequestDiff GitgDiffViewRequestDiff;
typedef struct _GitgDiffViewRequestDiffClass GitgDiffViewRequestDiffClass;

#define GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL (gitg_diff_view_diff_view_request_internal_get_type ())
#define GITG_DIFF_VIEW_DIFF_VIEW_REQUEST_INTERNAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL, GitgDiffViewDiffViewRequestInternal))
#define GITG_DIFF_VIEW_DIFF_VIEW_REQUEST_INTERNAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL, GitgDiffViewDiffViewRequestInternalClass))
#define GITG_DIFF_VIEW_IS_DIFF_VIEW_REQUEST_INTERNAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL))
#define GITG_DIFF_VIEW_IS_DIFF_VIEW_REQUEST_INTERNAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL))
#define GITG_DIFF_VIEW_DIFF_VIEW_REQUEST_INTERNAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL, GitgDiffViewDiffViewRequestInternalClass))

typedef struct _GitgDiffViewDiffViewRequestInternal GitgDiffViewDiffViewRequestInternal;
typedef struct _GitgDiffViewDiffViewRequestInternalClass GitgDiffViewDiffViewRequestInternalClass;
#define _gitg_diff_view_request_unref0(var) ((var == NULL) ? NULL : (var = (gitg_diff_view_request_unref (var), NULL)))
#define __vala_PangoFontDescription_free0(var) ((var == NULL) ? NULL : (var = (_vala_PangoFontDescription_free (var), NULL)))
#define _g_settings_schema_source_unref0(var) ((var == NULL) ? NULL : (var = (g_settings_schema_source_unref (var), NULL)))
#define _g_settings_schema_unref0(var) ((var == NULL) ? NULL : (var = (g_settings_schema_unref (var), NULL)))
#define __vala_WebKitJavascriptResult_free0(var) ((var == NULL) ? NULL : (var = (_vala_WebKitJavascriptResult_free (var), NULL)))
#define __vala_GgitOId_free0(var) ((var == NULL) ? NULL : (var = (_vala_GgitOId_free (var), NULL)))

#define GITG_TYPE_PATCH_SET (gitg_patch_set_get_type ())
#define GITG_PATCH_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_PATCH_SET, GitgPatchSet))
#define GITG_PATCH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_PATCH_SET, GitgPatchSetClass))
#define GITG_IS_PATCH_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_PATCH_SET))
#define GITG_IS_PATCH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_PATCH_SET))
#define GITG_PATCH_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_PATCH_SET, GitgPatchSetClass))

typedef struct _GitgPatchSet GitgPatchSet;
typedef struct _GitgPatchSetClass GitgPatchSetClass;
typedef struct _GitgPatchSetPrivate GitgPatchSetPrivate;

#define GITG_PATCH_SET_TYPE_PATCH (gitg_patch_set_patch_get_type ())

#define GITG_PATCH_SET_TYPE_TYPE (gitg_patch_set_type_get_type ())
typedef struct _GitgPatchSetPatch GitgPatchSetPatch;
#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
#define _gitg_patch_set_unref0(var) ((var == NULL) ? NULL : (var = (gitg_patch_set_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _GitgDiffViewGetSelectionData GitgDiffViewGetSelectionData;
typedef struct _Block9Data Block9Data;

#define GITG_TYPE_DIFF_VIEW_OPTIONS (gitg_diff_view_options_get_type ())
#define GITG_DIFF_VIEW_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_VIEW_OPTIONS, GitgDiffViewOptions))
#define GITG_DIFF_VIEW_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_DIFF_VIEW_OPTIONS, GitgDiffViewOptionsClass))
#define GITG_IS_DIFF_VIEW_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_VIEW_OPTIONS))
#define GITG_IS_DIFF_VIEW_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_DIFF_VIEW_OPTIONS))
#define GITG_DIFF_VIEW_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_DIFF_VIEW_OPTIONS, GitgDiffViewOptionsClass))

typedef struct _GitgDiffViewOptions GitgDiffViewOptions;
typedef struct _GitgDiffViewOptionsClass GitgDiffViewOptionsClass;
typedef struct _GitgDiffViewRequestPrivate GitgDiffViewRequestPrivate;
typedef struct _GitgDiffViewDiffViewRequestInternalPrivate GitgDiffViewDiffViewRequestInternalPrivate;

struct _GitgDiffView {
	WebKitWebView parent_instance;
	GitgDiffViewPrivate * priv;
};

struct _GitgDiffViewClass {
	WebKitWebViewClass parent_class;
	void (*options_changed) (GitgDiffView* self);
};

struct _GitgDiffViewPrivate {
	GgitDiff* d_diff;
	GitgCommit* d_commit;
	GSettings* d_fontsettings;
	gboolean d_has_selection;
	GgitDiffOptions* d_options;
	gchar* d_parent;
	GFile* _custom_css;
	GFile* _custom_js;
	GCancellable* d_cancellable;
	gboolean d_loaded;
	gulong d_diffid;
	gboolean _wrap;
	gboolean _staged;
	gboolean _unstaged;
	gboolean _show_parents;
	gboolean _default_collapse_all;
	gboolean d_use_gravatar;
	gint d_tab_width;
	gboolean d_changes_inline;
};

typedef enum  {
	GITG_PATCH_SET_TYPE_ADD = 'a',
	GITG_PATCH_SET_TYPE_REMOVE = 'r'
} GitgPatchSetType;

struct _GitgPatchSetPatch {
	GitgPatchSetType type;
	gsize old_offset;
	gsize new_offset;
	gsize length;
};

struct _GitgPatchSet {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GitgPatchSetPrivate * priv;
	gchar* filename;
	GitgPatchSetPatch* patches;
	gint patches_length1;
};

struct _GitgPatchSetClass {
	GTypeClass parent_class;
	void (*finalize) (GitgPatchSet *self);
};

struct _GitgDiffViewGetSelectionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	GitgDiffView* self;
	GitgPatchSet** result;
	gint result_length1;
	WebKitJavascriptResult* jsret;
	WebKitJavascriptResult* _tmp0_;
	GCancellable* _tmp1_;
	WebKitJavascriptResult* _tmp2_;
	WebKitJavascriptResult* _tmp3_;
	GError* e;
	FILE* _tmp4_;
	GError* _tmp5_;
	const gchar* _tmp6_;
	GitgPatchSet** _tmp7_;
	GitgPatchSet** _tmp8_;
	gint _tmp8__length1;
	gchar* json;
	WebKitJavascriptResult* _tmp9_;
	gchar* _tmp10_;
	JsonParser* parser;
	JsonParser* _tmp11_;
	JsonParser* _tmp12_;
	const gchar* _tmp13_;
	GError* _vala1_e;
	FILE* _tmp14_;
	GError* _tmp15_;
	const gchar* _tmp16_;
	GitgPatchSet** _tmp17_;
	GitgPatchSet** _tmp18_;
	gint _tmp18__length1;
	JsonNode* root;
	JsonParser* _tmp19_;
	JsonNode* _tmp20_;
	JsonNode* _tmp21_;
	JsonArray* elems;
	JsonNode* _tmp22_;
	JsonArray* _tmp23_;
	JsonArray* _tmp24_;
	guint l;
	JsonArray* _tmp25_;
	guint _tmp26_;
	GitgPatchSet** ret;
	guint _tmp27_;
	GitgPatchSet** _tmp28_;
	gint ret_length1;
	gint _ret_size_;
	guint i;
	gboolean _tmp29_;
	guint _tmp30_;
	guint _tmp31_;
	guint _tmp32_;
	GitgPatchSet** _tmp33_;
	gint _tmp33__length1;
	guint _tmp34_;
	JsonArray* _tmp35_;
	guint _tmp36_;
	JsonNode* _tmp37_;
	GitgPatchSet* _tmp38_;
	GitgPatchSet* _tmp39_;
	GitgPatchSet** _tmp40_;
	gint _tmp40__length1;
	GError * _inner_error_;
};

struct _Block9Data {
	int _ref_count_;
	GitgDiffView* self;
	GtkPopover* m;
};

struct _GitgDiffViewRequest {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GitgDiffViewRequestPrivate * priv;
	GitgDiffView* d_view;
	SoupURI* d_uri;
	gchar* d_mimetype;
	gint64 d_size;
	WebKitURISchemeRequest* d_request;
	gboolean d_hasView;
};

struct _GitgDiffViewRequestClass {
	GTypeClass parent_class;
	void (*finalize) (GitgDiffViewRequest *self);
	GInputStream* (*run_async) (GitgDiffViewRequest* self, GCancellable* cancellable, GError** error);
	gint64 (*get_content_length) (GitgDiffViewRequest* self);
	gchar* (*get_content_type) (GitgDiffViewRequest* self);
};

struct _GitgDiffViewDiffViewRequestInternal {
	GitgDiffViewRequest parent_instance;
	GitgDiffViewDiffViewRequestInternalPrivate * priv;
};

struct _GitgDiffViewDiffViewRequestInternalClass {
	GitgDiffViewRequestClass parent_class;
};


static gpointer gitg_diff_view_parent_class = NULL;
static GeeHashMap* gitg_diff_view_s_diff_map;
static GeeHashMap* gitg_diff_view_s_diff_map = NULL;
static guint64 gitg_diff_view_s_diff_id;
static guint64 gitg_diff_view_s_diff_id = 0ULL;
static gpointer gitg_diff_view_diff_view_request_internal_parent_class = NULL;

GType gitg_diff_view_get_type (void) G_GNUC_CONST;
GType gitg_commit_get_type (void) G_GNUC_CONST;
#define GITG_DIFF_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GITG_TYPE_DIFF_VIEW, GitgDiffViewPrivate))
enum  {
	GITG_DIFF_VIEW_DUMMY_PROPERTY,
	GITG_DIFF_VIEW_CUSTOM_CSS,
	GITG_DIFF_VIEW_CUSTOM_JS,
	GITG_DIFF_VIEW_OPTIONS,
	GITG_DIFF_VIEW_HAS_SELECTION,
	GITG_DIFF_VIEW_DIFF,
	GITG_DIFF_VIEW_COMMIT,
	GITG_DIFF_VIEW_WRAP,
	GITG_DIFF_VIEW_STAGED,
	GITG_DIFF_VIEW_UNSTAGED,
	GITG_DIFF_VIEW_SHOW_PARENTS,
	GITG_DIFF_VIEW_DEFAULT_COLLAPSE_ALL,
	GITG_DIFF_VIEW_USE_GRAVATAR,
	GITG_DIFF_VIEW_TAB_WIDTH,
	GITG_DIFF_VIEW_IGNORE_WHITESPACE,
	GITG_DIFF_VIEW_CHANGES_INLINE,
	GITG_DIFF_VIEW_CONTEXT_LINES
};
static gboolean gitg_diff_view_flag_get (GitgDiffView* self, GgitDiffOption f);
GgitDiffOptions* gitg_diff_view_get_options (GitgDiffView* self);
static void gitg_diff_view_flag_set (GitgDiffView* self, GgitDiffOption f, gboolean val);
static gchar* gitg_diff_view_json_settings (GitgDiffView* self);
gboolean gitg_diff_view_get_wrap (GitgDiffView* self);
gint gitg_diff_view_get_tab_width (GitgDiffView* self);
gboolean gitg_diff_view_get_staged (GitgDiffView* self);
gboolean gitg_diff_view_get_unstaged (GitgDiffView* self);
gboolean gitg_diff_view_get_changes_inline (GitgDiffView* self);
gboolean gitg_diff_view_get_show_parents (GitgDiffView* self);
gboolean gitg_diff_view_get_default_collapse_all (GitgDiffView* self);
gboolean gitg_diff_view_get_use_gravatar (GitgDiffView* self);
static void _vala_JsonNode_free (JsonNode* self);
gpointer gitg_diff_view_request_ref (gpointer instance);
void gitg_diff_view_request_unref (gpointer instance);
GParamSpec* gitg_param_spec_diff_view_request (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gitg_value_set_diff_view_request (GValue* value, gpointer v_object);
void gitg_value_take_diff_view_request (GValue* value, gpointer v_object);
gpointer gitg_value_get_diff_view_request (const GValue* value);
GType gitg_diff_view_request_get_type (void) G_GNUC_CONST;
static GitgDiffViewRequest* gitg_diff_view_parse_request (WebKitURISchemeRequest* request);
static void _vala_SoupURI_free (SoupURI* self);
GitgDiffViewRequestResource* gitg_diff_view_request_resource_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GitgDiffViewRequestResource* gitg_diff_view_request_resource_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GType gitg_diff_view_request_resource_get_type (void) G_GNUC_CONST;
GitgDiffViewRequestIcon* gitg_diff_view_request_icon_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GitgDiffViewRequestIcon* gitg_diff_view_request_icon_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GType gitg_diff_view_request_icon_get_type (void) G_GNUC_CONST;
GitgDiffViewRequestDiff* gitg_diff_view_request_diff_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GitgDiffViewRequestDiff* gitg_diff_view_request_diff_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GType gitg_diff_view_request_diff_get_type (void) G_GNUC_CONST;
static GitgDiffViewDiffViewRequestInternal* gitg_diff_view_diff_view_request_internal_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
static GitgDiffViewDiffViewRequestInternal* gitg_diff_view_diff_view_request_internal_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
static GType gitg_diff_view_diff_view_request_internal_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static void gitg_diff_view_gitg_diff_mailto_request (WebKitURISchemeRequest* request);
static void gitg_diff_view_gitg_diff_request (WebKitURISchemeRequest* request);
GitgDiffView* gitg_diff_view_request_get_view (GitgDiffViewRequest* self);
void gitg_diff_view_request (GitgDiffView* self, GitgDiffViewRequest* request);
void gitg_diff_view_request_run (GitgDiffViewRequest* self, GCancellable* cancellable);
static void gitg_diff_view_parse_font (GitgDiffView* self, const gchar* val, gchar** family, guint* size);
static void _vala_PangoFontDescription_free (PangoFontDescription* self);
gchar* gitg_diff_view_request_parameter (GitgDiffViewRequest* self, const gchar* v);
void gitg_diff_view_request_finish_empty (GitgDiffViewRequest* self);
static void gitg_diff_view_update_font_settings (GitgDiffView* self);
static GSettings* gitg_diff_view_try_settings (GitgDiffView* self, const gchar* schema_id);
static void gitg_diff_view_real_constructed (GObject* base);
static void ___lambda51_ (GitgDiffView* self, GSettings* s, const gchar* k);
static void ____lambda51__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self);
static void ___lambda52_ (GitgDiffView* self, GSettings* s, const gchar* k);
static void ____lambda52__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self);
GitgDiffView* gitg_diff_view_new (void);
GitgDiffView* gitg_diff_view_construct (GType object_type);
void gitg_diff_view_loaded (GitgDiffView* self);
static void gitg_diff_view_update (GitgDiffView* self);
static void gitg_diff_view_update_tab_width (GitgDiffView* self);
static void __lambda42_ (GitgDiffView* self, GObject* obj, GAsyncResult* res);
static void _vala_WebKitJavascriptResult_free (WebKitJavascriptResult* self);
static void ___lambda42__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
static void ___lambda41_ (GitgDiffView* self, GObject* obj, GAsyncResult* res);
static void ____lambda41__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
static void _vala_GgitOId_free (GgitOId* self);
GgitDiff* gitg_commit_get_diff (GitgCommit* self, GgitDiffOptions* options, gint parent);
static void ___lambda43_ (GitgDiffView* self, GObject* obj, GAsyncResult* res);
static void ____lambda43__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
void gitg_diff_view_update_has_selection (GitgDiffView* self, gboolean hs);
void gitg_diff_view_load_parent (GitgDiffView* self, const gchar* id);
void gitg_diff_view_select_parent (GitgDiffView* self, const gchar* id);
void gitg_diff_view_open_url (GitgDiffView* self, const gchar* url);
gpointer gitg_patch_set_ref (gpointer instance);
void gitg_patch_set_unref (gpointer instance);
GParamSpec* gitg_param_spec_patch_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gitg_value_set_patch_set (GValue* value, gpointer v_object);
void gitg_value_take_patch_set (GValue* value, gpointer v_object);
gpointer gitg_value_get_patch_set (const GValue* value);
GType gitg_patch_set_get_type (void) G_GNUC_CONST;
static GitgPatchSet* gitg_diff_view_parse_patchset (GitgDiffView* self, JsonNode* node);
GitgPatchSet* gitg_patch_set_new (void);
GitgPatchSet* gitg_patch_set_construct (GType object_type);
GType gitg_patch_set_patch_get_type (void) G_GNUC_CONST;
GType gitg_patch_set_type_get_type (void) G_GNUC_CONST;
GitgPatchSetPatch* gitg_patch_set_patch_dup (const GitgPatchSetPatch* self);
void gitg_patch_set_patch_free (GitgPatchSetPatch* self);
static void gitg_diff_view_get_selection_data_free (gpointer _data);
void gitg_diff_view_get_selection (GitgDiffView* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
GitgPatchSet** gitg_diff_view_get_selection_finish (GitgDiffView* self, GAsyncResult* _res_, int* result_length1);
static gboolean gitg_diff_view_get_selection_co (GitgDiffViewGetSelectionData* _data_);
static void gitg_diff_view_get_selection_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static JsonNode* _vala_JsonNode_copy (JsonNode* self);
static gboolean gitg_diff_view_real_context_menu (WebKitWebView* base, WebKitContextMenu* menu, GdkEvent* event, WebKitHitTestResult* hit_test_result);
static Block9Data* block9_data_ref (Block9Data* _data9_);
static void block9_data_unref (void * _userdata_);
GType gitg_diff_view_options_get_type (void) G_GNUC_CONST;
GitgDiffViewOptions* gitg_diff_view_options_new (GitgDiffView* view);
GitgDiffViewOptions* gitg_diff_view_options_construct (GType object_type, GitgDiffView* view);
static void __lambda53_ (Block9Data* _data9_);
static void ___lambda53__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GFile* gitg_diff_view_get_custom_css (GitgDiffView* self);
static void gitg_diff_view_set_custom_css (GitgDiffView* self, GFile* value);
GFile* gitg_diff_view_get_custom_js (GitgDiffView* self);
static void gitg_diff_view_set_custom_js (GitgDiffView* self, GFile* value);
gboolean gitg_diff_view_get_has_selection (GitgDiffView* self);
GgitDiff* gitg_diff_view_get_diff (GitgDiffView* self);
void gitg_diff_view_set_diff (GitgDiffView* self, GgitDiff* value);
GitgCommit* gitg_diff_view_get_commit (GitgDiffView* self);
void gitg_diff_view_set_commit (GitgDiffView* self, GitgCommit* value);
void gitg_diff_view_set_wrap (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_staged (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_unstaged (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_show_parents (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_default_collapse_all (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_use_gravatar (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_tab_width (GitgDiffView* self, gint value);
gboolean gitg_diff_view_get_ignore_whitespace (GitgDiffView* self);
void gitg_diff_view_set_ignore_whitespace (GitgDiffView* self, gboolean value);
void gitg_diff_view_set_changes_inline (GitgDiffView* self, gboolean value);
gint gitg_diff_view_get_context_lines (GitgDiffView* self);
void gitg_diff_view_set_context_lines (GitgDiffView* self, gint value);
static void gitg_diff_view_real_options_changed (GitgDiffView* self);
static void _gitg_diff_view_gitg_diff_request_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request, gpointer self);
static void _gitg_diff_view_gitg_diff_mailto_request_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request, gpointer self);
enum  {
	GITG_DIFF_VIEW_DIFF_VIEW_REQUEST_INTERNAL_DUMMY_PROPERTY
};
GitgDiffViewRequest* gitg_diff_view_request_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
GitgDiffViewRequest* gitg_diff_view_request_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri);
static GInputStream* gitg_diff_view_diff_view_request_internal_real_run_async (GitgDiffViewRequest* base, GCancellable* cancellable, GError** error);
static gboolean __lambda50_ (GitgDiffViewDiffViewRequestInternal* self);
static gboolean ___lambda50__gsource_func (gpointer self);
static void gitg_diff_view_finalize (GObject* obj);
static void _vala_gitg_diff_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gitg_diff_view_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);


static gboolean gitg_diff_view_flag_get (GitgDiffView* self, GgitDiffOption f) {
	gboolean result = FALSE;
	GgitDiffOptions* _tmp0_ = NULL;
	GgitDiffOptions* _tmp1_ = NULL;
	GgitDiffOption _tmp2_ = 0;
	GgitDiffOption _tmp3_ = 0;
	GgitDiffOption _tmp4_ = 0;
#line 172 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_get_options (self);
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _tmp0_;
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = ggit_diff_options_get_flags (_tmp1_);
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = f;
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = (_tmp3_ & _tmp4_) != 0;
#line 174 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 509 "gitg-diff-view.c"
}


static void gitg_diff_view_flag_set (GitgDiffView* self, GgitDiffOption f, gboolean val) {
	GgitDiffOption flags = 0;
	GgitDiffOptions* _tmp0_ = NULL;
	GgitDiffOptions* _tmp1_ = NULL;
	GgitDiffOption _tmp2_ = 0;
	GgitDiffOption _tmp3_ = 0;
	gboolean _tmp4_ = FALSE;
	GgitDiffOption _tmp9_ = 0;
	GgitDiffOptions* _tmp10_ = NULL;
	GgitDiffOptions* _tmp11_ = NULL;
	GgitDiffOption _tmp12_ = 0;
	GgitDiffOption _tmp13_ = 0;
#line 177 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 179 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_get_options (self);
#line 179 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _tmp0_;
#line 179 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = ggit_diff_options_get_flags (_tmp1_);
#line 179 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 179 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	flags = _tmp3_;
#line 181 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = val;
#line 181 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp4_) {
#line 541 "gitg-diff-view.c"
		GgitDiffOption _tmp5_ = 0;
		GgitDiffOption _tmp6_ = 0;
#line 183 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp5_ = flags;
#line 183 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp6_ = f;
#line 183 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		flags = _tmp5_ | _tmp6_;
#line 550 "gitg-diff-view.c"
	} else {
		GgitDiffOption _tmp7_ = 0;
		GgitDiffOption _tmp8_ = 0;
#line 187 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = flags;
#line 187 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp8_ = f;
#line 187 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		flags = _tmp7_ & (~_tmp8_);
#line 560 "gitg-diff-view.c"
	}
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = flags;
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp10_ = gitg_diff_view_get_options (self);
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11_ = _tmp10_;
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = ggit_diff_options_get_flags (_tmp11_);
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = _tmp12_;
#line 190 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp9_ != _tmp13_) {
#line 574 "gitg-diff-view.c"
		GgitDiffOptions* _tmp14_ = NULL;
		GgitDiffOptions* _tmp15_ = NULL;
		GgitDiffOption _tmp16_ = 0;
#line 192 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp14_ = gitg_diff_view_get_options (self);
#line 192 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp15_ = _tmp14_;
#line 192 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp16_ = flags;
#line 192 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		ggit_diff_options_set_flags (_tmp15_, _tmp16_);
#line 194 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_emit_by_name (self, "options-changed");
#line 588 "gitg-diff-view.c"
	}
}


static gpointer _json_object_ref0 (gpointer self) {
#line 277 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self ? json_object_ref (self) : NULL;
#line 596 "gitg-diff-view.c"
}


static gchar* string_slice (const gchar* self, glong start, glong end) {
	gchar* result = NULL;
	glong string_length = 0L;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	glong _tmp2_ = 0L;
	glong _tmp5_ = 0L;
	gboolean _tmp8_ = FALSE;
	glong _tmp9_ = 0L;
	gboolean _tmp12_ = FALSE;
	glong _tmp13_ = 0L;
	glong _tmp16_ = 0L;
	glong _tmp17_ = 0L;
	glong _tmp18_ = 0L;
	glong _tmp19_ = 0L;
	glong _tmp20_ = 0L;
	gchar* _tmp21_ = NULL;
#line 1230 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1231 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1231 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1231 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	string_length = (glong) _tmp1_;
#line 1232 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp2_ = start;
#line 1232 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	if (_tmp2_ < ((glong) 0)) {
#line 629 "gitg-diff-view.c"
		glong _tmp3_ = 0L;
		glong _tmp4_ = 0L;
#line 1233 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1233 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp4_ = start;
#line 1233 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		start = _tmp3_ + _tmp4_;
#line 638 "gitg-diff-view.c"
	}
#line 1235 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp5_ = end;
#line 1235 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	if (_tmp5_ < ((glong) 0)) {
#line 644 "gitg-diff-view.c"
		glong _tmp6_ = 0L;
		glong _tmp7_ = 0L;
#line 1236 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp6_ = string_length;
#line 1236 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp7_ = end;
#line 1236 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		end = _tmp6_ + _tmp7_;
#line 653 "gitg-diff-view.c"
	}
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp9_ = start;
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	if (_tmp9_ >= ((glong) 0)) {
#line 659 "gitg-diff-view.c"
		glong _tmp10_ = 0L;
		glong _tmp11_ = 0L;
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp10_ = start;
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp11_ = string_length;
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp8_ = _tmp10_ <= _tmp11_;
#line 668 "gitg-diff-view.c"
	} else {
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp8_ = FALSE;
#line 672 "gitg-diff-view.c"
	}
#line 1238 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp8_, NULL);
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp13_ = end;
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	if (_tmp13_ >= ((glong) 0)) {
#line 680 "gitg-diff-view.c"
		glong _tmp14_ = 0L;
		glong _tmp15_ = 0L;
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp14_ = end;
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp12_ = _tmp14_ <= _tmp15_;
#line 689 "gitg-diff-view.c"
	} else {
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
		_tmp12_ = FALSE;
#line 693 "gitg-diff-view.c"
	}
#line 1239 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp12_, NULL);
#line 1240 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp16_ = start;
#line 1240 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp17_ = end;
#line 1240 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL);
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp18_ = start;
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp19_ = end;
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp20_ = start;
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_));
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	result = _tmp21_;
#line 1241 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	return result;
#line 715 "gitg-diff-view.c"
}


static void _vala_JsonNode_free (JsonNode* self) {
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_boxed_free (json_node_get_type (), self);
#line 722 "gitg-diff-view.c"
}


static gchar* gitg_diff_view_json_settings (GitgDiffView* self) {
	gchar* result = NULL;
	JsonObject* o = NULL;
	JsonObject* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	const gchar* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	const gchar* _tmp11_ = NULL;
	gboolean _tmp12_ = FALSE;
	gboolean _tmp13_ = FALSE;
	JsonObject* strings = NULL;
	JsonObject* _tmp14_ = NULL;
	const gchar* _tmp15_ = NULL;
	const gchar* _tmp16_ = NULL;
	const gchar* _tmp17_ = NULL;
	const gchar* _tmp18_ = NULL;
	const gchar* _tmp19_ = NULL;
	const gchar* _tmp20_ = NULL;
	const gchar* _tmp21_ = NULL;
	const gchar* _tmp22_ = NULL;
	const gchar* _tmp23_ = NULL;
	JsonObject* _tmp24_ = NULL;
	JsonGenerator* gen = NULL;
	JsonGenerator* _tmp25_ = NULL;
	JsonNode* node = NULL;
	JsonNode* _tmp26_ = NULL;
	gsize l = 0UL;
	gchar* ret = NULL;
	gsize _tmp27_ = 0UL;
	gchar* _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
#line 250 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 252 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = json_object_new ();
#line 252 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	o = _tmp0_;
#line 254 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = self->priv->_wrap;
#line 254 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "wrap", _tmp1_);
#line 255 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = gitg_diff_view_get_tab_width (self);
#line 255 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 255 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_int_member (o, "tab_width", (gint64) _tmp3_);
#line 256 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = self->priv->_staged;
#line 256 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "staged", _tmp4_);
#line 257 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = self->priv->_unstaged;
#line 257 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "unstaged", _tmp5_);
#line 258 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = g_getenv ("GITG_GTK_DIFF_VIEW_DEBUG");
#line 258 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "debug", _tmp6_ != NULL);
#line 259 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = gitg_diff_view_get_changes_inline (self);
#line 259 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = _tmp7_;
#line 259 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "changes_inline", _tmp8_);
#line 260 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = self->priv->_show_parents;
#line 260 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "show_parents", _tmp9_);
#line 261 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp10_ = self->priv->_default_collapse_all;
#line 261 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "default_collapse_all", _tmp10_);
#line 262 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11_ = self->priv->d_parent;
#line 262 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (o, "parent", _tmp11_);
#line 263 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = gitg_diff_view_get_use_gravatar (self);
#line 263 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = _tmp12_;
#line 263 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_boolean_member (o, "use_gravatar", _tmp13_);
#line 265 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14_ = json_object_new ();
#line 265 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	strings = _tmp14_;
#line 267 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_ = _ ("stage");
#line 267 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "stage", _tmp15_);
#line 268 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp16_ = _ ("unstage");
#line 268 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "unstage", _tmp16_);
#line 269 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp17_ = _ ("Loading diff…");
#line 269 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "loading_diff", _tmp17_);
#line 270 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp18_ = _ ("Notes:");
#line 270 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "notes", _tmp18_);
#line 271 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp19_ = _ ("Parents:");
#line 271 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "parents", _tmp19_);
#line 272 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp20_ = _ ("Diff against:");
#line 272 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "diff_against", _tmp20_);
#line 273 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp21_ = _ ("Committed by:");
#line 273 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "committed_by", _tmp21_);
#line 274 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp22_ = _ ("Expand all");
#line 274 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "expand_all", _tmp22_);
#line 275 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp23_ = _ ("Collapse all");
#line 275 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_string_member (strings, "collapse_all", _tmp23_);
#line 277 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp24_ = _json_object_ref0 (strings);
#line 277 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_object_set_object_member (o, "strings", _tmp24_);
#line 279 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp25_ = json_generator_new ();
#line 279 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gen = _tmp25_;
#line 281 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp26_ = json_node_new (JSON_NODE_OBJECT);
#line 281 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	node = _tmp26_;
#line 282 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_node_set_object (node, o);
#line 284 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	json_generator_set_root (gen, node);
#line 287 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp28_ = json_generator_to_data (gen, &_tmp27_);
#line 287 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	l = _tmp27_;
#line 287 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	ret = _tmp28_;
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp29_ = string_slice (ret, (glong) 0, (glong) l);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp29_;
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (ret);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_JsonNode_free0 (node);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (gen);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_object_unref0 (strings);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_object_unref0 (o);
#line 288 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 894 "gitg-diff-view.c"
}


static void _vala_SoupURI_free (SoupURI* self) {
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_boxed_free (soup_uri_get_type (), self);
#line 901 "gitg-diff-view.c"
}


static GitgDiffViewRequest* gitg_diff_view_parse_request (WebKitURISchemeRequest* request) {
	GitgDiffViewRequest* result = NULL;
	SoupURI* uri = NULL;
	WebKitURISchemeRequest* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	SoupURI* _tmp2_ = NULL;
	gchar* path = NULL;
	SoupURI* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar** parts = NULL;
	const gchar* _tmp6_ = NULL;
	gchar** _tmp7_ = NULL;
	gchar** _tmp8_ = NULL;
	gint parts_length1 = 0;
	gint _parts_size_ = 0;
	gchar** _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
	SoupURI* _tmp10_ = NULL;
	gchar** _tmp11_ = NULL;
	gint _tmp11__length1 = 0;
	const gchar* _tmp12_ = NULL;
	SoupURI* _tmp13_ = NULL;
	gchar** _tmp14_ = NULL;
	gint _tmp14__length1 = 0;
	const gchar* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	GitgDiffView* view = NULL;
	gchar* q = NULL;
	SoupURI* _tmp18_ = NULL;
	const gchar* _tmp19_ = NULL;
	gchar* _tmp20_ = NULL;
	const gchar* _tmp21_ = NULL;
	gchar** _tmp35_ = NULL;
	gint _tmp35__length1 = 0;
	const gchar* _tmp36_ = NULL;
	const gchar* _tmp37_ = NULL;
	GQuark _tmp39_ = 0U;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp38_label0 = 0;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp38_label1 = 0;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp38_label2 = 0;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp38_label3 = 0;
#line 291 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (request != NULL, NULL);
#line 293 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = request;
#line 293 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = webkit_uri_scheme_request_get_uri (_tmp0_);
#line 293 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = soup_uri_new (_tmp1_);
#line 293 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	uri = _tmp2_;
#line 294 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = uri;
#line 294 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = soup_uri_get_path (_tmp3_);
#line 294 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 294 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	path = _tmp5_;
#line 295 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = path;
#line 295 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = _tmp7_ = g_strsplit (_tmp6_, "/", 3);
#line 295 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	parts = _tmp8_;
#line 295 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	parts_length1 = _vala_array_length (_tmp7_);
#line 295 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_parts_size_ = parts_length1;
#line 297 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = parts;
#line 297 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9__length1 = parts_length1;
#line 297 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp9__length1 != 3) {
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		result = NULL;
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (path);
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_SoupURI_free0 (uri);
#line 299 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return result;
#line 996 "gitg-diff-view.c"
	}
#line 302 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp10_ = uri;
#line 302 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11_ = parts;
#line 302 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11__length1 = parts_length1;
#line 302 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = _tmp11_[1];
#line 302 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	soup_uri_set_scheme (_tmp10_, _tmp12_);
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = uri;
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14_ = parts;
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14__length1 = parts_length1;
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_ = _tmp14_[2];
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp16_ = g_strconcat ("/", _tmp15_, NULL);
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp17_ = _tmp16_;
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	soup_uri_set_path (_tmp13_, _tmp17_);
#line 303 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp17_);
#line 305 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	view = NULL;
#line 307 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp18_ = uri;
#line 307 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp19_ = soup_uri_get_query (_tmp18_);
#line 307 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp20_ = g_strdup (_tmp19_);
#line 307 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	q = _tmp20_;
#line 309 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp21_ = q;
#line 309 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp21_ != NULL) {
#line 1038 "gitg-diff-view.c"
		GHashTable* f = NULL;
		const gchar* _tmp22_ = NULL;
		GHashTable* _tmp23_ = NULL;
		gchar* vid = NULL;
		GHashTable* _tmp24_ = NULL;
		gconstpointer _tmp25_ = NULL;
		gchar* _tmp26_ = NULL;
		gboolean _tmp27_ = FALSE;
		const gchar* _tmp28_ = NULL;
#line 311 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp22_ = q;
#line 311 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp23_ = soup_form_decode (_tmp22_);
#line 311 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		f = _tmp23_;
#line 312 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp24_ = f;
#line 312 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp25_ = g_hash_table_lookup (_tmp24_, "viewid");
#line 312 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp26_ = g_strdup ((const gchar*) _tmp25_);
#line 312 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		vid = _tmp26_;
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp28_ = vid;
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_tmp28_ != NULL) {
#line 1066 "gitg-diff-view.c"
			GeeHashMap* _tmp29_ = NULL;
			const gchar* _tmp30_ = NULL;
			gboolean _tmp31_ = FALSE;
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp29_ = gitg_diff_view_s_diff_map;
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp30_ = vid;
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp31_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp29_, _tmp30_);
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp27_ = _tmp31_;
#line 1078 "gitg-diff-view.c"
		} else {
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp27_ = FALSE;
#line 1082 "gitg-diff-view.c"
		}
#line 314 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_tmp27_) {
#line 1086 "gitg-diff-view.c"
			GeeHashMap* _tmp32_ = NULL;
			const gchar* _tmp33_ = NULL;
			gpointer _tmp34_ = NULL;
#line 316 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp32_ = gitg_diff_view_s_diff_map;
#line 316 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp33_ = vid;
#line 316 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp34_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp32_, _tmp33_);
#line 316 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_g_object_unref0 (view);
#line 316 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			view = (GitgDiffView*) _tmp34_;
#line 1100 "gitg-diff-view.c"
		}
#line 309 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (vid);
#line 309 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_hash_table_unref0 (f);
#line 1106 "gitg-diff-view.c"
	}
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp35_ = parts;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp35__length1 = parts_length1;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp36_ = _tmp35_[1];
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp37_ = _tmp36_;
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp39_ = (NULL == _tmp37_) ? 0 : g_quark_from_string (_tmp37_);
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp39_ == ((0 != _tmp38_label0) ? _tmp38_label0 : (_tmp38_label0 = g_quark_from_static_string ("resource")))) {
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 1122 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp40_ = NULL;
				WebKitURISchemeRequest* _tmp41_ = NULL;
				SoupURI* _tmp42_ = NULL;
				GitgDiffViewRequestResource* _tmp43_ = NULL;
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp40_ = view;
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp41_ = request;
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp42_ = uri;
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp43_ = gitg_diff_view_request_resource_new (_tmp40_, _tmp41_, _tmp42_);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				result = (GitgDiffViewRequest*) _tmp43_;
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (q);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_object_unref0 (view);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (path);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				__vala_SoupURI_free0 (uri);
#line 323 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				return result;
#line 1151 "gitg-diff-view.c"
			}
		}
	} else if (_tmp39_ == ((0 != _tmp38_label1) ? _tmp38_label1 : (_tmp38_label1 = g_quark_from_static_string ("icon")))) {
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 1157 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp44_ = NULL;
				WebKitURISchemeRequest* _tmp45_ = NULL;
				SoupURI* _tmp46_ = NULL;
				GitgDiffViewRequestIcon* _tmp47_ = NULL;
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp44_ = view;
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp45_ = request;
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp46_ = uri;
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp47_ = gitg_diff_view_request_icon_new (_tmp44_, _tmp45_, _tmp46_);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				result = (GitgDiffViewRequest*) _tmp47_;
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (q);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_object_unref0 (view);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (path);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				__vala_SoupURI_free0 (uri);
#line 325 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				return result;
#line 1186 "gitg-diff-view.c"
			}
		}
	} else if (_tmp39_ == ((0 != _tmp38_label2) ? _tmp38_label2 : (_tmp38_label2 = g_quark_from_static_string ("diff")))) {
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 1192 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp48_ = NULL;
				WebKitURISchemeRequest* _tmp49_ = NULL;
				SoupURI* _tmp50_ = NULL;
				GitgDiffViewRequestDiff* _tmp51_ = NULL;
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp48_ = view;
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp49_ = request;
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp50_ = uri;
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp51_ = gitg_diff_view_request_diff_new (_tmp48_, _tmp49_, _tmp50_);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				result = (GitgDiffViewRequest*) _tmp51_;
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (q);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_object_unref0 (view);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (path);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				__vala_SoupURI_free0 (uri);
#line 327 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				return result;
#line 1221 "gitg-diff-view.c"
			}
		}
	} else if (_tmp39_ == ((0 != _tmp38_label3) ? _tmp38_label3 : (_tmp38_label3 = g_quark_from_static_string ("internal")))) {
#line 320 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 1227 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp52_ = NULL;
				WebKitURISchemeRequest* _tmp53_ = NULL;
				SoupURI* _tmp54_ = NULL;
				GitgDiffViewDiffViewRequestInternal* _tmp55_ = NULL;
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp52_ = view;
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp53_ = request;
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp54_ = uri;
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp55_ = gitg_diff_view_diff_view_request_internal_new (_tmp52_, _tmp53_, _tmp54_);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				result = (GitgDiffViewRequest*) _tmp55_;
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (q);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_object_unref0 (view);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (path);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				__vala_SoupURI_free0 (uri);
#line 329 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				return result;
#line 1256 "gitg-diff-view.c"
			}
		}
	}
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = NULL;
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (q);
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (view);
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	parts = (_vala_array_free (parts, parts_length1, (GDestroyNotify) g_free), NULL);
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (path);
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_SoupURI_free0 (uri);
#line 332 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 1274 "gitg-diff-view.c"
}


static void gitg_diff_view_gitg_diff_mailto_request (WebKitURISchemeRequest* request) {
	GError * _inner_error_ = NULL;
#line 335 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (request != NULL);
#line 1282 "gitg-diff-view.c"
	{
		WebKitURISchemeRequest* _tmp0_ = NULL;
		const gchar* _tmp1_ = NULL;
#line 339 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp0_ = request;
#line 339 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = webkit_uri_scheme_request_get_uri (_tmp0_);
#line 339 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gtk_show_uri (NULL, _tmp1_, (guint32) 0, &_inner_error_);
#line 339 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1294 "gitg-diff-view.c"
			goto __catch40_g_error;
		}
	}
	goto __finally40;
	__catch40_g_error:
	{
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_inner_error_ = NULL;
#line 1305 "gitg-diff-view.c"
	}
	__finally40:
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 337 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 1316 "gitg-diff-view.c"
	}
}


static void gitg_diff_view_gitg_diff_request (WebKitURISchemeRequest* request) {
	GitgDiffViewRequest* req = NULL;
	WebKitURISchemeRequest* _tmp0_ = NULL;
	GitgDiffViewRequest* _tmp1_ = NULL;
	GitgDiffViewRequest* _tmp2_ = NULL;
	GitgDiffViewRequest* _tmp3_ = NULL;
	GitgDiffView* _tmp4_ = NULL;
	GitgDiffView* _tmp5_ = NULL;
#line 343 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (request != NULL);
#line 345 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = request;
#line 345 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = gitg_diff_view_parse_request (_tmp0_);
#line 345 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	req = _tmp1_;
#line 347 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = req;
#line 347 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp2_ == NULL) {
#line 349 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_gitg_diff_view_request_unref0 (req);
#line 349 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 1345 "gitg-diff-view.c"
	}
#line 352 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = req;
#line 352 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = gitg_diff_view_request_get_view (_tmp3_);
#line 352 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = _tmp4_;
#line 352 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp5_ != NULL) {
#line 1355 "gitg-diff-view.c"
		GitgDiffViewRequest* _tmp6_ = NULL;
		GitgDiffView* _tmp7_ = NULL;
		GitgDiffView* _tmp8_ = NULL;
		GitgDiffViewRequest* _tmp9_ = NULL;
#line 354 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp6_ = req;
#line 354 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = gitg_diff_view_request_get_view (_tmp6_);
#line 354 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp8_ = _tmp7_;
#line 354 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = req;
#line 354 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_request (_tmp8_, _tmp9_);
#line 1370 "gitg-diff-view.c"
	} else {
		GitgDiffViewRequest* _tmp10_ = NULL;
#line 358 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = req;
#line 358 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_request_run (_tmp10_, NULL);
#line 1377 "gitg-diff-view.c"
	}
#line 343 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_gitg_diff_view_request_unref0 (req);
#line 1381 "gitg-diff-view.c"
}


static void _vala_PangoFontDescription_free (PangoFontDescription* self) {
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_boxed_free (pango_font_description_get_type (), self);
#line 1388 "gitg-diff-view.c"
}


static void gitg_diff_view_parse_font (GitgDiffView* self, const gchar* val, gchar** family, guint* size) {
	PangoFontDescription* fdesc = NULL;
	const gchar* _tmp0_ = NULL;
	PangoFontDescription* _tmp1_ = NULL;
	gchar* f = NULL;
	PangoFontDescription* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gint s = 0;
	PangoFontDescription* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gboolean _tmp7_ = FALSE;
	const gchar* _tmp8_ = NULL;
	gint _tmp12_ = 0;
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (val != NULL);
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (*family != NULL);
#line 364 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = val;
#line 364 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = pango_font_description_from_string (_tmp0_);
#line 364 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	fdesc = _tmp1_;
#line 366 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = fdesc;
#line 366 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = pango_font_description_get_family (_tmp2_);
#line 366 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 366 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	f = _tmp4_;
#line 367 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = fdesc;
#line 367 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = pango_font_description_get_size (_tmp5_);
#line 367 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	s = _tmp6_;
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = f;
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp8_ != NULL) {
#line 1436 "gitg-diff-view.c"
		const gchar* _tmp9_ = NULL;
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = f;
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = g_strcmp0 (_tmp9_, "") != 0;
#line 1442 "gitg-diff-view.c"
	} else {
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = FALSE;
#line 1446 "gitg-diff-view.c"
	}
#line 369 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp7_) {
#line 1450 "gitg-diff-view.c"
		const gchar* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
#line 371 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = f;
#line 371 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp11_ = g_strdup (_tmp10_);
#line 371 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (*family);
#line 371 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		*family = _tmp11_;
#line 1461 "gitg-diff-view.c"
	}
#line 374 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = s;
#line 374 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp12_ != 0) {
#line 1467 "gitg-diff-view.c"
		PangoFontDescription* _tmp13_ = NULL;
		gboolean _tmp14_ = FALSE;
		guint _tmp17_ = 0U;
		GdkScreen* _tmp18_ = NULL;
		gdouble _tmp19_ = 0.0;
#line 376 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp13_ = fdesc;
#line 376 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp14_ = pango_font_description_get_size_is_absolute (_tmp13_);
#line 376 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_tmp14_) {
#line 1479 "gitg-diff-view.c"
			gint _tmp15_ = 0;
#line 378 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp15_ = s;
#line 378 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			*size = (guint) _tmp15_;
#line 1485 "gitg-diff-view.c"
		} else {
			gint _tmp16_ = 0;
#line 382 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp16_ = s;
#line 382 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			*size = (guint) (_tmp16_ / PANGO_SCALE);
#line 1492 "gitg-diff-view.c"
		}
#line 385 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp17_ = *size;
#line 385 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp18_ = gtk_widget_get_screen ((GtkWidget*) self);
#line 385 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp19_ = gdk_screen_get_resolution (_tmp18_);
#line 385 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		*size = (guint) ((_tmp17_ * _tmp19_) / 72.0);
#line 1502 "gitg-diff-view.c"
	}
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (f);
#line 362 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_PangoFontDescription_free0 (fdesc);
#line 1508 "gitg-diff-view.c"
}


static guint64 uint64_parse (const gchar* str) {
	guint64 result = 0ULL;
	const gchar* _tmp0_ = NULL;
	guint64 _tmp1_ = 0ULL;
#line 657 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	g_return_val_if_fail (str != NULL, 0ULL);
#line 658 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp0_ = str;
#line 658 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	_tmp1_ = g_ascii_strtoull (_tmp0_, NULL, (guint) 0);
#line 658 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	result = _tmp1_;
#line 658 "/usr/share/vala-0.28/vapi/glib-2.0.vapi"
	return result;
#line 1526 "gitg-diff-view.c"
}


void gitg_diff_view_request (GitgDiffView* self, GitgDiffViewRequest* request) {
	gchar* did = NULL;
	GitgDiffViewRequest* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	GitgDiffViewRequest* _tmp9_ = NULL;
#line 389 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 389 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (request != NULL);
#line 391 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = request;
#line 391 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = gitg_diff_view_request_parameter (_tmp0_, "diffid");
#line 391 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	did = _tmp1_;
#line 393 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = did;
#line 393 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp2_ != NULL) {
#line 1550 "gitg-diff-view.c"
		guint64 i = 0ULL;
		const gchar* _tmp3_ = NULL;
		guint64 _tmp4_ = 0ULL;
		guint64 _tmp5_ = 0ULL;
		gulong _tmp6_ = 0UL;
#line 395 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp3_ = did;
#line 395 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp4_ = uint64_parse (_tmp3_);
#line 395 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		i = _tmp4_;
#line 397 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp5_ = i;
#line 397 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp6_ = self->priv->d_diffid;
#line 397 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_tmp5_ == ((guint64) _tmp6_)) {
#line 1568 "gitg-diff-view.c"
			GitgDiffViewRequest* _tmp7_ = NULL;
			GCancellable* _tmp8_ = NULL;
#line 399 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp7_ = request;
#line 399 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp8_ = self->priv->d_cancellable;
#line 399 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			gitg_diff_view_request_run (_tmp7_, _tmp8_);
#line 400 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_g_free0 (did);
#line 400 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			return;
#line 1581 "gitg-diff-view.c"
		}
	}
#line 405 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = request;
#line 405 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_request_finish_empty (_tmp9_);
#line 389 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (did);
#line 1590 "gitg-diff-view.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 410 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self ? g_object_ref (self) : NULL;
#line 1597 "gitg-diff-view.c"
}


static void gitg_diff_view_update_font_settings (GitgDiffView* self) {
	WebKitSettings* settings = NULL;
	WebKitSettings* _tmp0_ = NULL;
	WebKitSettings* _tmp1_ = NULL;
	gchar* fname = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	guint fsize = 0U;
	guint _tmp5_ = 0U;
	guint _tmp6_ = 0U;
	GSettings* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	const gchar* _tmp10_ = NULL;
	guint _tmp11_ = 0U;
	const gchar* _tmp12_ = NULL;
	const gchar* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	guint _tmp15_ = 0U;
	guint _tmp16_ = 0U;
	GSettings* _tmp17_ = NULL;
	gchar* _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	const gchar* _tmp20_ = NULL;
	guint _tmp21_ = 0U;
#line 408 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 410 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = webkit_web_view_get_settings ((WebKitWebView*) self);
#line 410 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 410 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	settings = _tmp1_;
#line 412 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = webkit_settings_get_default_font_family (settings);
#line 412 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 412 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 412 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	fname = _tmp4_;
#line 413 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = webkit_settings_get_default_font_size (settings);
#line 413 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = _tmp5_;
#line 413 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	fsize = _tmp6_;
#line 415 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = self->priv->d_fontsettings;
#line 415 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = g_settings_get_string (_tmp7_, "font-name");
#line 415 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = _tmp8_;
#line 415 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_parse_font (self, _tmp9_, &fname, &fsize);
#line 415 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp9_);
#line 417 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp10_ = fname;
#line 417 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_default_font_family (settings, _tmp10_);
#line 418 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11_ = fsize;
#line 418 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_default_font_size (settings, _tmp11_);
#line 420 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = webkit_settings_get_monospace_font_family (settings);
#line 420 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = _tmp12_;
#line 420 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14_ = g_strdup (_tmp13_);
#line 420 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (fname);
#line 420 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	fname = _tmp14_;
#line 421 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_ = webkit_settings_get_default_monospace_font_size (settings);
#line 421 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp16_ = _tmp15_;
#line 421 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	fsize = _tmp16_;
#line 423 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp17_ = self->priv->d_fontsettings;
#line 423 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp18_ = g_settings_get_string (_tmp17_, "monospace-font-name");
#line 423 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp19_ = _tmp18_;
#line 423 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_parse_font (self, _tmp19_, &fname, &fsize);
#line 423 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp19_);
#line 425 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp20_ = fname;
#line 425 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_monospace_font_family (settings, _tmp20_);
#line 426 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp21_ = fsize;
#line 426 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_default_monospace_font_size (settings, _tmp21_);
#line 408 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (fname);
#line 408 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (settings);
#line 1705 "gitg-diff-view.c"
}


static gpointer _g_settings_schema_source_ref0 (gpointer self) {
#line 431 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self ? g_settings_schema_source_ref (self) : NULL;
#line 1712 "gitg-diff-view.c"
}


static GSettings* gitg_diff_view_try_settings (GitgDiffView* self, const gchar* schema_id) {
	GSettings* result = NULL;
	GSettingsSchemaSource* source = NULL;
	GSettingsSchemaSource* _tmp0_ = NULL;
	GSettingsSchemaSource* _tmp1_ = NULL;
	GSettingsSchemaSource* _tmp2_ = NULL;
	GSettingsSchemaSource* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	GSettingsSchema* _tmp5_ = NULL;
	GSettingsSchema* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
#line 429 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 429 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (schema_id != NULL, NULL);
#line 431 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = g_settings_schema_source_get_default ();
#line 431 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _g_settings_schema_source_ref0 (_tmp0_);
#line 431 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	source = _tmp1_;
#line 433 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = source;
#line 433 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp2_ == NULL) {
#line 435 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		result = NULL;
#line 435 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_settings_schema_source_unref0 (source);
#line 435 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return result;
#line 1747 "gitg-diff-view.c"
	}
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = source;
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = schema_id;
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = g_settings_schema_source_lookup (_tmp3_, _tmp4_, TRUE);
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = _tmp5_;
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = _tmp6_ != NULL;
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_settings_schema_unref0 (_tmp6_);
#line 438 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp7_) {
#line 1763 "gitg-diff-view.c"
		const gchar* _tmp8_ = NULL;
		GSettings* _tmp9_ = NULL;
#line 440 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp8_ = schema_id;
#line 440 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = g_settings_new (_tmp8_);
#line 440 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		result = _tmp9_;
#line 440 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_settings_schema_source_unref0 (source);
#line 440 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return result;
#line 1776 "gitg-diff-view.c"
	}
#line 443 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = NULL;
#line 443 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_settings_schema_source_unref0 (source);
#line 443 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 1784 "gitg-diff-view.c"
}


static void ___lambda51_ (GitgDiffView* self, GSettings* s, const gchar* k) {
#line 471 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (s != NULL);
#line 471 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (k != NULL);
#line 472 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update_font_settings (self);
#line 1795 "gitg-diff-view.c"
}


static void ____lambda51__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self) {
#line 471 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	___lambda51_ ((GitgDiffView*) self, _sender, key);
#line 1802 "gitg-diff-view.c"
}


static void ___lambda52_ (GitgDiffView* self, GSettings* s, const gchar* k) {
#line 475 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (s != NULL);
#line 475 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (k != NULL);
#line 476 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update_font_settings (self);
#line 1813 "gitg-diff-view.c"
}


static void ____lambda52__g_settings_changed (GSettings* _sender, const gchar* key, gpointer self) {
#line 475 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	___lambda52_ ((GitgDiffView*) self, _sender, key);
#line 1820 "gitg-diff-view.c"
}


static void gitg_diff_view_real_constructed (GObject* base) {
	GitgDiffView * self;
	WebKitSettings* settings = NULL;
	WebKitSettings* _tmp0_ = NULL;
	gboolean dbg = FALSE;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	WebKitSettings* _tmp5_ = NULL;
	WebKitSettings* _tmp6_ = NULL;
	WebKitSettings* _tmp7_ = NULL;
	GSettings* _tmp8_ = NULL;
	GSettings* _tmp9_ = NULL;
	guint64 _tmp12_ = 0ULL;
	GeeHashMap* _tmp13_ = NULL;
	guint64 _tmp14_ = 0ULL;
	gchar* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	GCancellable* _tmp17_ = NULL;
	gchar* uri = NULL;
	guint64 _tmp18_ = 0ULL;
	gchar* _tmp19_ = NULL;
	gchar* _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	gchar* _tmp22_ = NULL;
	const gchar* _tmp23_ = NULL;
	gchar* _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gchar* _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gchar* _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	gchar* _tmp30_ = NULL;
	const gchar* _tmp31_ = NULL;
#line 446 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = (GitgDiffView*) base;
#line 448 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	G_OBJECT_CLASS (gitg_diff_view_parent_class)->constructed ((GObject*) G_TYPE_CHECK_INSTANCE_CAST (self, webkit_web_view_get_type (), WebKitWebView));
#line 450 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = webkit_settings_new ();
#line 450 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	settings = _tmp0_;
#line 452 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = g_getenv ("GITG_GTK_DIFF_VIEW_DEBUG");
#line 452 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	dbg = _tmp1_ != NULL;
#line 454 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = dbg;
#line 454 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp2_) {
#line 1873 "gitg-diff-view.c"
		WebKitSettings* _tmp3_ = NULL;
		WebKitSettings* _tmp4_ = NULL;
#line 456 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp3_ = settings;
#line 456 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		webkit_settings_set_enable_developer_extras (_tmp3_, TRUE);
#line 457 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp4_ = settings;
#line 457 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		webkit_settings_set_enable_write_console_messages_to_stdout (_tmp4_, TRUE);
#line 1884 "gitg-diff-view.c"
	}
#line 460 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = settings;
#line 460 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_javascript_can_access_clipboard (_tmp5_, TRUE);
#line 461 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = settings;
#line 461 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_settings_set_enable_page_cache (_tmp6_, FALSE);
#line 463 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = settings;
#line 463 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_view_set_settings ((WebKitWebView*) self, _tmp7_);
#line 465 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = gitg_diff_view_try_settings (self, "org.gnome.desktop.interface");
#line 465 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_fontsettings);
#line 465 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_fontsettings = _tmp8_;
#line 467 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = self->priv->d_fontsettings;
#line 467 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp9_ != NULL) {
#line 1908 "gitg-diff-view.c"
		GSettings* _tmp10_ = NULL;
		GSettings* _tmp11_ = NULL;
#line 469 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_update_font_settings (self);
#line 471 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = self->priv->d_fontsettings;
#line 471 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_connect_object (_tmp10_, "changed::monospace-font-name", (GCallback) ____lambda51__g_settings_changed, self, 0);
#line 475 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp11_ = self->priv->d_fontsettings;
#line 475 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_connect_object (_tmp11_, "changed::font-name", (GCallback) ____lambda52__g_settings_changed, self, 0);
#line 1921 "gitg-diff-view.c"
	}
#line 480 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = gitg_diff_view_s_diff_id;
#line 480 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_s_diff_id = _tmp12_ + 1;
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = gitg_diff_view_s_diff_map;
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14_ = gitg_diff_view_s_diff_id;
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp14_);
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp16_ = _tmp15_;
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gee_abstract_map_set ((GeeAbstractMap*) _tmp13_, _tmp16_, self);
#line 481 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp16_);
#line 483 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp17_ = g_cancellable_new ();
#line 483 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_cancellable);
#line 483 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_cancellable = _tmp17_;
#line 485 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_loaded = FALSE;
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp18_ = gitg_diff_view_s_diff_id;
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp19_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp18_);
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp20_ = _tmp19_;
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp21_ = g_strconcat ("gitg-diff:///resource/org/gnome/gitg/ui/diff-view/diff-view.html?viewi" \
"d=", _tmp20_, NULL);
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp22_ = _tmp21_;
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp20_);
#line 488 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	uri = _tmp22_;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp23_ = uri;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp24_ = gitg_diff_view_json_settings (self);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp25_ = _tmp24_;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp26_ = soup_uri_encode (_tmp25_, NULL);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp27_ = _tmp26_;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp28_ = g_strconcat ("&settings=", _tmp27_, NULL);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp29_ = _tmp28_;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp30_ = g_strconcat (_tmp23_, _tmp29_, NULL);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (uri);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	uri = _tmp30_;
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp29_);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp27_);
#line 490 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp25_);
#line 492 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp31_ = uri;
#line 492 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_view_load_uri ((WebKitWebView*) self, _tmp31_);
#line 446 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (uri);
#line 446 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (settings);
#line 1995 "gitg-diff-view.c"
}


GitgDiffView* gitg_diff_view_construct (GType object_type) {
	GitgDiffView * self = NULL;
#line 497 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = (GitgDiffView*) g_object_new (object_type, NULL);
#line 495 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self;
#line 2005 "gitg-diff-view.c"
}


GitgDiffView* gitg_diff_view_new (void) {
#line 495 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return gitg_diff_view_construct (GITG_TYPE_DIFF_VIEW);
#line 2012 "gitg-diff-view.c"
}


void gitg_diff_view_loaded (GitgDiffView* self) {
#line 500 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 502 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_loaded = TRUE;
#line 503 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update (self);
#line 2023 "gitg-diff-view.c"
}


static void _vala_WebKitJavascriptResult_free (WebKitJavascriptResult* self) {
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_boxed_free (webkit_javascript_result_get_type (), self);
#line 2030 "gitg-diff-view.c"
}


static void __lambda42_ (GitgDiffView* self, GObject* obj, GAsyncResult* res) {
	GError * _inner_error_ = NULL;
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (res != NULL);
#line 2038 "gitg-diff-view.c"
	{
		GAsyncResult* _tmp0_ = NULL;
		WebKitJavascriptResult* _tmp1_ = NULL;
		WebKitJavascriptResult* _tmp2_ = NULL;
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp0_ = res;
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = webkit_web_view_run_javascript_finish ((WebKitWebView*) self, _tmp0_, &_inner_error_);
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = _tmp1_;
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_tmp2_);
#line 516 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2053 "gitg-diff-view.c"
			goto __catch41_g_error;
		}
	}
	goto __finally41;
	__catch41_g_error:
	{
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_inner_error_ = NULL;
#line 2064 "gitg-diff-view.c"
	}
	__finally41:
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 514 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2075 "gitg-diff-view.c"
	}
}


static void ___lambda42__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__lambda42_ ((GitgDiffView*) self, source_object, res);
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_unref (self);
#line 2085 "gitg-diff-view.c"
}


static void gitg_diff_view_update_tab_width (GitgDiffView* self) {
	gboolean _tmp0_ = FALSE;
	gint _tmp1_ = 0;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
#line 506 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 508 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_loaded;
#line 508 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (!_tmp0_) {
#line 510 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2104 "gitg-diff-view.c"
	}
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = self->priv->d_tab_width;
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = g_strdup_printf ("%i", _tmp1_);
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = g_strconcat ("update_tab_width(", _tmp3_, ");", NULL);
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = _tmp4_;
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_view_run_javascript ((WebKitWebView*) self, _tmp5_, NULL, ___lambda42__gasync_ready_callback, g_object_ref (self));
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp5_);
#line 513 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp3_);
#line 2122 "gitg-diff-view.c"
}


static void ___lambda41_ (GitgDiffView* self, GObject* obj, GAsyncResult* res) {
	GError * _inner_error_ = NULL;
#line 532 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (res != NULL);
#line 2130 "gitg-diff-view.c"
	{
		GAsyncResult* _tmp0_ = NULL;
		WebKitJavascriptResult* _tmp1_ = NULL;
		WebKitJavascriptResult* _tmp2_ = NULL;
#line 535 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp0_ = res;
#line 535 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = webkit_web_view_run_javascript_finish ((WebKitWebView*) self, _tmp0_, &_inner_error_);
#line 535 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = _tmp1_;
#line 535 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_tmp2_);
#line 535 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2145 "gitg-diff-view.c"
			goto __catch42_g_error;
		}
	}
	goto __finally42;
	__catch42_g_error:
	{
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_inner_error_ = NULL;
#line 2156 "gitg-diff-view.c"
	}
	__finally42:
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 533 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2167 "gitg-diff-view.c"
	}
}


static void ____lambda41__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 532 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	___lambda41_ ((GitgDiffView*) self, source_object, res);
#line 532 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_unref (self);
#line 2177 "gitg-diff-view.c"
}


static void _vala_GgitOId_free (GgitOId* self) {
#line 562 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_boxed_free (ggit_oid_get_type (), self);
#line 2184 "gitg-diff-view.c"
}


static void ___lambda43_ (GitgDiffView* self, GObject* obj, GAsyncResult* res) {
	GError * _inner_error_ = NULL;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (res != NULL);
#line 2192 "gitg-diff-view.c"
	{
		GAsyncResult* _tmp0_ = NULL;
		WebKitJavascriptResult* _tmp1_ = NULL;
		WebKitJavascriptResult* _tmp2_ = NULL;
#line 575 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp0_ = res;
#line 575 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = webkit_web_view_run_javascript_finish ((WebKitWebView*) self, _tmp0_, &_inner_error_);
#line 575 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = _tmp1_;
#line 575 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_tmp2_);
#line 575 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2207 "gitg-diff-view.c"
			goto __catch43_g_error;
		}
	}
	goto __finally43;
	__catch43_g_error:
	{
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_inner_error_ = NULL;
#line 2218 "gitg-diff-view.c"
	}
	__finally43:
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 573 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2229 "gitg-diff-view.c"
	}
}


static void ____lambda43__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	___lambda43_ ((GitgDiffView*) self, source_object, res);
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_unref (self);
#line 2239 "gitg-diff-view.c"
}


static void gitg_diff_view_update (GitgDiffView* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GgitDiff* _tmp2_ = NULL;
	GCancellable* _tmp5_ = NULL;
	GCancellable* _tmp6_ = NULL;
	gulong _tmp7_ = 0UL;
	GitgCommit* _tmp8_ = NULL;
	GgitDiff* _tmp32_ = NULL;
#line 521 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 523 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_loaded;
#line 523 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (!_tmp0_) {
#line 525 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2260 "gitg-diff-view.c"
	}
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = self->priv->d_diff;
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp2_ == NULL) {
#line 2266 "gitg-diff-view.c"
		GitgCommit* _tmp3_ = NULL;
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp3_ = self->priv->d_commit;
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = _tmp3_ == NULL;
#line 2272 "gitg-diff-view.c"
	} else {
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = FALSE;
#line 2276 "gitg-diff-view.c"
	}
#line 530 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp1_) {
#line 2280 "gitg-diff-view.c"
		GCancellable* _tmp4_ = NULL;
#line 532 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp4_ = self->priv->d_cancellable;
#line 532 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		webkit_web_view_run_javascript ((WebKitWebView*) self, "update_diff();", _tmp4_, ____lambda41__gasync_ready_callback, g_object_ref (self));
#line 539 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2288 "gitg-diff-view.c"
	}
#line 543 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = self->priv->d_cancellable;
#line 543 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_cancellable_cancel (_tmp5_);
#line 544 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = g_cancellable_new ();
#line 544 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_cancellable);
#line 544 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_cancellable = _tmp6_;
#line 546 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = self->priv->d_diffid;
#line 546 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_diffid = _tmp7_ + 1;
#line 548 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = self->priv->d_commit;
#line 548 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp8_ != NULL) {
#line 2308 "gitg-diff-view.c"
		gint parent = 0;
		GgitCommitParents* parents = NULL;
		GitgCommit* _tmp9_ = NULL;
		GgitCommitParents* _tmp10_ = NULL;
		const gchar* _tmp11_ = NULL;
		GitgCommit* _tmp27_ = NULL;
		GgitDiffOptions* _tmp28_ = NULL;
		GgitDiffOptions* _tmp29_ = NULL;
		gint _tmp30_ = 0;
		GgitDiff* _tmp31_ = NULL;
#line 550 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		parent = 0;
#line 551 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = self->priv->d_commit;
#line 551 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = ggit_commit_get_parents ((GgitCommit*) _tmp9_);
#line 551 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		parents = _tmp10_;
#line 553 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp11_ = self->priv->d_parent;
#line 553 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_tmp11_ != NULL) {
#line 2331 "gitg-diff-view.c"
			{
				gint i = 0;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				i = 0;
#line 2336 "gitg-diff-view.c"
				{
					gboolean _tmp12_ = FALSE;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					_tmp12_ = TRUE;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					while (TRUE) {
#line 2343 "gitg-diff-view.c"
						gint _tmp14_ = 0;
						GgitCommitParents* _tmp15_ = NULL;
						guint _tmp16_ = 0U;
						guint _tmp17_ = 0U;
						GgitOId* id = NULL;
						GgitCommitParents* _tmp18_ = NULL;
						gint _tmp19_ = 0;
						GgitOId* _tmp20_ = NULL;
						GgitOId* _tmp21_ = NULL;
						gchar* _tmp22_ = NULL;
						gchar* _tmp23_ = NULL;
						const gchar* _tmp24_ = NULL;
						gboolean _tmp25_ = FALSE;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						if (!_tmp12_) {
#line 2359 "gitg-diff-view.c"
							gint _tmp13_ = 0;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							_tmp13_ = i;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							i = _tmp13_ + 1;
#line 2365 "gitg-diff-view.c"
						}
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp12_ = FALSE;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp14_ = i;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp15_ = parents;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp16_ = ggit_commit_parents_get_size (_tmp15_);
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp17_ = _tmp16_;
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						if (!(((guint) _tmp14_) < _tmp17_)) {
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							break;
#line 2381 "gitg-diff-view.c"
						}
#line 557 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp18_ = parents;
#line 557 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp19_ = i;
#line 557 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp20_ = ggit_commit_parents_get_id (_tmp18_, (guint) _tmp19_);
#line 557 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						id = _tmp20_;
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp21_ = id;
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp22_ = ggit_oid_to_string (_tmp21_);
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp23_ = _tmp22_;
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp24_ = self->priv->d_parent;
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_tmp25_ = g_strcmp0 (_tmp23_, _tmp24_) == 0;
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						_g_free0 (_tmp23_);
#line 559 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						if (_tmp25_) {
#line 2405 "gitg-diff-view.c"
							gint _tmp26_ = 0;
#line 561 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							_tmp26_ = i;
#line 561 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							parent = _tmp26_;
#line 562 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							__vala_GgitOId_free0 (id);
#line 562 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
							break;
#line 2415 "gitg-diff-view.c"
						}
#line 555 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
						__vala_GgitOId_free0 (id);
#line 2419 "gitg-diff-view.c"
					}
				}
			}
		}
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp27_ = self->priv->d_commit;
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp28_ = gitg_diff_view_get_options (self);
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp29_ = _tmp28_;
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp30_ = parent;
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp31_ = gitg_commit_get_diff (_tmp27_, _tmp29_, _tmp30_);
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (self->priv->d_diff);
#line 567 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_diff = _tmp31_;
#line 548 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (parents);
#line 2440 "gitg-diff-view.c"
	}
#line 570 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp32_ = self->priv->d_diff;
#line 570 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp32_ != NULL) {
#line 2446 "gitg-diff-view.c"
		gulong _tmp33_ = 0UL;
		gchar* _tmp34_ = NULL;
		gchar* _tmp35_ = NULL;
		gchar* _tmp36_ = NULL;
		gchar* _tmp37_ = NULL;
		GCancellable* _tmp38_ = NULL;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp33_ = self->priv->d_diffid;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp34_ = gitg_diff_view_json_settings (self);
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp35_ = _tmp34_;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp36_ = g_strdup_printf ("update_diff(%lu, %s);", _tmp33_, _tmp35_);
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp37_ = _tmp36_;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp38_ = self->priv->d_cancellable;
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		webkit_web_view_run_javascript ((WebKitWebView*) self, _tmp37_, _tmp38_, ____lambda43__gasync_ready_callback, g_object_ref (self));
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (_tmp37_);
#line 572 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (_tmp35_);
#line 2471 "gitg-diff-view.c"
	}
}


void gitg_diff_view_update_has_selection (GitgDiffView* self, gboolean hs) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 581 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 583 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_has_selection;
#line 583 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = hs;
#line 583 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != _tmp1_) {
#line 2487 "gitg-diff-view.c"
		gboolean _tmp2_ = FALSE;
#line 585 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = hs;
#line 585 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_has_selection = _tmp2_;
#line 586 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_object_notify ((GObject*) self, "has-selection");
#line 2495 "gitg-diff-view.c"
	}
}


void gitg_diff_view_load_parent (GitgDiffView* self, const gchar* id) {
	const gchar* _tmp0_ = NULL;
#line 590 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 590 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (id != NULL);
#line 592 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = id;
#line 592 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_signal_emit_by_name (self, "request-select-commit", _tmp0_);
#line 2510 "gitg-diff-view.c"
}


void gitg_diff_view_select_parent (GitgDiffView* self, const gchar* id) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 595 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 595 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (id != NULL);
#line 597 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = id;
#line 597 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 597 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (self->priv->d_parent);
#line 597 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_parent = _tmp1_;
#line 598 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update (self);
#line 2531 "gitg-diff-view.c"
}


void gitg_diff_view_open_url (GitgDiffView* self, const gchar* url) {
	GError * _inner_error_ = NULL;
#line 601 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 601 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (url != NULL);
#line 2541 "gitg-diff-view.c"
	{
		const gchar* _tmp0_ = NULL;
#line 605 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp0_ = url;
#line 605 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gtk_show_uri (NULL, _tmp0_, (guint32) 0, &_inner_error_);
#line 605 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2550 "gitg-diff-view.c"
			goto __catch44_g_error;
		}
	}
	goto __finally44;
	__catch44_g_error:
	{
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_inner_error_ = NULL;
#line 2561 "gitg-diff-view.c"
	}
	__finally44:
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_inner_error_);
#line 603 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return;
#line 2572 "gitg-diff-view.c"
	}
}


static gpointer _json_array_ref0 (gpointer self) {
#line 613 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self ? json_array_ref (self) : NULL;
#line 2580 "gitg-diff-view.c"
}


static GitgPatchSet* gitg_diff_view_parse_patchset (GitgDiffView* self, JsonNode* node) {
	GitgPatchSet* result = NULL;
	GitgPatchSet* ret = NULL;
	GitgPatchSet* _tmp0_ = NULL;
	JsonArray* elems = NULL;
	JsonNode* _tmp1_ = NULL;
	JsonArray* _tmp2_ = NULL;
	JsonArray* _tmp3_ = NULL;
	GitgPatchSet* _tmp4_ = NULL;
	JsonArray* _tmp5_ = NULL;
	JsonNode* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	JsonArray* ps = NULL;
	JsonArray* _tmp9_ = NULL;
	JsonNode* _tmp10_ = NULL;
	JsonArray* _tmp11_ = NULL;
	JsonArray* _tmp12_ = NULL;
	guint l = 0U;
	JsonArray* _tmp13_ = NULL;
	guint _tmp14_ = 0U;
	GitgPatchSet* _tmp15_ = NULL;
	guint _tmp16_ = 0U;
	GitgPatchSetPatch* _tmp17_ = NULL;
#line 609 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 609 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (node != NULL, NULL);
#line 611 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_patch_set_new ();
#line 611 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	ret = _tmp0_;
#line 613 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = node;
#line 613 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = json_node_get_array (_tmp1_);
#line 613 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _json_array_ref0 (_tmp2_);
#line 613 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	elems = _tmp3_;
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = ret;
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = elems;
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = json_array_get_element (_tmp5_, (guint) 0);
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp7_ = json_node_get_string (_tmp6_);
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp8_ = g_strdup (_tmp7_);
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_tmp4_->filename);
#line 614 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_->filename = _tmp8_;
#line 616 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp9_ = elems;
#line 616 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp10_ = json_array_get_element (_tmp9_, (guint) 1);
#line 616 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp11_ = json_node_get_array (_tmp10_);
#line 616 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp12_ = _json_array_ref0 (_tmp11_);
#line 616 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	ps = _tmp12_;
#line 618 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp13_ = ps;
#line 618 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp14_ = json_array_get_length (_tmp13_);
#line 618 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	l = _tmp14_;
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_ = ret;
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp16_ = l;
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp17_ = g_new0 (GitgPatchSetPatch, _tmp16_);
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_->patches = (g_free (_tmp15_->patches), NULL);
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_->patches = _tmp17_;
#line 619 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp15_->patches_length1 = _tmp16_;
#line 2666 "gitg-diff-view.c"
	{
		guint i = 0U;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		i = (guint) 0;
#line 2671 "gitg-diff-view.c"
		{
			gboolean _tmp18_ = FALSE;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_tmp18_ = TRUE;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			while (TRUE) {
#line 2678 "gitg-diff-view.c"
				guint _tmp20_ = 0U;
				guint _tmp21_ = 0U;
				JsonArray* p = NULL;
				JsonArray* _tmp22_ = NULL;
				guint _tmp23_ = 0U;
				JsonNode* _tmp24_ = NULL;
				JsonArray* _tmp25_ = NULL;
				JsonArray* _tmp26_ = NULL;
				GitgPatchSet* _tmp27_ = NULL;
				GitgPatchSetPatch* _tmp28_ = NULL;
				gint _tmp28__length1 = 0;
				guint _tmp29_ = 0U;
				JsonArray* _tmp30_ = NULL;
				JsonNode* _tmp31_ = NULL;
				gint64 _tmp32_ = 0LL;
				JsonArray* _tmp33_ = NULL;
				JsonNode* _tmp34_ = NULL;
				gint64 _tmp35_ = 0LL;
				JsonArray* _tmp36_ = NULL;
				JsonNode* _tmp37_ = NULL;
				gint64 _tmp38_ = 0LL;
				JsonArray* _tmp39_ = NULL;
				JsonNode* _tmp40_ = NULL;
				gint64 _tmp41_ = 0LL;
				GitgPatchSetPatch _tmp42_ = {0};
				GitgPatchSetPatch _tmp43_ = {0};
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				if (!_tmp18_) {
#line 2707 "gitg-diff-view.c"
					guint _tmp19_ = 0U;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					_tmp19_ = i;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					i = _tmp19_ + 1;
#line 2713 "gitg-diff-view.c"
				}
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp18_ = FALSE;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp20_ = i;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp21_ = l;
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				if (!(_tmp20_ < _tmp21_)) {
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					break;
#line 2725 "gitg-diff-view.c"
				}
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp22_ = ps;
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp23_ = i;
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp24_ = json_array_get_element (_tmp22_, _tmp23_);
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp25_ = json_node_get_array (_tmp24_);
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp26_ = _json_array_ref0 (_tmp25_);
#line 623 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				p = _tmp26_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp27_ = ret;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp28_ = _tmp27_->patches;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp28__length1 = _tmp27_->patches_length1;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp29_ = i;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp30_ = p;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp31_ = json_array_get_element (_tmp30_, (guint) 0);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp32_ = json_node_get_int (_tmp31_);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp33_ = p;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp34_ = json_array_get_element (_tmp33_, (guint) 1);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp35_ = json_node_get_int (_tmp34_);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp36_ = p;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp37_ = json_array_get_element (_tmp36_, (guint) 2);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp38_ = json_node_get_int (_tmp37_);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp39_ = p;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp40_ = json_array_get_element (_tmp39_, (guint) 3);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp41_ = json_node_get_int (_tmp40_);
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				memset (&_tmp42_, 0, sizeof (GitgPatchSetPatch));
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp42_.type = (GitgPatchSetType) _tmp32_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp42_.old_offset = (gsize) _tmp35_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp42_.new_offset = (gsize) _tmp38_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp42_.length = (gsize) _tmp41_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp28_[_tmp29_] = _tmp42_;
#line 625 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp43_ = _tmp28_[_tmp29_];
#line 621 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_json_array_unref0 (p);
#line 2787 "gitg-diff-view.c"
			}
		}
	}
#line 633 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = ret;
#line 633 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_array_unref0 (ps);
#line 633 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_array_unref0 (elems);
#line 633 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 2799 "gitg-diff-view.c"
}


static void gitg_diff_view_get_selection_data_free (gpointer _data) {
	GitgDiffViewGetSelectionData* _data_;
	_data_ = _data;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->result = (_vala_array_free (_data_->result, _data_->result_length1, (GDestroyNotify) gitg_patch_set_unref), NULL);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (_data_->self);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_slice_free (GitgDiffViewGetSelectionData, _data_);
#line 2812 "gitg-diff-view.c"
}


void gitg_diff_view_get_selection (GitgDiffView* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	GitgDiffViewGetSelectionData* _data_;
	GitgDiffView* _tmp0_ = NULL;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_ = g_slice_new0 (GitgDiffViewGetSelectionData);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, gitg_diff_view_get_selection);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, gitg_diff_view_get_selection_data_free);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->self = _tmp0_;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_get_selection_co (_data_);
#line 2831 "gitg-diff-view.c"
}


GitgPatchSet** gitg_diff_view_get_selection_finish (GitgDiffView* self, GAsyncResult* _res_, int* result_length1) {
	GitgPatchSet** result;
	GitgDiffViewGetSelectionData* _data_;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _data_->result;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	*result_length1 = _data_->result_length1;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->result = NULL;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 2848 "gitg-diff-view.c"
}


static void gitg_diff_view_get_selection_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	GitgDiffViewGetSelectionData* _data_;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_ = _user_data_;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_source_object_ = source_object;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_res_ = _res_;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_get_selection_co (_data_);
#line 2862 "gitg-diff-view.c"
}


static JsonNode* _vala_JsonNode_copy (JsonNode* self) {
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return g_boxed_copy (json_node_get_type (), self);
#line 2869 "gitg-diff-view.c"
}


static gpointer __vala_JsonNode_copy0 (gpointer self) {
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self ? _vala_JsonNode_copy (self) : NULL;
#line 2876 "gitg-diff-view.c"
}


static gboolean gitg_diff_view_get_selection_co (GitgDiffViewGetSelectionData* _data_) {
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	switch (_data_->_state_) {
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case 0:
#line 2885 "gitg-diff-view.c"
		goto _state_0;
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case 1:
#line 2889 "gitg-diff-view.c"
		goto _state_1;
		default:
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_assert_not_reached ();
#line 2894 "gitg-diff-view.c"
	}
	_state_0:
	{
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp1_ = NULL;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp1_ = _data_->self->priv->d_cancellable;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_state_ = 1;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		webkit_web_view_run_javascript ((WebKitWebView*) _data_->self, "get_selection();", _data_->_tmp1_, gitg_diff_view_get_selection_ready, _data_);
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return FALSE;
#line 2908 "gitg-diff-view.c"
		_state_1:
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp2_ = NULL;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp2_ = webkit_web_view_run_javascript_finish ((WebKitWebView*) _data_->self, _data_->_res_, &_data_->_inner_error_);
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp0_ = _data_->_tmp2_;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 2918 "gitg-diff-view.c"
			goto __catch45_g_error;
		}
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp3_ = NULL;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp3_ = _data_->_tmp0_;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp0_ = NULL;
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 642 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->jsret = _data_->_tmp3_;
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->_tmp0_);
#line 2933 "gitg-diff-view.c"
	}
	goto __finally45;
	__catch45_g_error:
	{
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->e = _data_->_inner_error_;
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_inner_error_ = NULL;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp4_ = NULL;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp4_ = stderr;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp5_ = NULL;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp5_ = _data_->e;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp6_ = NULL;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp6_ = _data_->_tmp5_->message;
#line 646 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		fprintf (_data_->_tmp4_, "Error running get_selection(): %s\n", _data_->_tmp6_);
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp7_ = NULL;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp7_ = g_new0 (GitgPatchSet*, 0 + 1);
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp8_ = NULL;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp8__length1 = 0;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp8_ = _data_->_tmp7_;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp8__length1 = 0;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->result_length1 = _data_->_tmp8__length1;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->result = _data_->_tmp8_;
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_error_free0 (_data_->e);
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_data_->_state_ == 0) {
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2980 "gitg-diff-view.c"
		} else {
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 2984 "gitg-diff-view.c"
		}
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_object_unref (_data_->_async_result);
#line 647 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return FALSE;
#line 2990 "gitg-diff-view.c"
	}
	__finally45:
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_data_->_inner_error_);
#line 640 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return FALSE;
#line 3003 "gitg-diff-view.c"
	}
#line 650 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp9_ = NULL;
#line 650 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp9_ = _data_->jsret;
#line 650 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp10_ = NULL;
#line 650 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp10_ = gitg_js_utils_get_json (_data_->_tmp9_);
#line 650 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->json = _data_->_tmp10_;
#line 651 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp11_ = NULL;
#line 651 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp11_ = json_parser_new ();
#line 651 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->parser = _data_->_tmp11_;
#line 3021 "gitg-diff-view.c"
	{
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp12_ = NULL;
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp12_ = _data_->parser;
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp13_ = NULL;
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp13_ = _data_->json;
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		json_parser_load_from_data (_data_->_tmp12_, _data_->_tmp13_, (gssize) (-1), &_data_->_inner_error_);
#line 655 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 3035 "gitg-diff-view.c"
			goto __catch46_g_error;
		}
	}
	goto __finally46;
	__catch46_g_error:
	{
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_vala1_e = _data_->_inner_error_;
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_inner_error_ = NULL;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp14_ = NULL;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp14_ = stderr;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp15_ = NULL;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp15_ = _data_->_vala1_e;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp16_ = NULL;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp16_ = _data_->_tmp15_->message;
#line 659 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		fprintf (_data_->_tmp14_, "Error parsing json: %s\n", _data_->_tmp16_);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp17_ = NULL;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp17_ = g_new0 (GitgPatchSet*, 0 + 1);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp18_ = NULL;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp18__length1 = 0;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp18_ = _data_->_tmp17_;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->_tmp18__length1 = 0;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->result_length1 = _data_->_tmp18__length1;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->result = _data_->_tmp18_;
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_error_free0 (_data_->_vala1_e);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (_data_->parser);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (_data_->json);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		if (_data_->_state_ == 0) {
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3088 "gitg-diff-view.c"
		} else {
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 3092 "gitg-diff-view.c"
		}
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_object_unref (_data_->_async_result);
#line 660 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return FALSE;
#line 3098 "gitg-diff-view.c"
	}
	__finally46:
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (_data_->parser);
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (_data_->json);
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_clear_error (&_data_->_inner_error_);
#line 653 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		return FALSE;
#line 3115 "gitg-diff-view.c"
	}
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp19_ = NULL;
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp19_ = _data_->parser;
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp20_ = NULL;
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp20_ = json_parser_get_root (_data_->_tmp19_);
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp21_ = NULL;
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp21_ = __vala_JsonNode_copy0 (_data_->_tmp20_);
#line 663 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->root = _data_->_tmp21_;
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp22_ = NULL;
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp22_ = _data_->root;
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp23_ = NULL;
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp23_ = json_node_get_array (_data_->_tmp22_);
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp24_ = NULL;
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp24_ = _json_array_ref0 (_data_->_tmp23_);
#line 665 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->elems = _data_->_tmp24_;
#line 666 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp25_ = NULL;
#line 666 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp25_ = _data_->elems;
#line 666 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp26_ = 0U;
#line 666 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp26_ = json_array_get_length (_data_->_tmp25_);
#line 666 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->l = _data_->_tmp26_;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp27_ = 0U;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp27_ = _data_->l;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp28_ = NULL;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp28_ = g_new0 (GitgPatchSet*, _data_->_tmp27_ + 1);
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->ret_length1 = 0;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_ret_size_ = 0;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->ret = _data_->_tmp28_;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->ret_length1 = _data_->_tmp27_;
#line 668 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_ret_size_ = _data_->ret_length1;
#line 3173 "gitg-diff-view.c"
	{
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_data_->i = (guint) 0;
#line 3177 "gitg-diff-view.c"
		{
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			_data_->_tmp29_ = TRUE;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
			while (TRUE) {
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				if (!_data_->_tmp29_) {
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					_data_->_tmp30_ = 0U;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					_data_->_tmp30_ = _data_->i;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					_data_->i = _data_->_tmp30_ + 1;
#line 3191 "gitg-diff-view.c"
				}
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp29_ = FALSE;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp31_ = 0U;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp31_ = _data_->i;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp32_ = 0U;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp32_ = _data_->l;
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				if (!(_data_->_tmp31_ < _data_->_tmp32_)) {
#line 670 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
					break;
#line 3207 "gitg-diff-view.c"
				}
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp33_ = NULL;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp33__length1 = 0;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp33_ = _data_->ret;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp33__length1 = _data_->ret_length1;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp34_ = 0U;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp34_ = _data_->i;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp35_ = NULL;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp35_ = _data_->elems;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp36_ = 0U;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp36_ = _data_->i;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp37_ = NULL;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp37_ = json_array_get_element (_data_->_tmp35_, _data_->_tmp36_);
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp38_ = NULL;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp38_ = gitg_diff_view_parse_patchset (_data_->self, _data_->_tmp37_);
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_gitg_patch_set_unref0 (_data_->_tmp33_[_data_->_tmp34_]);
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp33_[_data_->_tmp34_] = _data_->_tmp38_;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp39_ = NULL;
#line 672 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_data_->_tmp39_ = _data_->_tmp33_[_data_->_tmp34_];
#line 3245 "gitg-diff-view.c"
			}
		}
	}
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp40_ = NULL;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp40__length1 = 0;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp40_ = _data_->ret;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->_tmp40__length1 = _data_->ret_length1;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->result_length1 = _data_->_tmp40__length1;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->result = _data_->_tmp40_;
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_array_unref0 (_data_->elems);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_JsonNode_free0 (_data_->root);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (_data_->parser);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_data_->json);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_data_->_state_ == 0) {
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3275 "gitg-diff-view.c"
	} else {
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3279 "gitg-diff-view.c"
	}
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_unref (_data_->_async_result);
#line 675 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return FALSE;
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data_->ret = (_vala_array_free (_data_->ret, _data_->ret_length1, (GDestroyNotify) gitg_patch_set_unref), NULL);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_json_array_unref0 (_data_->elems);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_JsonNode_free0 (_data_->root);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (_data_->parser);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (_data_->json);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__vala_WebKitJavascriptResult_free0 (_data_->jsret);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_data_->_state_ == 0) {
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3301 "gitg-diff-view.c"
	} else {
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3305 "gitg-diff-view.c"
	}
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_unref (_data_->_async_result);
#line 636 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return FALSE;
#line 3311 "gitg-diff-view.c"
}


static Block9Data* block9_data_ref (Block9Data* _data9_) {
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_atomic_int_inc (&_data9_->_ref_count_);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return _data9_;
#line 3320 "gitg-diff-view.c"
}


static void block9_data_unref (void * _userdata_) {
	Block9Data* _data9_;
	_data9_ = (Block9Data*) _userdata_;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) {
#line 3329 "gitg-diff-view.c"
		GitgDiffView* self;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self = _data9_->self;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (_data9_->m);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (self);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_slice_free (Block9Data, _data9_);
#line 3339 "gitg-diff-view.c"
	}
}


static void __lambda53_ (Block9Data* _data9_) {
	GitgDiffView* self;
	GtkPopover* _tmp0_ = NULL;
#line 703 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = _data9_->self;
#line 704 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = _data9_->m;
#line 704 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gtk_widget_destroy ((GtkWidget*) _tmp0_);
#line 3353 "gitg-diff-view.c"
}


static void ___lambda53__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 703 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	__lambda53_ (self);
#line 3360 "gitg-diff-view.c"
}


static gboolean gitg_diff_view_real_context_menu (WebKitWebView* base, WebKitContextMenu* menu, GdkEvent* event, WebKitHitTestResult* hit_test_result) {
	GitgDiffView * self;
	gboolean result = FALSE;
	Block9Data* _data9_;
	GtkPopover* _tmp0_ = NULL;
	GitgDiffViewOptions* opts = NULL;
	GitgDiffViewOptions* _tmp1_ = NULL;
	GtkPopover* _tmp2_ = NULL;
	GitgDiffViewOptions* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	GdkEvent* _tmp5_ = NULL;
	GdkEventType _tmp6_ = 0;
	GitgDiffViewOptions* _tmp20_ = NULL;
	GtkPopover* _tmp21_ = NULL;
	GitgDiffViewOptions* _tmp22_ = NULL;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = (GitgDiffView*) base;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (menu != NULL, FALSE);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (hit_test_result != NULL, FALSE);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data9_ = g_slice_new0 (Block9Data);
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data9_->_ref_count_ = 1;
#line 678 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data9_->self = g_object_ref (self);
#line 682 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = (GtkPopover*) gtk_popover_new ((GtkWidget*) self);
#line 682 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_ref_sink (_tmp0_);
#line 682 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data9_->m = _tmp0_;
#line 683 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = gitg_diff_view_options_new (self);
#line 683 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_ref_sink (_tmp1_);
#line 683 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	opts = _tmp1_;
#line 685 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = _data9_->m;
#line 685 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = opts;
#line 685 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gtk_container_add ((GtkContainer*) _tmp2_, (GtkWidget*) _tmp3_);
#line 687 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = event;
#line 687 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp6_ = _tmp5_->type;
#line 687 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp6_ == GDK_BUTTON_PRESS) {
#line 687 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp4_ = TRUE;
#line 3419 "gitg-diff-view.c"
	} else {
		GdkEvent* _tmp7_ = NULL;
		GdkEventType _tmp8_ = 0;
#line 688 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = event;
#line 688 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp8_ = _tmp7_->type;
#line 688 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp4_ = _tmp8_ == GDK_BUTTON_RELEASE;
#line 3429 "gitg-diff-view.c"
	}
#line 687 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp4_) {
#line 3433 "gitg-diff-view.c"
		GdkRectangle r = {0};
		GdkEvent* _tmp9_ = NULL;
		GdkEventButton* _tmp10_ = NULL;
		GdkEventButton* _tmp11_ = NULL;
		gdouble _tmp12_ = 0.0;
		GdkEvent* _tmp13_ = NULL;
		GdkEventButton* _tmp14_ = NULL;
		GdkEventButton* _tmp15_ = NULL;
		gdouble _tmp16_ = 0.0;
		GdkRectangle _tmp17_ = {0};
		GtkPopover* _tmp18_ = NULL;
		GdkRectangle _tmp19_ = {0};
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = event;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = (GdkEventButton *) (_tmp9_);
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp11_ = _tmp10_;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp12_ = _tmp11_->x;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp13_ = event;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp14_ = (GdkEventButton *) (_tmp13_);
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp15_ = _tmp14_;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp16_ = _tmp15_->y;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		memset (&_tmp17_, 0, sizeof (GdkRectangle));
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp17_.x = (gint) _tmp12_;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp17_.y = (gint) _tmp16_;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp17_.width = 1;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp17_.height = 1;
#line 690 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		r = _tmp17_;
#line 697 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp18_ = _data9_->m;
#line 697 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp19_ = r;
#line 697 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gtk_popover_set_pointing_to (_tmp18_, &_tmp19_);
#line 3480 "gitg-diff-view.c"
	}
#line 700 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp20_ = opts;
#line 700 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gtk_widget_show ((GtkWidget*) _tmp20_);
#line 701 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp21_ = _data9_->m;
#line 701 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gtk_widget_show ((GtkWidget*) _tmp21_);
#line 703 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp22_ = opts;
#line 703 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_signal_connect_data ((GObject*) _tmp22_, "notify::visible", (GCallback) ___lambda53__g_object_notify, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0);
#line 707 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = TRUE;
#line 707 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (opts);
#line 707 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	block9_data_unref (_data9_);
#line 707 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_data9_ = NULL;
#line 707 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3504 "gitg-diff-view.c"
}


GFile* gitg_diff_view_get_custom_css (GitgDiffView* self) {
	GFile* result;
	GFile* _tmp0_ = NULL;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_custom_css;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3519 "gitg-diff-view.c"
}


static void gitg_diff_view_set_custom_css (GitgDiffView* self, GFile* value) {
	GFile* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->_custom_css);
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_custom_css = _tmp1_;
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "custom-css");
#line 3538 "gitg-diff-view.c"
}


GFile* gitg_diff_view_get_custom_js (GitgDiffView* self) {
	GFile* result;
	GFile* _tmp0_ = NULL;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_custom_js;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3553 "gitg-diff-view.c"
}


static void gitg_diff_view_set_custom_js (GitgDiffView* self, GFile* value) {
	GFile* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->_custom_js);
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_custom_js = _tmp1_;
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "custom-js");
#line 3572 "gitg-diff-view.c"
}


GgitDiffOptions* gitg_diff_view_get_options (GitgDiffView* self) {
	GgitDiffOptions* result;
	GgitDiffOptions* _tmp0_ = NULL;
	GgitDiffOptions* _tmp2_ = NULL;
#line 85 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 87 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_options;
#line 87 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ == NULL) {
#line 3586 "gitg-diff-view.c"
		GgitDiffOptions* _tmp1_ = NULL;
#line 89 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp1_ = ggit_diff_options_new ();
#line 89 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (self->priv->d_options);
#line 89 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_options = _tmp1_;
#line 3594 "gitg-diff-view.c"
	}
#line 92 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = self->priv->d_options;
#line 92 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp2_;
#line 92 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3602 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_has_selection (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 98 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 98 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_has_selection;
#line 98 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 98 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3617 "gitg-diff-view.c"
}


GgitDiff* gitg_diff_view_get_diff (GitgDiffView* self) {
	GgitDiff* result;
	GgitDiff* _tmp0_ = NULL;
#line 107 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 107 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_diff;
#line 107 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 107 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3632 "gitg-diff-view.c"
}


void gitg_diff_view_set_diff (GitgDiffView* self, GgitDiff* value) {
	GgitDiff* _tmp0_ = NULL;
	GgitDiff* _tmp1_ = NULL;
#line 108 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 110 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 110 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 110 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_diff);
#line 110 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_diff = _tmp1_;
#line 111 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_commit);
#line 111 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_commit = NULL;
#line 112 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (self->priv->d_parent);
#line 112 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->d_parent = NULL;
#line 114 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update (self);
#line 108 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "diff");
#line 3661 "gitg-diff-view.c"
}


GitgCommit* gitg_diff_view_get_commit (GitgDiffView* self) {
	GitgCommit* result;
	GitgCommit* _tmp0_ = NULL;
#line 120 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 120 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_commit;
#line 120 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 120 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3676 "gitg-diff-view.c"
}


void gitg_diff_view_set_commit (GitgDiffView* self, GitgCommit* value) {
	GitgCommit* _tmp0_ = NULL;
	GitgCommit* _tmp1_ = NULL;
#line 121 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 123 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_commit;
#line 123 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = value;
#line 123 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != _tmp1_) {
#line 3691 "gitg-diff-view.c"
		GitgCommit* _tmp2_ = NULL;
		GitgCommit* _tmp3_ = NULL;
#line 125 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = value;
#line 125 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp3_ = _g_object_ref0 (_tmp2_);
#line 125 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (self->priv->d_commit);
#line 125 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_commit = _tmp3_;
#line 126 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_object_unref0 (self->priv->d_diff);
#line 126 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_diff = NULL;
#line 127 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_g_free0 (self->priv->d_parent);
#line 127 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_parent = NULL;
#line 3710 "gitg-diff-view.c"
	}
#line 130 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_update (self);
#line 121 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "commit");
#line 3716 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_wrap (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_wrap;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3731 "gitg-diff-view.c"
}


void gitg_diff_view_set_wrap (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_wrap = _tmp0_;
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "wrap");
#line 3745 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_staged (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_staged;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3760 "gitg-diff-view.c"
}


void gitg_diff_view_set_staged (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_staged = _tmp0_;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "staged");
#line 3774 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_unstaged (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_unstaged;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3789 "gitg-diff-view.c"
}


void gitg_diff_view_set_unstaged (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_unstaged = _tmp0_;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "unstaged");
#line 3803 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_show_parents (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_show_parents;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3818 "gitg-diff-view.c"
}


void gitg_diff_view_set_show_parents (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_show_parents = _tmp0_;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "show-parents");
#line 3832 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_default_collapse_all (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->_default_collapse_all;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3847 "gitg-diff-view.c"
}


void gitg_diff_view_set_default_collapse_all (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_default_collapse_all = _tmp0_;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "default-collapse-all");
#line 3861 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_use_gravatar (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 144 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 144 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_use_gravatar;
#line 144 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 144 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3876 "gitg-diff-view.c"
}


void gitg_diff_view_set_use_gravatar (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 145 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 147 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_use_gravatar;
#line 147 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = value;
#line 147 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != _tmp1_) {
#line 3891 "gitg-diff-view.c"
		gboolean _tmp2_ = FALSE;
#line 149 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = value;
#line 149 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_use_gravatar = _tmp2_;
#line 150 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_emit_by_name (self, "options-changed");
#line 3899 "gitg-diff-view.c"
	}
#line 145 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "use-gravatar");
#line 3903 "gitg-diff-view.c"
}


gint gitg_diff_view_get_tab_width (GitgDiffView* self) {
	gint result;
	gint _tmp0_ = 0;
#line 160 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 160 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_tab_width;
#line 160 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 160 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3918 "gitg-diff-view.c"
}


void gitg_diff_view_set_tab_width (GitgDiffView* self, gint value) {
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
#line 161 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 163 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_tab_width;
#line 163 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = value;
#line 163 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != _tmp1_) {
#line 3933 "gitg-diff-view.c"
		gint _tmp2_ = 0;
#line 165 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = value;
#line 165 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_tab_width = _tmp2_;
#line 166 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_update_tab_width (self);
#line 3941 "gitg-diff-view.c"
	}
#line 161 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "tab-width");
#line 3945 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_ignore_whitespace (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 200 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 200 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_flag_get (self, GGIT_DIFF_IGNORE_WHITESPACE);
#line 200 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 200 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3960 "gitg-diff-view.c"
}


void gitg_diff_view_set_ignore_whitespace (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 201 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 201 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = value;
#line 201 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_flag_set (self, GGIT_DIFF_IGNORE_WHITESPACE, _tmp0_);
#line 201 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "ignore-whitespace");
#line 3974 "gitg-diff-view.c"
}


gboolean gitg_diff_view_get_changes_inline (GitgDiffView* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 208 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 208 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_changes_inline;
#line 208 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp0_;
#line 208 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 3989 "gitg-diff-view.c"
}


void gitg_diff_view_set_changes_inline (GitgDiffView* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
#line 209 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 211 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_changes_inline;
#line 211 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = value;
#line 211 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != _tmp1_) {
#line 4004 "gitg-diff-view.c"
		gboolean _tmp2_ = FALSE;
#line 213 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp2_ = value;
#line 213 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		self->priv->d_changes_inline = _tmp2_;
#line 215 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_emit_by_name (self, "options-changed");
#line 4012 "gitg-diff-view.c"
	}
#line 209 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "changes-inline");
#line 4016 "gitg-diff-view.c"
}


gint gitg_diff_view_get_context_lines (GitgDiffView* self) {
	gint result;
	GgitDiffOptions* _tmp0_ = NULL;
	GgitDiffOptions* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_get_options (self);
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _tmp0_;
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = ggit_diff_options_get_n_context_lines (_tmp1_);
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = _tmp3_;
#line 222 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 4040 "gitg-diff-view.c"
}


void gitg_diff_view_set_context_lines (GitgDiffView* self, gint value) {
	GgitDiffOptions* _tmp0_ = NULL;
	GgitDiffOptions* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
#line 224 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_if_fail (self != NULL);
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_get_options (self);
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _tmp0_;
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = ggit_diff_options_get_n_context_lines (_tmp1_);
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = _tmp2_;
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = value;
#line 226 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp3_ != _tmp4_) {
#line 4064 "gitg-diff-view.c"
		GgitDiffOptions* _tmp5_ = NULL;
		GgitDiffOptions* _tmp6_ = NULL;
		gint _tmp7_ = 0;
		GgitDiffOptions* _tmp8_ = NULL;
		GgitDiffOptions* _tmp9_ = NULL;
		gint _tmp10_ = 0;
#line 228 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp5_ = gitg_diff_view_get_options (self);
#line 228 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp6_ = _tmp5_;
#line 228 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp7_ = value;
#line 228 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		ggit_diff_options_set_n_context_lines (_tmp6_, _tmp7_);
#line 229 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp8_ = gitg_diff_view_get_options (self);
#line 229 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp9_ = _tmp8_;
#line 229 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		_tmp10_ = value;
#line 229 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		ggit_diff_options_set_n_interhunk_lines (_tmp9_, _tmp10_);
#line 231 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_signal_emit_by_name (self, "options-changed");
#line 4089 "gitg-diff-view.c"
	}
#line 224 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_notify ((GObject *) self, "context-lines");
#line 4093 "gitg-diff-view.c"
}


static void gitg_diff_view_real_options_changed (GitgDiffView* self) {
	GitgCommit* _tmp0_ = NULL;
#line 77 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = self->priv->d_commit;
#line 77 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp0_ != NULL) {
#line 79 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_update (self);
#line 4105 "gitg-diff-view.c"
	}
}


static void _gitg_diff_view_gitg_diff_request_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request, gpointer self) {
#line 244 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_gitg_diff_request (request);
#line 4113 "gitg-diff-view.c"
}


static void _gitg_diff_view_gitg_diff_mailto_request_web_kit_uri_scheme_request_callback (WebKitURISchemeRequest* request, gpointer self) {
#line 245 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_gitg_diff_mailto_request (request);
#line 4120 "gitg-diff-view.c"
}


static GitgDiffViewDiffViewRequestInternal* gitg_diff_view_diff_view_request_internal_construct (GType object_type, GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri) {
	GitgDiffViewDiffViewRequestInternal* self = NULL;
	GitgDiffView* _tmp0_ = NULL;
	WebKitURISchemeRequest* _tmp1_ = NULL;
	SoupURI* _tmp2_ = NULL;
#line 26 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (request != NULL, NULL);
#line 26 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_return_val_if_fail (uri != NULL, NULL);
#line 28 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = view;
#line 28 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = request;
#line 28 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = uri;
#line 28 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = (GitgDiffViewDiffViewRequestInternal*) gitg_diff_view_request_construct (object_type, _tmp0_, _tmp1_, _tmp2_);
#line 26 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return self;
#line 4143 "gitg-diff-view.c"
}


static GitgDiffViewDiffViewRequestInternal* gitg_diff_view_diff_view_request_internal_new (GitgDiffView* view, WebKitURISchemeRequest* request, SoupURI* uri) {
#line 26 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return gitg_diff_view_diff_view_request_internal_construct (GITG_DIFF_VIEW_TYPE_DIFF_VIEW_REQUEST_INTERNAL, view, request, uri);
#line 4150 "gitg-diff-view.c"
}


static gboolean __lambda50_ (GitgDiffViewDiffViewRequestInternal* self) {
	gboolean result = FALSE;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	GQuark _tmp3_ = 0U;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp2_label0 = 0;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp2_label1 = 0;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp2_label2 = 0;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp2_label3 = 0;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	static GQuark _tmp2_label4 = 0;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gitg_diff_view_request_parameter ((GitgDiffViewRequest*) self, "action");
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = _tmp0_;
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_free (_tmp1_);
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("selection-changed")))) {
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 4181 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp4_ = NULL;
				gchar* _tmp5_ = NULL;
				gchar* _tmp6_ = NULL;
#line 37 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp4_ = ((GitgDiffViewRequest*) self)->d_view;
#line 37 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp5_ = gitg_diff_view_request_parameter ((GitgDiffViewRequest*) self, "value");
#line 37 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp6_ = _tmp5_;
#line 37 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				gitg_diff_view_update_has_selection (_tmp4_, g_strcmp0 (_tmp6_, "yes") == 0);
#line 37 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (_tmp6_);
#line 38 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				break;
#line 4199 "gitg-diff-view.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("loaded")))) {
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 4205 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp7_ = NULL;
#line 40 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp7_ = ((GitgDiffViewRequest*) self)->d_view;
#line 40 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				gitg_diff_view_loaded (_tmp7_);
#line 41 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				break;
#line 4215 "gitg-diff-view.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("load-parent")))) {
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 4221 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp8_ = NULL;
				gchar* _tmp9_ = NULL;
				gchar* _tmp10_ = NULL;
#line 43 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp8_ = ((GitgDiffViewRequest*) self)->d_view;
#line 43 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp9_ = gitg_diff_view_request_parameter ((GitgDiffViewRequest*) self, "value");
#line 43 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp10_ = _tmp9_;
#line 43 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				gitg_diff_view_load_parent (_tmp8_, _tmp10_);
#line 43 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (_tmp10_);
#line 44 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				break;
#line 4239 "gitg-diff-view.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("select-parent")))) {
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 4245 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp11_ = NULL;
				gchar* _tmp12_ = NULL;
				gchar* _tmp13_ = NULL;
#line 46 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp11_ = ((GitgDiffViewRequest*) self)->d_view;
#line 46 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp12_ = gitg_diff_view_request_parameter ((GitgDiffViewRequest*) self, "value");
#line 46 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp13_ = _tmp12_;
#line 46 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				gitg_diff_view_select_parent (_tmp11_, _tmp13_);
#line 46 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (_tmp13_);
#line 47 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				break;
#line 4263 "gitg-diff-view.c"
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("open-url")))) {
#line 34 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		switch (0) {
#line 4269 "gitg-diff-view.c"
			default:
			{
				GitgDiffView* _tmp14_ = NULL;
				gchar* _tmp15_ = NULL;
				gchar* _tmp16_ = NULL;
#line 49 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp14_ = ((GitgDiffViewRequest*) self)->d_view;
#line 49 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp15_ = gitg_diff_view_request_parameter ((GitgDiffViewRequest*) self, "url");
#line 49 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_tmp16_ = _tmp15_;
#line 49 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				gitg_diff_view_open_url (_tmp14_, _tmp16_);
#line 49 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				_g_free0 (_tmp16_);
#line 50 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
				break;
#line 4287 "gitg-diff-view.c"
			}
		}
	}
#line 53 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = FALSE;
#line 53 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 4295 "gitg-diff-view.c"
}


static gboolean ___lambda50__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda50_ ((GitgDiffViewDiffViewRequestInternal*) self);
#line 33 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 4304 "gitg-diff-view.c"
}


static GInputStream* gitg_diff_view_diff_view_request_internal_real_run_async (GitgDiffViewRequest* base, GCancellable* cancellable, GError** error) {
	GitgDiffViewDiffViewRequestInternal * self;
	GInputStream* result = NULL;
#line 31 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = (GitgDiffViewDiffViewRequestInternal*) base;
#line 33 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ___lambda50__gsource_func, gitg_diff_view_request_ref (self), gitg_diff_view_request_unref);
#line 56 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	result = NULL;
#line 56 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	return result;
#line 4319 "gitg-diff-view.c"
}


static void gitg_diff_view_diff_view_request_internal_class_init (GitgDiffViewDiffViewRequestInternalClass * klass) {
#line 24 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_diff_view_request_internal_parent_class = g_type_class_peek_parent (klass);
#line 24 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	((GitgDiffViewRequestClass *) klass)->run_async = gitg_diff_view_diff_view_request_internal_real_run_async;
#line 4328 "gitg-diff-view.c"
}


static void gitg_diff_view_diff_view_request_internal_instance_init (GitgDiffViewDiffViewRequestInternal * self) {
}


static GType gitg_diff_view_diff_view_request_internal_get_type (void) {
	static volatile gsize gitg_diff_view_diff_view_request_internal_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_view_diff_view_request_internal_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgDiffViewDiffViewRequestInternalClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_diff_view_diff_view_request_internal_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgDiffViewDiffViewRequestInternal), 0, (GInstanceInitFunc) gitg_diff_view_diff_view_request_internal_instance_init, NULL };
		GType gitg_diff_view_diff_view_request_internal_type_id;
		gitg_diff_view_diff_view_request_internal_type_id = g_type_register_static (GITG_TYPE_DIFF_VIEW_REQUEST, "GitgDiffViewDiffViewRequestInternal", &g_define_type_info, 0);
		g_once_init_leave (&gitg_diff_view_diff_view_request_internal_type_id__volatile, gitg_diff_view_diff_view_request_internal_type_id);
	}
	return gitg_diff_view_diff_view_request_internal_type_id__volatile;
}


static void gitg_diff_view_class_init (GitgDiffViewClass * klass) {
	GeeHashMap* _tmp0_ = NULL;
	WebKitWebContext* context = NULL;
	WebKitWebContext* _tmp1_ = NULL;
	WebKitWebContext* _tmp2_ = NULL;
	WebKitWebContext* _tmp3_ = NULL;
	WebKitWebContext* _tmp4_ = NULL;
	WebKitWebContext* _tmp5_ = NULL;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_parent_class = g_type_class_peek_parent (klass);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_type_class_add_private (klass, sizeof (GitgDiffViewPrivate));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	((GObjectClass *) klass)->constructed = gitg_diff_view_real_constructed;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	((WebKitWebViewClass *) klass)->context_menu = gitg_diff_view_real_context_menu;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	((GitgDiffViewClass *) klass)->options_changed = gitg_diff_view_real_options_changed;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_gitg_diff_view_get_property;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_gitg_diff_view_set_property;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	G_OBJECT_CLASS (klass)->finalize = gitg_diff_view_finalize;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_CUSTOM_CSS, g_param_spec_object ("custom-css", "custom-css", "custom-css", G_TYPE_FILE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_CUSTOM_JS, g_param_spec_object ("custom-js", "custom-js", "custom-js", G_TYPE_FILE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_OPTIONS, g_param_spec_object ("options", "options", "options", ggit_diff_options_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_HAS_SELECTION, g_param_spec_boolean ("has-selection", "has-selection", "has-selection", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_DIFF, g_param_spec_object ("diff", "diff", "diff", ggit_diff_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_COMMIT, g_param_spec_object ("commit", "commit", "commit", GITG_TYPE_COMMIT, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_WRAP, g_param_spec_boolean ("wrap", "wrap", "wrap", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_STAGED, g_param_spec_boolean ("staged", "staged", "staged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_UNSTAGED, g_param_spec_boolean ("unstaged", "unstaged", "unstaged", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_SHOW_PARENTS, g_param_spec_boolean ("show-parents", "show-parents", "show-parents", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_DEFAULT_COLLAPSE_ALL, g_param_spec_boolean ("default-collapse-all", "default-collapse-all", "default-collapse-all", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_USE_GRAVATAR, g_param_spec_boolean ("use-gravatar", "use-gravatar", "use-gravatar", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_TAB_WIDTH, g_param_spec_int ("tab-width", "tab-width", "tab-width", G_MININT, G_MAXINT, 4, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_IGNORE_WHITESPACE, g_param_spec_boolean ("ignore-whitespace", "ignore-whitespace", "ignore-whitespace", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_CHANGES_INLINE, g_param_spec_boolean ("changes-inline", "changes-inline", "changes-inline", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), GITG_DIFF_VIEW_CONTEXT_LINES, g_param_spec_int ("context-lines", "context-lines", "context-lines", G_MININT, G_MAXINT, 3, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_signal_new ("request_select_commit", GITG_TYPE_DIFF_VIEW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	g_signal_new ("options_changed", GITG_TYPE_DIFF_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GitgDiffViewClass, options_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 240 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GITG_TYPE_DIFF_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 240 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (gitg_diff_view_s_diff_map);
#line 240 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	gitg_diff_view_s_diff_map = _tmp0_;
#line 242 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp1_ = webkit_web_context_get_default ();
#line 242 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 242 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	context = _tmp2_;
#line 244 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp3_ = context;
#line 244 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_context_register_uri_scheme (_tmp3_, "gitg-diff", _gitg_diff_view_gitg_diff_request_web_kit_uri_scheme_request_callback, NULL, NULL);
#line 245 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp4_ = context;
#line 245 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_context_register_uri_scheme (_tmp4_, "mailto", _gitg_diff_view_gitg_diff_mailto_request_web_kit_uri_scheme_request_callback, NULL, NULL);
#line 247 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_tmp5_ = context;
#line 247 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	webkit_web_context_set_cache_model (_tmp5_, WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
#line 238 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (context);
#line 4434 "gitg-diff-view.c"
}


static void gitg_diff_view_instance_init (GitgDiffView * self) {
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv = GITG_DIFF_VIEW_GET_PRIVATE (self);
#line 134 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_wrap = TRUE;
#line 135 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_staged = FALSE;
#line 136 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_unstaged = FALSE;
#line 137 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_show_parents = FALSE;
#line 138 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self->priv->_default_collapse_all = TRUE;
#line 4451 "gitg-diff-view.c"
}


static void gitg_diff_view_finalize (GObject* obj) {
	GitgDiffView * self;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GITG_TYPE_DIFF_VIEW, GitgDiffView);
#line 62 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_diff);
#line 63 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_commit);
#line 64 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_fontsettings);
#line 66 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_options);
#line 67 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_free0 (self->priv->d_parent);
#line 72 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->_custom_css);
#line 73 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->_custom_js);
#line 101 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	_g_object_unref0 (self->priv->d_cancellable);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	G_OBJECT_CLASS (gitg_diff_view_parent_class)->finalize (obj);
#line 4477 "gitg-diff-view.c"
}


GType gitg_diff_view_get_type (void) {
	static volatile gsize gitg_diff_view_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_view_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgDiffViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gitg_diff_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GitgDiffView), 0, (GInstanceInitFunc) gitg_diff_view_instance_init, NULL };
		GType gitg_diff_view_type_id;
		gitg_diff_view_type_id = g_type_register_static (webkit_web_view_get_type (), "GitgDiffView", &g_define_type_info, 0);
		g_once_init_leave (&gitg_diff_view_type_id__volatile, gitg_diff_view_type_id);
	}
	return gitg_diff_view_type_id__volatile;
}


static void _vala_gitg_diff_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GitgDiffView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_DIFF_VIEW, GitgDiffView);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	switch (property_id) {
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CUSTOM_CSS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_object (value, gitg_diff_view_get_custom_css (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CUSTOM_JS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_object (value, gitg_diff_view_get_custom_js (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_OPTIONS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_object (value, gitg_diff_view_get_options (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_HAS_SELECTION:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_has_selection (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_DIFF:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_object (value, gitg_diff_view_get_diff (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_COMMIT:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_object (value, gitg_diff_view_get_commit (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_WRAP:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_wrap (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_STAGED:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_staged (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_UNSTAGED:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_unstaged (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_SHOW_PARENTS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_show_parents (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_DEFAULT_COLLAPSE_ALL:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_default_collapse_all (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_USE_GRAVATAR:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_use_gravatar (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_TAB_WIDTH:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_int (value, gitg_diff_view_get_tab_width (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_IGNORE_WHITESPACE:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_ignore_whitespace (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CHANGES_INLINE:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_boolean (value, gitg_diff_view_get_changes_inline (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CONTEXT_LINES:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		g_value_set_int (value, gitg_diff_view_get_context_lines (self));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 4594 "gitg-diff-view.c"
		default:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 4600 "gitg-diff-view.c"
	}
}


static void _vala_gitg_diff_view_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GitgDiffView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GITG_TYPE_DIFF_VIEW, GitgDiffView);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
	switch (property_id) {
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CUSTOM_CSS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_custom_css (self, g_value_get_object (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CUSTOM_JS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_custom_js (self, g_value_get_object (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_DIFF:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_diff (self, g_value_get_object (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_COMMIT:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_commit (self, g_value_get_object (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_WRAP:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_wrap (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_STAGED:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_staged (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_UNSTAGED:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_unstaged (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_SHOW_PARENTS:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_show_parents (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_DEFAULT_COLLAPSE_ALL:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_default_collapse_all (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_USE_GRAVATAR:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_use_gravatar (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_TAB_WIDTH:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_tab_width (self, g_value_get_int (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_IGNORE_WHITESPACE:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_ignore_whitespace (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CHANGES_INLINE:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_changes_inline (self, g_value_get_boolean (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		case GITG_DIFF_VIEW_CONTEXT_LINES:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		gitg_diff_view_set_context_lines (self, g_value_get_int (value));
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 4694 "gitg-diff-view.c"
		default:
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 22 "/home/jesse/devel/gitg/libgitg/gitg-diff-view.vala"
		break;
#line 4700 "gitg-diff-view.c"
	}
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



