/* edsf-persona.c generated by valac 0.17.6.5-65f99, the Vala compiler
 * generated from edsf-persona.vala, do not modify */

/*
 * Copyright (C) 2011 Collabora Ltd.
 *
 * This library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * This library 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *       Travis Reitter <travis.reitter@collabora.co.uk>
 *       Marco Barisione <marco.barisione@collabora.co.uk>
 *       Raul Gutierrez Segales <raul.gutierrez.segales@collabora.co.uk>
 */

#include <glib.h>
#include <glib-object.h>
#include <folks/folks.h>
#include <libebook/libebook.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <folks-internal.h>


#define EDSF_TYPE_PERSONA (edsf_persona_get_type ())
#define EDSF_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDSF_TYPE_PERSONA, EdsfPersona))
#define EDSF_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDSF_TYPE_PERSONA, EdsfPersonaClass))
#define EDSF_IS_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDSF_TYPE_PERSONA))
#define EDSF_IS_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDSF_TYPE_PERSONA))
#define EDSF_PERSONA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDSF_TYPE_PERSONA, EdsfPersonaClass))

typedef struct _EdsfPersona EdsfPersona;
typedef struct _EdsfPersonaClass EdsfPersonaClass;
typedef struct _EdsfPersonaPrivate EdsfPersonaPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

#define EDSF_PERSONA_TYPE_URL_TYPE_MAPPING (edsf_persona_url_type_mapping_get_type ())
typedef struct _EdsfPersonaUrlTypeMapping EdsfPersonaUrlTypeMapping;

#define EDSF_TYPE_PERSONA_STORE (edsf_persona_store_get_type ())
#define EDSF_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore))
#define EDSF_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStoreClass))
#define EDSF_IS_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDSF_TYPE_PERSONA_STORE))
#define EDSF_IS_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDSF_TYPE_PERSONA_STORE))
#define EDSF_PERSONA_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDSF_TYPE_PERSONA_STORE, EdsfPersonaStoreClass))

typedef struct _EdsfPersonaStore EdsfPersonaStore;
typedef struct _EdsfPersonaStoreClass EdsfPersonaStoreClass;
typedef struct _EdsfPersonaChangeWebServiceAddressesData EdsfPersonaChangeWebServiceAddressesData;
typedef struct _EdsfPersonaChangeLocalIdsData EdsfPersonaChangeLocalIdsData;
typedef struct _EdsfPersonaChangePostalAddressesData EdsfPersonaChangePostalAddressesData;
typedef struct _EdsfPersonaChangePhoneNumbersData EdsfPersonaChangePhoneNumbersData;
typedef struct _EdsfPersonaChangeEmailAddressesData EdsfPersonaChangeEmailAddressesData;
typedef struct _EdsfPersonaChangeNotesData EdsfPersonaChangeNotesData;
typedef struct _EdsfPersonaChangeAvatarData EdsfPersonaChangeAvatarData;
typedef struct _EdsfPersonaChangeStructuredNameData EdsfPersonaChangeStructuredNameData;
typedef struct _EdsfPersonaChangeFullNameData EdsfPersonaChangeFullNameData;
typedef struct _EdsfPersonaChangeNicknameData EdsfPersonaChangeNicknameData;
typedef struct _EdsfPersonaChangeGenderData EdsfPersonaChangeGenderData;
typedef struct _EdsfPersonaChangeUrlsData EdsfPersonaChangeUrlsData;
typedef struct _EdsfPersonaChangeImAddressesData EdsfPersonaChangeImAddressesData;
typedef struct _EdsfPersonaChangeGroupData EdsfPersonaChangeGroupData;
typedef struct _EdsfPersonaChangeGroupsData EdsfPersonaChangeGroupsData;
typedef struct _EdsfPersonaChangeBirthdayData EdsfPersonaChangeBirthdayData;
typedef struct _EdsfPersonaChangeRolesData EdsfPersonaChangeRolesData;
typedef struct _EdsfPersonaChangeIsFavouriteData EdsfPersonaChangeIsFavouriteData;
typedef struct _EdsfPersonaChangeAntiLinksData EdsfPersonaChangeAntiLinksData;
#define __vala_EVCardAttribute_free0(var) ((var == NULL) ? NULL : (var = (_vala_EVCardAttribute_free (var), NULL)))
#define __vala_EContactDate_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactDate_free (var), NULL)))
#define __vala_EVCardAttributeParam_free0(var) ((var == NULL) ? NULL : (var = (_vala_EVCardAttributeParam_free (var), NULL)))
#define __g_list_free___vala_EVCardAttribute_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free___vala_EVCardAttribute_free0_ (var), NULL)))
#define __vala_EContactName_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactName_free (var), NULL)))
#define __vala_EContactPhoto_free0(var) ((var == NULL) ? NULL : (var = (_vala_EContactPhoto_free (var), NULL)))

#define EDSF_TYPE_MEMORY_ICON (edsf_memory_icon_get_type ())
#define EDSF_MEMORY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDSF_TYPE_MEMORY_ICON, EdsfMemoryIcon))
#define EDSF_MEMORY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDSF_TYPE_MEMORY_ICON, EdsfMemoryIconClass))
#define EDSF_IS_MEMORY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDSF_TYPE_MEMORY_ICON))
#define EDSF_IS_MEMORY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDSF_TYPE_MEMORY_ICON))
#define EDSF_MEMORY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDSF_TYPE_MEMORY_ICON, EdsfMemoryIconClass))

typedef struct _EdsfMemoryIcon EdsfMemoryIcon;
typedef struct _EdsfMemoryIconClass EdsfMemoryIconClass;
typedef struct _Block1Data Block1Data;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
#define _t_destroy_func0(var) (((var == NULL) || (t_destroy_func == NULL)) ? NULL : (var = (t_destroy_func (var), NULL)))

struct _EdsfPersona {
	FolksPersona parent_instance;
	EdsfPersonaPrivate * priv;
};

struct _EdsfPersonaClass {
	FolksPersonaClass parent_class;
};

struct _EdsfPersonaPrivate {
	EContact* _contact;
	GeeHashMultiMap* _web_service_addresses;
	GeeHashSet* _local_ids;
	GeeSet* _local_ids_ro;
	GeeHashSet* _postal_addresses;
	GeeSet* _postal_addresses_ro;
	GeeHashSet* _phone_numbers;
	GeeSet* _phone_numbers_ro;
	GeeHashSet* _email_addresses;
	GeeSet* _email_addresses_ro;
	GeeHashSet* _notes;
	GeeSet* _notes_ro;
	GLoadableIcon* _avatar;
	FolksStructuredName* _structured_name;
	gchar* _contact_id;
	gchar* _full_name;
	gchar* _nickname;
	FolksGender _gender;
	GeeHashSet* _urls;
	GeeSet* _urls_ro;
	GeeHashMultiMap* _im_addresses;
	GeeHashSet* _groups;
	GeeSet* _groups_ro;
	GDateTime* _birthday;
	GeeHashSet* _roles;
	GeeSet* _roles_ro;
	gboolean _is_favourite;
	GeeHashSet* _anti_links;
	GeeSet* _anti_links_ro;
	gboolean _in_google_personal_group;
};

struct _EdsfPersonaUrlTypeMapping {
	gchar* vcard_field_name;
	gchar* folks_type;
};

struct _EdsfPersonaChangeWebServiceAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeMultiMap* web_service_addresses;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeMultiMap* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeLocalIdsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* local_ids;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangePostalAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* postal_addresses;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangePhoneNumbersData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* phone_numbers;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeEmailAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* email_addresses;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeNotesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* notes;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeAvatarData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GLoadableIcon* avatar;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GLoadableIcon* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeStructuredNameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	FolksStructuredName* structured_name;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	FolksStructuredName* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeFullNameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	gchar* full_name;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	const gchar* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeNicknameData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	gchar* nickname;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	const gchar* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeGenderData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	FolksGender gender;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	FolksGender _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeUrlsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* urls;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeImAddressesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeMultiMap* im_addresses;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeMultiMap* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeGroupData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	gchar* group;
	gboolean is_member;
	gboolean _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
	const gchar* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	GeeSet* _tmp10_;
	GeeSet* _tmp11_;
	const gchar* _tmp12_;
	gboolean _tmp13_;
	gboolean _tmp14_;
	gboolean _tmp15_;
	GeeHashSet* _tmp16_;
	GeeHashSet* new_groups;
	GeeSet* _tmp17_;
	GeeSet* _tmp18_;
	GeeIterator* _tmp19_;
	GeeIterator* _category_name_it;
	GeeIterator* _tmp20_;
	gboolean _tmp21_;
	GeeIterator* _tmp22_;
	gpointer _tmp23_;
	gchar* category_name;
	GeeHashSet* _tmp24_;
	const gchar* _tmp25_;
	gboolean _tmp26_;
	GeeHashSet* _tmp27_;
	const gchar* _tmp28_;
	GeeHashSet* _tmp29_;
	const gchar* _tmp30_;
	GeeHashSet* _tmp31_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeGroupsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* groups;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeBirthdayData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GDateTime* bday;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GDateTime* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeRolesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* roles;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeIsFavouriteData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	gboolean is_favourite;
	gboolean _tmp0_;
	gboolean _tmp1_;
	FolksPersonaStore* _tmp2_;
	FolksPersonaStore* _tmp3_;
	gboolean _tmp4_;
	GError * _inner_error_;
};

struct _EdsfPersonaChangeAntiLinksData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	EdsfPersona* self;
	GeeSet* anti_links;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	GeeSet* _tmp2_;
	GError * _inner_error_;
};

struct _Block1Data {
	int _ref_count_;
	EdsfPersona * self;
	FolksAvatarCache* cache;
	GLoadableIcon* new_avatar;
};


static gpointer edsf_persona_parent_class = NULL;
static GHashTable* edsf_persona__im_eds_map;
static GStaticRecMutex __lock_edsf_persona__im_eds_map = {0};
static GHashTable* edsf_persona__im_eds_map = NULL;
static GTimeZone* edsf_persona__local_time_zone;
static GTimeZone* edsf_persona__local_time_zone = NULL;
static FolksAntiLinkableIface* edsf_persona_folks_anti_linkable_parent_iface = NULL;
static FolksAvatarDetailsIface* edsf_persona_folks_avatar_details_parent_iface = NULL;
static FolksBirthdayDetailsIface* edsf_persona_folks_birthday_details_parent_iface = NULL;
static FolksEmailDetailsIface* edsf_persona_folks_email_details_parent_iface = NULL;
static FolksFavouriteDetailsIface* edsf_persona_folks_favourite_details_parent_iface = NULL;
static FolksGenderDetailsIface* edsf_persona_folks_gender_details_parent_iface = NULL;
static FolksGroupDetailsIface* edsf_persona_folks_group_details_parent_iface = NULL;
static FolksImDetailsIface* edsf_persona_folks_im_details_parent_iface = NULL;
static FolksLocalIdDetailsIface* edsf_persona_folks_local_id_details_parent_iface = NULL;
static FolksNameDetailsIface* edsf_persona_folks_name_details_parent_iface = NULL;
static FolksNoteDetailsIface* edsf_persona_folks_note_details_parent_iface = NULL;
static FolksPhoneDetailsIface* edsf_persona_folks_phone_details_parent_iface = NULL;
static FolksRoleDetailsIface* edsf_persona_folks_role_details_parent_iface = NULL;
static FolksUrlDetailsIface* edsf_persona_folks_url_details_parent_iface = NULL;
static FolksPostalAddressDetailsIface* edsf_persona_folks_postal_address_details_parent_iface = NULL;
static FolksWebServiceDetailsIface* edsf_persona_folks_web_service_details_parent_iface = NULL;

GType edsf_persona_get_type (void) G_GNUC_CONST;
#define EDSF_PERSONA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDSF_TYPE_PERSONA, EdsfPersonaPrivate))
enum  {
	EDSF_PERSONA_DUMMY_PROPERTY,
	EDSF_PERSONA_CONTACT,
	EDSF_PERSONA_WEB_SERVICE_ADDRESSES,
	EDSF_PERSONA_LOCAL_IDS,
	EDSF_PERSONA_POSTAL_ADDRESSES,
	EDSF_PERSONA_PHONE_NUMBERS,
	EDSF_PERSONA_EMAIL_ADDRESSES,
	EDSF_PERSONA_NOTES,
	EDSF_PERSONA_LINKABLE_PROPERTIES,
	EDSF_PERSONA_WRITEABLE_PROPERTIES,
	EDSF_PERSONA_AVATAR,
	EDSF_PERSONA_STRUCTURED_NAME,
	EDSF_PERSONA_CONTACT_ID,
	EDSF_PERSONA_FULL_NAME,
	EDSF_PERSONA_NICKNAME,
	EDSF_PERSONA_GENDER,
	EDSF_PERSONA_URLS,
	EDSF_PERSONA_IM_ADDRESSES,
	EDSF_PERSONA_GROUPS,
	EDSF_PERSONA_CALENDAR_EVENT_ID,
	EDSF_PERSONA_BIRTHDAY,
	EDSF_PERSONA_ROLES,
	EDSF_PERSONA_IS_FAVOURITE,
	EDSF_PERSONA_ANTI_LINKS,
	EDSF_PERSONA_IN_GOOGLE_PERSONAL_GROUP
};
static GType edsf_persona_url_type_mapping_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static EdsfPersonaUrlTypeMapping* edsf_persona_url_type_mapping_dup (const EdsfPersonaUrlTypeMapping* self);
static void edsf_persona_url_type_mapping_free (EdsfPersonaUrlTypeMapping* self);
static void edsf_persona_url_type_mapping_copy (const EdsfPersonaUrlTypeMapping* self, EdsfPersonaUrlTypeMapping* dest);
static void edsf_persona_url_type_mapping_destroy (EdsfPersonaUrlTypeMapping* self);
#define EDSF_PERSONA_gender_attribute_name "X-GENDER"
#define EDSF_PERSONA_gender_male "M"
#define EDSF_PERSONA_gender_female "F"
static void edsf_persona_real_change_web_service_addresses_data_free (gpointer _data);
static void edsf_persona_real_change_web_service_addresses (FolksWebServiceDetails* base, GeeMultiMap* web_service_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_web_service_addresses_co (EdsfPersonaChangeWebServiceAddressesData* _data_);
GType edsf_persona_store_get_type (void) G_GNUC_CONST;
void _edsf_persona_store_set_web_service_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* web_service_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_web_service_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_web_service_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_local_ids_data_free (gpointer _data);
static void edsf_persona_real_change_local_ids (FolksLocalIdDetails* base, GeeSet* local_ids, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_local_ids_co (EdsfPersonaChangeLocalIdsData* _data_);
void _edsf_persona_store_set_local_ids (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* local_ids, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_local_ids_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_local_ids_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_postal_addresses_data_free (gpointer _data);
static void edsf_persona_real_change_postal_addresses (FolksPostalAddressDetails* base, GeeSet* postal_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_postal_addresses_co (EdsfPersonaChangePostalAddressesData* _data_);
void _edsf_persona_store_set_postal_addresses (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* postal_fds, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_postal_addresses_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_postal_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_phone_numbers_data_free (gpointer _data);
static void edsf_persona_real_change_phone_numbers (FolksPhoneDetails* base, GeeSet* phone_numbers, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_phone_numbers_co (EdsfPersonaChangePhoneNumbersData* _data_);
void _edsf_persona_store_set_phones (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* phones, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_phones_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_phone_numbers_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_email_addresses_data_free (gpointer _data);
static void edsf_persona_real_change_email_addresses (FolksEmailDetails* base, GeeSet* email_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_email_addresses_co (EdsfPersonaChangeEmailAddressesData* _data_);
void _edsf_persona_store_set_emails (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* emails, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_emails_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_email_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_notes_data_free (gpointer _data);
static void edsf_persona_real_change_notes (FolksNoteDetails* base, GeeSet* notes, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_notes_co (EdsfPersonaChangeNotesData* _data_);
void _edsf_persona_store_set_notes (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* notes, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_notes_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_notes_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_avatar_data_free (gpointer _data);
static void edsf_persona_real_change_avatar (FolksAvatarDetails* base, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_avatar_co (EdsfPersonaChangeAvatarData* _data_);
void _edsf_persona_store_set_avatar (EdsfPersonaStore* self, EdsfPersona* persona, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_avatar_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_structured_name_data_free (gpointer _data);
static void edsf_persona_real_change_structured_name (FolksNameDetails* base, FolksStructuredName* structured_name, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_structured_name_co (EdsfPersonaChangeStructuredNameData* _data_);
void _edsf_persona_store_set_structured_name (EdsfPersonaStore* self, EdsfPersona* persona, FolksStructuredName* sname, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_structured_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_structured_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_full_name_data_free (gpointer _data);
static void edsf_persona_real_change_full_name (FolksNameDetails* base, const gchar* full_name, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_full_name_co (EdsfPersonaChangeFullNameData* _data_);
void _edsf_persona_store_set_full_name (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* full_name, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_full_name_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_full_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_nickname_data_free (gpointer _data);
static void edsf_persona_real_change_nickname (FolksNameDetails* base, const gchar* nickname, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_nickname_co (EdsfPersonaChangeNicknameData* _data_);
void _edsf_persona_store_set_nickname (EdsfPersonaStore* self, EdsfPersona* persona, const gchar* nickname, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_nickname_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_nickname_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_gender_data_free (gpointer _data);
static void edsf_persona_real_change_gender (FolksGenderDetails* base, FolksGender gender, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_gender_co (EdsfPersonaChangeGenderData* _data_);
void _edsf_persona_store_set_gender (EdsfPersonaStore* self, EdsfPersona* persona, FolksGender gender, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_gender_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_gender_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_urls_data_free (gpointer _data);
static void edsf_persona_real_change_urls (FolksUrlDetails* base, GeeSet* urls, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_urls_co (EdsfPersonaChangeUrlsData* _data_);
void _edsf_persona_store_set_urls (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* urls, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_urls_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_urls_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_im_addresses_data_free (gpointer _data);
static void edsf_persona_real_change_im_addresses (FolksImDetails* base, GeeMultiMap* im_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_im_addresses_co (EdsfPersonaChangeImAddressesData* _data_);
void _edsf_persona_store_set_im_fds (EdsfPersonaStore* self, EdsfPersona* persona, GeeMultiMap* im_fds, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_im_fds_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_im_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_group_data_free (gpointer _data);
static void edsf_persona_real_change_group (FolksGroupDetails* base, const gchar* group, gboolean is_member, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_group_co (EdsfPersonaChangeGroupData* _data_);
static void edsf_persona_change_group_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_groups_data_free (gpointer _data);
static void edsf_persona_real_change_groups (FolksGroupDetails* base, GeeSet* groups, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_groups_co (EdsfPersonaChangeGroupsData* _data_);
void _edsf_persona_store_set_groups (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* groups, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_groups_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_groups_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_birthday_data_free (gpointer _data);
static void edsf_persona_real_change_birthday (FolksBirthdayDetails* base, GDateTime* bday, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_birthday_co (EdsfPersonaChangeBirthdayData* _data_);
void _edsf_persona_store_set_birthday (EdsfPersonaStore* self, EdsfPersona* persona, GDateTime* bday, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_birthday_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_birthday_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_roles_data_free (gpointer _data);
static void edsf_persona_real_change_roles (FolksRoleDetails* base, GeeSet* roles, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_roles_co (EdsfPersonaChangeRolesData* _data_);
void _edsf_persona_store_set_roles (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* roles, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_roles_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_roles_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_is_favourite_data_free (gpointer _data);
static void edsf_persona_real_change_is_favourite (FolksFavouriteDetails* base, gboolean is_favourite, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_is_favourite_co (EdsfPersonaChangeIsFavouriteData* _data_);
void _edsf_persona_store_set_is_favourite (EdsfPersonaStore* self, EdsfPersona* persona, gboolean is_favourite, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_is_favourite_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_is_favourite_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void edsf_persona_real_change_anti_links_data_free (gpointer _data);
static void edsf_persona_real_change_anti_links (FolksAntiLinkable* base, GeeSet* anti_links, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean edsf_persona_real_change_anti_links_co (EdsfPersonaChangeAntiLinksData* _data_);
void _edsf_persona_store_set_anti_links (EdsfPersonaStore* self, EdsfPersona* persona, GeeSet* anti_links, GAsyncReadyCallback _callback_, gpointer _user_data_);
void _edsf_persona_store_set_anti_links_finish (EdsfPersonaStore* self, GAsyncResult* _res_, GError** error);
static void edsf_persona_change_anti_links_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gchar* edsf_persona_build_iid_from_contact (const gchar* store_id, EContact* contact);
gpointer _edsf_persona_get_property_from_contact (GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, EContact* contact, const gchar* prop_name);
gchar* edsf_persona_build_iid (const gchar* store_id, const gchar* contact_id);
EdsfPersona* edsf_persona_new (EdsfPersonaStore* store, EContact* contact);
EdsfPersona* edsf_persona_construct (GType object_type, EdsfPersonaStore* store, EContact* contact);
static void edsf_persona_real_linkable_property_to_links (FolksPersona* base, const gchar* prop_name, FolksPersonaLinkablePropertyCallback callback, void* callback_target);
void _edsf_persona_update (EdsfPersona* self, EContact* updated_contact);
static void _edsf_persona_update_names (EdsfPersona* self);
static void _edsf_persona_update_avatar (EdsfPersona* self);
static void _edsf_persona_update_urls (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_phones (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_addresses (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_emails (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_im_addresses (EdsfPersona* self);
static void _edsf_persona_update_groups (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_notes (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_local_ids (EdsfPersona* self);
static void _edsf_persona_update_web_services_addresses (EdsfPersona* self);
static void _edsf_persona_update_gender (EdsfPersona* self);
static void _edsf_persona_update_birthday (EdsfPersona* self);
static void _edsf_persona_update_roles (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification);
static void _edsf_persona_update_favourite (EdsfPersona* self);
static void _edsf_persona_update_anti_links (EdsfPersona* self);
static void _edsf_persona_update_params (EdsfPersona* self, FolksAbstractFieldDetails* details, EVCardAttribute* attr);
EContact* edsf_persona_get_contact (EdsfPersona* self);
static EVCardAttribute* _vala_EVCardAttribute_copy (EVCardAttribute* self);
static void _vala_EVCardAttribute_free (EVCardAttribute* self);
static gpointer _edsf_persona_get_property (EdsfPersona* self, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, const gchar* prop_name);
static EContactDate* _vala_EContactDate_copy (EContactDate* self);
static void _vala_EContactDate_free (EContactDate* self);
static FolksRoleFieldDetails* _edsf_persona_get_default_role (EdsfPersona* self);
static EVCardAttributeParam* _vala_EVCardAttributeParam_copy (EVCardAttributeParam* self);
static void _vala_EVCardAttributeParam_free (EVCardAttributeParam* self);
static void __vala_EVCardAttribute_free0_ (gpointer var);
static void _g_list_free___vala_EVCardAttribute_free0_ (GList* self);
static EContactName* _vala_EContactName_copy (EContactName* self);
static void _vala_EContactName_free (EContactName* self);
static GLoadableIcon* _edsf_persona_contact_photo_to_loadable_icon (EdsfPersona* self, EContactPhoto* _p);
static EContactPhoto* _vala_EContactPhoto_copy (EContactPhoto* self);
static void _vala_EContactPhoto_free (EContactPhoto* self);
static guint8* _vala_array_dup1 (guint8* self, int length);
EdsfMemoryIcon* edsf_memory_icon_new (const gchar* image_type, guint8* image_data, int image_data_length1);
EdsfMemoryIcon* edsf_memory_icon_construct (GType object_type, const gchar* image_type, guint8* image_data, int image_data_length1);
GType edsf_memory_icon_get_type (void) G_GNUC_CONST;
static Block1Data* block1_data_ref (Block1Data* _data1_);
static void block1_data_unref (void * _userdata_);
static void ___lambda4_ (Block1Data* _data1_, GObject* obj, GAsyncResult* res);
static void ____lambda4__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
static void ____lambda5_ (Block1Data* _data1_, GObject* obj, GAsyncResult* res);
static void _____lambda5__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
GHashTable* _edsf_persona_get_im_eds_map (void);
static gchar* _edsf_persona_im_proto_from_addr (EdsfPersona* self, const gchar* addr);
gboolean _edsf_persona_store_is_google_contacts_address_book (EdsfPersonaStore* self);
#define EDSF_PERSONA_STORE_android_favourite_group_name "Starred in Android"
static void _g_free0_ (gpointer var);
static void _g_list_free__g_free0_ (GList* self);
static FolksPostalAddress* _edsf_persona_postal_address_from_attribute (EdsfPersona* self, EVCardAttribute* attr);
#define EDSF_PERSONA_STORE_anti_links_attribute_name "X-FOLKS-ANTI-LINKS"
static void edsf_persona_set_contact (EdsfPersona* self, EContact* value);
const gchar* edsf_persona_get_contact_id (EdsfPersona* self);
static void edsf_persona_set_contact_id (EdsfPersona* self, const gchar* value);
gboolean edsf_persona_get_in_google_personal_group (EdsfPersona* self);
static GObject * edsf_persona_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void edsf_persona_finalize (GObject* obj);
static void _vala_edsf_persona_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_edsf_persona_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);

const gchar* EDSF_PERSONA_phone_fields[12] = {"assistant_phone", "business_phone", "business_phone_2", "callback_phone", "car_phone", "company_phone", "home_phone", "home_phone_2", "isdn_phone", "mobile_phone", "other_phone", "primary_phone"};
const gchar* EDSF_PERSONA_address_fields[3] = {"address_home", "address_other", "address_work"};
const gchar* EDSF_PERSONA_email_fields[4] = {"email_1", "email_2", "email_3", "email_4"};
const gchar* EDSF_PERSONA_url_properties[4] = {"blog_url", "fburl", "homepage_url", "video_url"};
const EdsfPersonaUrlTypeMapping EDSF_PERSONA__url_properties[4] = {{"homepage_url", FOLKS_URL_FIELD_DETAILS_PARAM_TYPE_HOME_PAGE}, {"blog_url", FOLKS_URL_FIELD_DETAILS_PARAM_TYPE_BLOG}, {"fburl", "x-free-busy"}, {"video_url", "x-video"}};
static const gchar* EDSF_PERSONA__linkable_properties[3] = {"im-addresses", "local-ids", "web-service-addresses"};

static void edsf_persona_real_change_web_service_addresses_data_free (gpointer _data) {
	EdsfPersonaChangeWebServiceAddressesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->web_service_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeWebServiceAddressesData, _data_);
#line 702 "edsf-persona.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? g_object_ref (self) : NULL;
#line 709 "edsf-persona.c"
}


static void edsf_persona_real_change_web_service_addresses (FolksWebServiceDetails* base, GeeMultiMap* web_service_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeWebServiceAddressesData* _data_;
	EdsfPersona* _tmp0_;
	GeeMultiMap* _tmp1_;
	GeeMultiMap* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeWebServiceAddressesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_web_service_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_web_service_addresses_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = web_service_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->web_service_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->web_service_addresses = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_web_service_addresses_co (_data_);
#line 741 "edsf-persona.c"
}


static void edsf_persona_real_change_web_service_addresses_finish (FolksWebServiceDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeWebServiceAddressesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 751 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 755 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_web_service_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeWebServiceAddressesData* _data_;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_web_service_addresses_co (_data_);
#line 774 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_web_service_addresses_co (EdsfPersonaChangeWebServiceAddressesData* _data_) {
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 783 "edsf-persona.c"
		goto _state_0;
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 787 "edsf-persona.c"
		goto _state_1;
		default:
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 792 "edsf-persona.c"
	}
	_state_0:
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->web_service_addresses;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_web_service_addresses (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_web_service_addresses_ready, _data_);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 807 "edsf-persona.c"
	_state_1:
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_web_service_addresses_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 823 "edsf-persona.c"
			} else {
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 827 "edsf-persona.c"
			}
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 833 "edsf-persona.c"
		} else {
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 189 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 841 "edsf-persona.c"
		}
	}
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 848 "edsf-persona.c"
	} else {
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 852 "edsf-persona.c"
	}
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 185 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 858 "edsf-persona.c"
}


static void edsf_persona_real_change_local_ids_data_free (gpointer _data) {
	EdsfPersonaChangeLocalIdsData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->local_ids);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeLocalIdsData, _data_);
#line 871 "edsf-persona.c"
}


static void edsf_persona_real_change_local_ids (FolksLocalIdDetails* base, GeeSet* local_ids, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeLocalIdsData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeLocalIdsData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_local_ids);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_local_ids_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = local_ids;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->local_ids);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->local_ids = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_local_ids_co (_data_);
#line 903 "edsf-persona.c"
}


static void edsf_persona_real_change_local_ids_finish (FolksLocalIdDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeLocalIdsData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 913 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 917 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_local_ids_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeLocalIdsData* _data_;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_local_ids_co (_data_);
#line 936 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_local_ids_co (EdsfPersonaChangeLocalIdsData* _data_) {
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 945 "edsf-persona.c"
		goto _state_0;
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 949 "edsf-persona.c"
		goto _state_1;
		default:
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 954 "edsf-persona.c"
	}
	_state_0:
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->local_ids;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_local_ids (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_local_ids_ready, _data_);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 969 "edsf-persona.c"
	_state_1:
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_local_ids_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 985 "edsf-persona.c"
			} else {
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 989 "edsf-persona.c"
			}
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 995 "edsf-persona.c"
		} else {
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 223 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1003 "edsf-persona.c"
		}
	}
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1010 "edsf-persona.c"
	} else {
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1014 "edsf-persona.c"
	}
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 220 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1020 "edsf-persona.c"
}


static void edsf_persona_real_change_postal_addresses_data_free (gpointer _data) {
	EdsfPersonaChangePostalAddressesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->postal_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangePostalAddressesData, _data_);
#line 1033 "edsf-persona.c"
}


static void edsf_persona_real_change_postal_addresses (FolksPostalAddressDetails* base, GeeSet* postal_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangePostalAddressesData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangePostalAddressesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_postal_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_postal_addresses_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = postal_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->postal_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->postal_addresses = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_postal_addresses_co (_data_);
#line 1065 "edsf-persona.c"
}


static void edsf_persona_real_change_postal_addresses_finish (FolksPostalAddressDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangePostalAddressesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1075 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1079 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_postal_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangePostalAddressesData* _data_;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_postal_addresses_co (_data_);
#line 1098 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_postal_addresses_co (EdsfPersonaChangePostalAddressesData* _data_) {
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1107 "edsf-persona.c"
		goto _state_0;
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1111 "edsf-persona.c"
		goto _state_1;
		default:
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1116 "edsf-persona.c"
	}
	_state_0:
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->postal_addresses;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_postal_addresses (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_postal_addresses_ready, _data_);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1131 "edsf-persona.c"
	_state_1:
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_postal_addresses_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1147 "edsf-persona.c"
			} else {
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1151 "edsf-persona.c"
			}
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1157 "edsf-persona.c"
		} else {
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1165 "edsf-persona.c"
		}
	}
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1172 "edsf-persona.c"
	} else {
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1176 "edsf-persona.c"
	}
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 252 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1182 "edsf-persona.c"
}


static void edsf_persona_real_change_phone_numbers_data_free (gpointer _data) {
	EdsfPersonaChangePhoneNumbersData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->phone_numbers);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangePhoneNumbersData, _data_);
#line 1195 "edsf-persona.c"
}


static void edsf_persona_real_change_phone_numbers (FolksPhoneDetails* base, GeeSet* phone_numbers, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangePhoneNumbersData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangePhoneNumbersData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_phone_numbers);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_phone_numbers_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = phone_numbers;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->phone_numbers);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->phone_numbers = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_phone_numbers_co (_data_);
#line 1227 "edsf-persona.c"
}


static void edsf_persona_real_change_phone_numbers_finish (FolksPhoneDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangePhoneNumbersData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1237 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1241 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_phone_numbers_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangePhoneNumbersData* _data_;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_phone_numbers_co (_data_);
#line 1260 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_phone_numbers_co (EdsfPersonaChangePhoneNumbersData* _data_) {
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1269 "edsf-persona.c"
		goto _state_0;
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1273 "edsf-persona.c"
		goto _state_1;
		default:
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1278 "edsf-persona.c"
	}
	_state_0:
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->phone_numbers;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_phones (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_phone_numbers_ready, _data_);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1293 "edsf-persona.c"
	_state_1:
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_phones_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1309 "edsf-persona.c"
			} else {
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1313 "edsf-persona.c"
			}
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1319 "edsf-persona.c"
		} else {
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1327 "edsf-persona.c"
		}
	}
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1334 "edsf-persona.c"
	} else {
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1338 "edsf-persona.c"
	}
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1344 "edsf-persona.c"
}


static void edsf_persona_real_change_email_addresses_data_free (gpointer _data) {
	EdsfPersonaChangeEmailAddressesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->email_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeEmailAddressesData, _data_);
#line 1357 "edsf-persona.c"
}


static void edsf_persona_real_change_email_addresses (FolksEmailDetails* base, GeeSet* email_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeEmailAddressesData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeEmailAddressesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_email_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_email_addresses_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = email_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->email_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->email_addresses = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_email_addresses_co (_data_);
#line 1389 "edsf-persona.c"
}


static void edsf_persona_real_change_email_addresses_finish (FolksEmailDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeEmailAddressesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1399 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1403 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_email_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeEmailAddressesData* _data_;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_email_addresses_co (_data_);
#line 1422 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_email_addresses_co (EdsfPersonaChangeEmailAddressesData* _data_) {
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1431 "edsf-persona.c"
		goto _state_0;
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1435 "edsf-persona.c"
		goto _state_1;
		default:
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1440 "edsf-persona.c"
	}
	_state_0:
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->email_addresses;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_emails (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_email_addresses_ready, _data_);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1455 "edsf-persona.c"
	_state_1:
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_emails_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1471 "edsf-persona.c"
			} else {
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1475 "edsf-persona.c"
			}
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1481 "edsf-persona.c"
		} else {
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1489 "edsf-persona.c"
		}
	}
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1496 "edsf-persona.c"
	} else {
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1500 "edsf-persona.c"
	}
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 313 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1506 "edsf-persona.c"
}


static void edsf_persona_real_change_notes_data_free (gpointer _data) {
	EdsfPersonaChangeNotesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->notes);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeNotesData, _data_);
#line 1519 "edsf-persona.c"
}


static void edsf_persona_real_change_notes (FolksNoteDetails* base, GeeSet* notes, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeNotesData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeNotesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_notes);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_notes_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = notes;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->notes);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->notes = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_notes_co (_data_);
#line 1551 "edsf-persona.c"
}


static void edsf_persona_real_change_notes_finish (FolksNoteDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeNotesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1561 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1565 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_notes_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeNotesData* _data_;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_notes_co (_data_);
#line 1584 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_notes_co (EdsfPersonaChangeNotesData* _data_) {
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1593 "edsf-persona.c"
		goto _state_0;
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1597 "edsf-persona.c"
		goto _state_1;
		default:
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1602 "edsf-persona.c"
	}
	_state_0:
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->notes;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_notes (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_notes_ready, _data_);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1617 "edsf-persona.c"
	_state_1:
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_notes_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1633 "edsf-persona.c"
			} else {
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1637 "edsf-persona.c"
			}
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1643 "edsf-persona.c"
		} else {
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1651 "edsf-persona.c"
		}
	}
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1658 "edsf-persona.c"
	} else {
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1662 "edsf-persona.c"
	}
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 344 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1668 "edsf-persona.c"
}


static void edsf_persona_real_change_avatar_data_free (gpointer _data) {
	EdsfPersonaChangeAvatarData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->avatar);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeAvatarData, _data_);
#line 1681 "edsf-persona.c"
}


static void edsf_persona_real_change_avatar (FolksAvatarDetails* base, GLoadableIcon* avatar, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeAvatarData* _data_;
	EdsfPersona* _tmp0_;
	GLoadableIcon* _tmp1_;
	GLoadableIcon* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeAvatarData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_avatar);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_avatar_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = avatar;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->avatar);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->avatar = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_avatar_co (_data_);
#line 1713 "edsf-persona.c"
}


static void edsf_persona_real_change_avatar_finish (FolksAvatarDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeAvatarData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1723 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1727 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_avatar_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeAvatarData* _data_;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_avatar_co (_data_);
#line 1746 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_avatar_co (EdsfPersonaChangeAvatarData* _data_) {
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1755 "edsf-persona.c"
		goto _state_0;
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1759 "edsf-persona.c"
		goto _state_1;
		default:
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1764 "edsf-persona.c"
	}
	_state_0:
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->avatar;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_avatar (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_avatar_ready, _data_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1779 "edsf-persona.c"
	_state_1:
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_avatar_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1795 "edsf-persona.c"
			} else {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1799 "edsf-persona.c"
			}
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1805 "edsf-persona.c"
		} else {
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1813 "edsf-persona.c"
		}
	}
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1820 "edsf-persona.c"
	} else {
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1824 "edsf-persona.c"
	}
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1830 "edsf-persona.c"
}


static void edsf_persona_real_change_structured_name_data_free (gpointer _data) {
	EdsfPersonaChangeStructuredNameData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->structured_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeStructuredNameData, _data_);
#line 1843 "edsf-persona.c"
}


static void edsf_persona_real_change_structured_name (FolksNameDetails* base, FolksStructuredName* structured_name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeStructuredNameData* _data_;
	EdsfPersona* _tmp0_;
	FolksStructuredName* _tmp1_;
	FolksStructuredName* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeStructuredNameData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_structured_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_structured_name_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = structured_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->structured_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->structured_name = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_structured_name_co (_data_);
#line 1875 "edsf-persona.c"
}


static void edsf_persona_real_change_structured_name_finish (FolksNameDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeStructuredNameData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 1885 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1889 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_structured_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeStructuredNameData* _data_;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_structured_name_co (_data_);
#line 1908 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_structured_name_co (EdsfPersonaChangeStructuredNameData* _data_) {
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 1917 "edsf-persona.c"
		goto _state_0;
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 1921 "edsf-persona.c"
		goto _state_1;
		default:
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 1926 "edsf-persona.c"
	}
	_state_0:
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->structured_name;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_structured_name (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_structured_name_ready, _data_);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1941 "edsf-persona.c"
	_state_1:
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_structured_name_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1957 "edsf-persona.c"
			} else {
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 1961 "edsf-persona.c"
			}
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1967 "edsf-persona.c"
		} else {
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 1975 "edsf-persona.c"
		}
	}
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1982 "edsf-persona.c"
	} else {
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1986 "edsf-persona.c"
	}
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 413 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 1992 "edsf-persona.c"
}


static void edsf_persona_real_change_full_name_data_free (gpointer _data) {
	EdsfPersonaChangeFullNameData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->full_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeFullNameData, _data_);
#line 2005 "edsf-persona.c"
}


static void edsf_persona_real_change_full_name (FolksNameDetails* base, const gchar* full_name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeFullNameData* _data_;
	EdsfPersona* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeFullNameData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_full_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_full_name_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = full_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->full_name);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->full_name = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_full_name_co (_data_);
#line 2037 "edsf-persona.c"
}


static void edsf_persona_real_change_full_name_finish (FolksNameDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeFullNameData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2047 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2051 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_full_name_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeFullNameData* _data_;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_full_name_co (_data_);
#line 2070 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_full_name_co (EdsfPersonaChangeFullNameData* _data_) {
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2079 "edsf-persona.c"
		goto _state_0;
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2083 "edsf-persona.c"
		goto _state_1;
		default:
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2088 "edsf-persona.c"
	}
	_state_0:
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->full_name;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_full_name (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_full_name_ready, _data_);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2103 "edsf-persona.c"
	_state_1:
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_full_name_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2119 "edsf-persona.c"
			} else {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2123 "edsf-persona.c"
			}
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2129 "edsf-persona.c"
		} else {
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 447 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2137 "edsf-persona.c"
		}
	}
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2144 "edsf-persona.c"
	} else {
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2148 "edsf-persona.c"
	}
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 445 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2154 "edsf-persona.c"
}


static void edsf_persona_real_change_nickname_data_free (gpointer _data) {
	EdsfPersonaChangeNicknameData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->nickname);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeNicknameData, _data_);
#line 2167 "edsf-persona.c"
}


static void edsf_persona_real_change_nickname (FolksNameDetails* base, const gchar* nickname, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeNicknameData* _data_;
	EdsfPersona* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeNicknameData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_nickname);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_nickname_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = nickname;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->nickname);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->nickname = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_nickname_co (_data_);
#line 2199 "edsf-persona.c"
}


static void edsf_persona_real_change_nickname_finish (FolksNameDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeNicknameData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2209 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2213 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_nickname_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeNicknameData* _data_;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_nickname_co (_data_);
#line 2232 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_nickname_co (EdsfPersonaChangeNicknameData* _data_) {
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2241 "edsf-persona.c"
		goto _state_0;
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2245 "edsf-persona.c"
		goto _state_1;
		default:
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2250 "edsf-persona.c"
	}
	_state_0:
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->nickname;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_nickname (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_nickname_ready, _data_);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2265 "edsf-persona.c"
	_state_1:
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_nickname_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2281 "edsf-persona.c"
			} else {
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2285 "edsf-persona.c"
			}
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2291 "edsf-persona.c"
		} else {
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 470 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2299 "edsf-persona.c"
		}
	}
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2306 "edsf-persona.c"
	} else {
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2310 "edsf-persona.c"
	}
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2316 "edsf-persona.c"
}


static void edsf_persona_real_change_gender_data_free (gpointer _data) {
	EdsfPersonaChangeGenderData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeGenderData, _data_);
#line 2327 "edsf-persona.c"
}


static void edsf_persona_real_change_gender (FolksGenderDetails* base, FolksGender gender, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeGenderData* _data_;
	EdsfPersona* _tmp0_;
	FolksGender _tmp1_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeGenderData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_gender);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_gender_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = gender;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->gender = _tmp1_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_gender_co (_data_);
#line 2354 "edsf-persona.c"
}


static void edsf_persona_real_change_gender_finish (FolksGenderDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeGenderData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2364 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2368 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_gender_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeGenderData* _data_;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_gender_co (_data_);
#line 2387 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_gender_co (EdsfPersonaChangeGenderData* _data_) {
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2396 "edsf-persona.c"
		goto _state_0;
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2400 "edsf-persona.c"
		goto _state_1;
		default:
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2405 "edsf-persona.c"
	}
	_state_0:
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->gender;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_gender (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_gender_ready, _data_);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2420 "edsf-persona.c"
	_state_1:
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_gender_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2436 "edsf-persona.c"
			} else {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2440 "edsf-persona.c"
			}
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2446 "edsf-persona.c"
		} else {
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 493 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2454 "edsf-persona.c"
		}
	}
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2461 "edsf-persona.c"
	} else {
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2465 "edsf-persona.c"
	}
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2471 "edsf-persona.c"
}


static void edsf_persona_real_change_urls_data_free (gpointer _data) {
	EdsfPersonaChangeUrlsData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->urls);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeUrlsData, _data_);
#line 2484 "edsf-persona.c"
}


static void edsf_persona_real_change_urls (FolksUrlDetails* base, GeeSet* urls, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeUrlsData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeUrlsData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_urls);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_urls_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = urls;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->urls);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->urls = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_urls_co (_data_);
#line 2516 "edsf-persona.c"
}


static void edsf_persona_real_change_urls_finish (FolksUrlDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeUrlsData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2526 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2530 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_urls_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeUrlsData* _data_;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_urls_co (_data_);
#line 2549 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_urls_co (EdsfPersonaChangeUrlsData* _data_) {
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2558 "edsf-persona.c"
		goto _state_0;
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2562 "edsf-persona.c"
		goto _state_1;
		default:
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2567 "edsf-persona.c"
	}
	_state_0:
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->urls;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_urls (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_urls_ready, _data_);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2582 "edsf-persona.c"
	_state_1:
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_urls_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2598 "edsf-persona.c"
			} else {
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2602 "edsf-persona.c"
			}
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2608 "edsf-persona.c"
		} else {
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2616 "edsf-persona.c"
		}
	}
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2623 "edsf-persona.c"
	} else {
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2627 "edsf-persona.c"
	}
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2633 "edsf-persona.c"
}


static void edsf_persona_real_change_im_addresses_data_free (gpointer _data) {
	EdsfPersonaChangeImAddressesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->im_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeImAddressesData, _data_);
#line 2646 "edsf-persona.c"
}


static void edsf_persona_real_change_im_addresses (FolksImDetails* base, GeeMultiMap* im_addresses, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeImAddressesData* _data_;
	EdsfPersona* _tmp0_;
	GeeMultiMap* _tmp1_;
	GeeMultiMap* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeImAddressesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_im_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_im_addresses_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = im_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->im_addresses);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->im_addresses = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_im_addresses_co (_data_);
#line 2678 "edsf-persona.c"
}


static void edsf_persona_real_change_im_addresses_finish (FolksImDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeImAddressesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2688 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2692 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_im_addresses_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeImAddressesData* _data_;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_im_addresses_co (_data_);
#line 2711 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_im_addresses_co (EdsfPersonaChangeImAddressesData* _data_) {
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2720 "edsf-persona.c"
		goto _state_0;
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2724 "edsf-persona.c"
		goto _state_1;
		default:
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2729 "edsf-persona.c"
	}
	_state_0:
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->im_addresses;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_im_fds (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_im_addresses_ready, _data_);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2744 "edsf-persona.c"
	_state_1:
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_im_fds_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2760 "edsf-persona.c"
			} else {
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 2764 "edsf-persona.c"
			}
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2770 "edsf-persona.c"
		} else {
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 551 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 2778 "edsf-persona.c"
		}
	}
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2785 "edsf-persona.c"
	} else {
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2789 "edsf-persona.c"
	}
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 548 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 2795 "edsf-persona.c"
}


static void edsf_persona_real_change_group_data_free (gpointer _data) {
	EdsfPersonaChangeGroupData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->group);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeGroupData, _data_);
#line 2808 "edsf-persona.c"
}


static void edsf_persona_real_change_group (FolksGroupDetails* base, const gchar* group, gboolean is_member, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeGroupData* _data_;
	EdsfPersona* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gboolean _tmp3_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeGroupData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_group);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_group_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = group;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_data_->group);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->group = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = is_member;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->is_member = _tmp3_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_group_co (_data_);
#line 2845 "edsf-persona.c"
}


static void edsf_persona_real_change_group_finish (FolksGroupDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeGroupData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 2855 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2859 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.0
   */
static void edsf_persona_change_group_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeGroupData* _data_;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_group_co (_data_);
#line 2878 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_group_co (EdsfPersonaChangeGroupData* _data_) {
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 2887 "edsf-persona.c"
		goto _state_0;
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 2891 "edsf-persona.c"
		goto _state_1;
		default:
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 2896 "edsf-persona.c"
	}
	_state_0:
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->is_member;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_tmp2_ == TRUE) {
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp3_ = folks_group_details_get_groups ((FolksGroupDetails*) _data_->self);
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp4_ = _data_->_tmp3_;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp5_ = _data_->group;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp6_ = FALSE;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp6_ = gee_collection_contains ((GeeCollection*) _data_->_tmp4_, _data_->_tmp5_);
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp1_ = _data_->_tmp6_ == TRUE;
#line 2915 "edsf-persona.c"
	} else {
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp1_ = FALSE;
#line 2919 "edsf-persona.c"
	}
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp7_ = _data_->_tmp1_;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_tmp7_) {
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp0_ = TRUE;
#line 2927 "edsf-persona.c"
	} else {
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp9_ = _data_->is_member;
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_tmp9_ == FALSE) {
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp10_ = folks_group_details_get_groups ((FolksGroupDetails*) _data_->self);
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp11_ = _data_->_tmp10_;
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp12_ = _data_->group;
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp13_ = FALSE;
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp13_ = gee_collection_contains ((GeeCollection*) _data_->_tmp11_, _data_->_tmp12_);
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp8_ = _data_->_tmp13_ == FALSE;
#line 2945 "edsf-persona.c"
		} else {
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp8_ = FALSE;
#line 2949 "edsf-persona.c"
		}
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp14_ = _data_->_tmp8_;
#line 586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp0_ = _data_->_tmp14_;
#line 2955 "edsf-persona.c"
	}
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp15_ = _data_->_tmp0_;
#line 585 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_tmp15_) {
#line 588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_state_ == 0) {
#line 588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2965 "edsf-persona.c"
		} else {
#line 588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 2969 "edsf-persona.c"
		}
#line 588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_unref (_data_->_async_result);
#line 588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return FALSE;
#line 2975 "edsf-persona.c"
	}
#line 592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp16_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 592 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->new_groups = _data_->_tmp16_;
#line 2981 "edsf-persona.c"
	{
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp17_ = folks_group_details_get_groups ((FolksGroupDetails*) _data_->self);
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp18_ = _data_->_tmp17_;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp19_ = NULL;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp19_ = gee_iterable_iterator ((GeeIterable*) _data_->_tmp18_);
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_category_name_it = _data_->_tmp19_;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		while (TRUE) {
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp20_ = _data_->_category_name_it;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp21_ = FALSE;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp21_ = gee_iterator_next (_data_->_tmp20_);
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (!_data_->_tmp21_) {
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				break;
#line 3005 "edsf-persona.c"
			}
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp22_ = _data_->_category_name_it;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp23_ = NULL;
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp23_ = gee_iterator_get (_data_->_tmp22_);
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->category_name = (gchar*) _data_->_tmp23_;
#line 595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp24_ = _data_->new_groups;
#line 595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_->_tmp25_ = _data_->category_name;
#line 595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp24_, _data_->_tmp25_);
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (_data_->category_name);
#line 3023 "edsf-persona.c"
		}
#line 593 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_data_->_category_name_it);
#line 3027 "edsf-persona.c"
	}
#line 598 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp26_ = _data_->is_member;
#line 598 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_tmp26_ == FALSE) {
#line 600 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp27_ = _data_->new_groups;
#line 600 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp28_ = _data_->group;
#line 600 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		gee_abstract_collection_remove ((GeeAbstractCollection*) _data_->_tmp27_, _data_->_tmp28_);
#line 3039 "edsf-persona.c"
	} else {
#line 604 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp29_ = _data_->new_groups;
#line 604 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data_->_tmp30_ = _data_->group;
#line 604 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		gee_abstract_collection_add ((GeeAbstractCollection*) _data_->_tmp29_, _data_->_tmp30_);
#line 3047 "edsf-persona.c"
	}
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp31_ = _data_->new_groups;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_group_details_change_groups ((FolksGroupDetails*) _data_->self, (GeeSet*) _data_->_tmp31_, edsf_persona_change_group_ready, _data_);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3057 "edsf-persona.c"
	_state_1:
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_group_details_change_groups_finish ((FolksGroupDetails*) _data_->self, _data_->_res_, &_data_->_inner_error_);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_error_free (_data_->_inner_error_);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_data_->new_groups);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_state_ == 0) {
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3073 "edsf-persona.c"
		} else {
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 3077 "edsf-persona.c"
		}
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_unref (_data_->_async_result);
#line 607 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return FALSE;
#line 3083 "edsf-persona.c"
	}
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->new_groups);
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3091 "edsf-persona.c"
	} else {
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3095 "edsf-persona.c"
	}
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3101 "edsf-persona.c"
}


static void edsf_persona_real_change_groups_data_free (gpointer _data) {
	EdsfPersonaChangeGroupsData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->groups);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeGroupsData, _data_);
#line 3114 "edsf-persona.c"
}


static void edsf_persona_real_change_groups (FolksGroupDetails* base, GeeSet* groups, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeGroupsData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeGroupsData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_groups);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_groups_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = groups;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->groups);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->groups = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_groups_co (_data_);
#line 3146 "edsf-persona.c"
}


static void edsf_persona_real_change_groups_finish (FolksGroupDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeGroupsData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 3156 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3160 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_groups_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeGroupsData* _data_;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_groups_co (_data_);
#line 3179 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_groups_co (EdsfPersonaChangeGroupsData* _data_) {
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 3188 "edsf-persona.c"
		goto _state_0;
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 3192 "edsf-persona.c"
		goto _state_1;
		default:
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 3197 "edsf-persona.c"
	}
	_state_0:
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->groups;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_groups (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_groups_ready, _data_);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3212 "edsf-persona.c"
	_state_1:
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_groups_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3228 "edsf-persona.c"
			} else {
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3232 "edsf-persona.c"
			}
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3238 "edsf-persona.c"
		} else {
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 617 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3246 "edsf-persona.c"
		}
	}
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3253 "edsf-persona.c"
	} else {
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3257 "edsf-persona.c"
	}
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 615 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3263 "edsf-persona.c"
}


static void edsf_persona_real_change_birthday_data_free (gpointer _data) {
	EdsfPersonaChangeBirthdayData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_date_time_unref0 (_data_->bday);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeBirthdayData, _data_);
#line 3276 "edsf-persona.c"
}


static gpointer _g_date_time_ref0 (gpointer self) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? g_date_time_ref (self) : NULL;
#line 3283 "edsf-persona.c"
}


static void edsf_persona_real_change_birthday (FolksBirthdayDetails* base, GDateTime* bday, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeBirthdayData* _data_;
	EdsfPersona* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeBirthdayData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_birthday);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_birthday_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = bday;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_date_time_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_date_time_unref0 (_data_->bday);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->bday = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_birthday_co (_data_);
#line 3315 "edsf-persona.c"
}


static void edsf_persona_real_change_birthday_finish (FolksBirthdayDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeBirthdayData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 3325 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3329 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_birthday_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeBirthdayData* _data_;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_birthday_co (_data_);
#line 3348 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_birthday_co (EdsfPersonaChangeBirthdayData* _data_) {
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 3357 "edsf-persona.c"
		goto _state_0;
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 3361 "edsf-persona.c"
		goto _state_1;
		default:
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 3366 "edsf-persona.c"
	}
	_state_0:
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->bday;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_birthday (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_birthday_ready, _data_);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3381 "edsf-persona.c"
	_state_1:
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_birthday_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3397 "edsf-persona.c"
			} else {
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3401 "edsf-persona.c"
			}
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3407 "edsf-persona.c"
		} else {
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3415 "edsf-persona.c"
		}
	}
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3422 "edsf-persona.c"
	} else {
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3426 "edsf-persona.c"
	}
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 656 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3432 "edsf-persona.c"
}


static void edsf_persona_real_change_roles_data_free (gpointer _data) {
	EdsfPersonaChangeRolesData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->roles);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeRolesData, _data_);
#line 3445 "edsf-persona.c"
}


static void edsf_persona_real_change_roles (FolksRoleDetails* base, GeeSet* roles, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeRolesData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeRolesData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_roles);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_roles_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = roles;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->roles);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->roles = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_roles_co (_data_);
#line 3477 "edsf-persona.c"
}


static void edsf_persona_real_change_roles_finish (FolksRoleDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeRolesData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 3487 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3491 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.2
   */
static void edsf_persona_change_roles_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeRolesData* _data_;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_roles_co (_data_);
#line 3510 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_roles_co (EdsfPersonaChangeRolesData* _data_) {
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 3519 "edsf-persona.c"
		goto _state_0;
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 3523 "edsf-persona.c"
		goto _state_1;
		default:
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 3528 "edsf-persona.c"
	}
	_state_0:
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->roles;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_roles (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_roles_ready, _data_);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3543 "edsf-persona.c"
	_state_1:
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_roles_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3559 "edsf-persona.c"
			} else {
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3563 "edsf-persona.c"
			}
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3569 "edsf-persona.c"
		} else {
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 690 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3577 "edsf-persona.c"
		}
	}
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3584 "edsf-persona.c"
	} else {
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3588 "edsf-persona.c"
	}
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3594 "edsf-persona.c"
}


static void edsf_persona_real_change_is_favourite_data_free (gpointer _data) {
	EdsfPersonaChangeIsFavouriteData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeIsFavouriteData, _data_);
#line 3605 "edsf-persona.c"
}


static void edsf_persona_real_change_is_favourite (FolksFavouriteDetails* base, gboolean is_favourite, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeIsFavouriteData* _data_;
	EdsfPersona* _tmp0_;
	gboolean _tmp1_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeIsFavouriteData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_is_favourite);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_is_favourite_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = is_favourite;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->is_favourite = _tmp1_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_is_favourite_co (_data_);
#line 3632 "edsf-persona.c"
}


static void edsf_persona_real_change_is_favourite_finish (FolksFavouriteDetails* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeIsFavouriteData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 3642 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3646 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.5
   */
static void edsf_persona_change_is_favourite_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeIsFavouriteData* _data_;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_is_favourite_co (_data_);
#line 3665 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_is_favourite_co (EdsfPersonaChangeIsFavouriteData* _data_) {
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 3674 "edsf-persona.c"
		goto _state_0;
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 3678 "edsf-persona.c"
		goto _state_1;
		default:
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 3683 "edsf-persona.c"
	}
	_state_0:
#line 718 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = _data_->self->priv->_is_favourite;
#line 718 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->is_favourite;
#line 718 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_tmp0_ == _data_->_tmp1_) {
#line 720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_state_ == 0) {
#line 720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3696 "edsf-persona.c"
		} else {
#line 720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 3700 "edsf-persona.c"
		}
#line 720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_unref (_data_->_async_result);
#line 720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return FALSE;
#line 3706 "edsf-persona.c"
	}
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp3_ = _data_->_tmp2_;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp4_ = _data_->is_favourite;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_is_favourite (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp4_, edsf_persona_change_is_favourite_ready, _data_);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3720 "edsf-persona.c"
	_state_1:
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_is_favourite_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3736 "edsf-persona.c"
			} else {
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3740 "edsf-persona.c"
			}
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3746 "edsf-persona.c"
		} else {
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3754 "edsf-persona.c"
		}
	}
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3761 "edsf-persona.c"
	} else {
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3765 "edsf-persona.c"
	}
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 716 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3771 "edsf-persona.c"
}


static void edsf_persona_real_change_anti_links_data_free (gpointer _data) {
	EdsfPersonaChangeAntiLinksData* _data_;
	_data_ = _data;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->anti_links);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_slice_free (EdsfPersonaChangeAntiLinksData, _data_);
#line 3784 "edsf-persona.c"
}


static void edsf_persona_real_change_anti_links (FolksAntiLinkable* base, GeeSet* anti_links, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	EdsfPersona * self;
	EdsfPersonaChangeAntiLinksData* _data_;
	EdsfPersona* _tmp0_;
	GeeSet* _tmp1_;
	GeeSet* _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_slice_new0 (EdsfPersonaChangeAntiLinksData);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, edsf_persona_real_change_anti_links);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, edsf_persona_real_change_anti_links_data_free);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->self = _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = anti_links;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (_data_->anti_links);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->anti_links = _tmp2_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_anti_links_co (_data_);
#line 3816 "edsf-persona.c"
}


static void edsf_persona_real_change_anti_links_finish (FolksAntiLinkable* base, GAsyncResult* _res_, GError** error) {
	EdsfPersonaChangeAntiLinksData* _data_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 3826 "edsf-persona.c"
	}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 3830 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.7.3
   */
static void edsf_persona_change_anti_links_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	EdsfPersonaChangeAntiLinksData* _data_;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_ = _user_data_;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_source_object_ = source_object;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_res_ = _res_;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_real_change_anti_links_co (_data_);
#line 3849 "edsf-persona.c"
}


static gboolean edsf_persona_real_change_anti_links_co (EdsfPersonaChangeAntiLinksData* _data_) {
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_data_->_state_) {
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 0:
#line 3858 "edsf-persona.c"
		goto _state_0;
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case 1:
#line 3862 "edsf-persona.c"
		goto _state_1;
		default:
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_assert_not_reached ();
#line 3867 "edsf-persona.c"
	}
	_state_0:
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp0_ = folks_persona_get_store ((FolksPersona*) _data_->self);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_tmp2_ = _data_->anti_links;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data_->_state_ = 1;
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_anti_links (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->self, _data_->_tmp2_, edsf_persona_change_anti_links_ready, _data_);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3882 "edsf-persona.c"
	_state_1:
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_store_set_anti_links_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore), _data_->_res_, &_data_->_inner_error_);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_inner_error_ != NULL) {
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_data_->_inner_error_->domain == FOLKS_PROPERTY_ERROR) {
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_error_free (_data_->_inner_error_);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_data_->_state_ == 0) {
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3898 "edsf-persona.c"
			} else {
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_simple_async_result_complete (_data_->_async_result);
#line 3902 "edsf-persona.c"
			}
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_unref (_data_->_async_result);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3908 "edsf-persona.c"
		} else {
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_data_->_inner_error_);
#line 750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return FALSE;
#line 3916 "edsf-persona.c"
		}
	}
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_data_->_state_ == 0) {
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 3923 "edsf-persona.c"
	} else {
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 3927 "edsf-persona.c"
	}
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_unref (_data_->_async_result);
#line 747 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return FALSE;
#line 3933 "edsf-persona.c"
}


/**
   * Build a IID.
   *
   * @param store_id the {@link PersonaStore.id}
   * @param contact the Contact
   * @return a valid IID
   *
   * @since 0.6.0
   */
gchar* edsf_persona_build_iid_from_contact (const gchar* store_id, EContact* contact) {
	gchar* result = NULL;
	EContact* _tmp0_;
	gpointer _tmp1_ = NULL;
	gchar* contact_id;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_ = NULL;
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (store_id != NULL, NULL);
#line 780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (contact != NULL, NULL);
#line 783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = contact;
#line 783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _edsf_persona_get_property_from_contact (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp0_, "id");
#line 783 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	contact_id = (gchar*) _tmp1_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = contact_id;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = _tmp4_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5_ == NULL) {
#line 3978 "edsf-persona.c"
		gchar* _tmp6_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = g_strdup ("");
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_tmp4_);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = _tmp6_;
#line 3986 "edsf-persona.c"
	}
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = store_id;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp8_ = _tmp4_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = edsf_persona_build_iid (_tmp7_, (const gchar*) _tmp8_);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp9_;
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_tmp4_);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (contact_id);
#line 785 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 4002 "edsf-persona.c"
}


/**
   * Build a IID.
   *
   * @param store_id the {@link PersonaStore.id}
   * @param contact_id the id belonging to the Contact
   * @return a valid IID
   *
   * @since 0.6.0
   */
gchar* edsf_persona_build_iid (const gchar* store_id, const gchar* contact_id) {
	gchar* result = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_ = NULL;
#line 797 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (store_id != NULL, NULL);
#line 797 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (contact_id != NULL, NULL);
#line 799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = store_id;
#line 799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = contact_id;
#line 799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = g_strdup_printf ("%s:%s", _tmp0_, _tmp1_);
#line 799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp2_;
#line 799 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 4034 "edsf-persona.c"
}


/**
   * Create a new persona.
   *
   * Create a new persona for the {@link PersonaStore} ``store``, representing
   * the EDS contact given by ``contact``.
   *
   * @param store the store which will contain the persona
   * @param contact the EDS contact being represented by the persona
   *
   * @since 0.6.0
   */
EdsfPersona* edsf_persona_construct (GType object_type, EdsfPersonaStore* store, EContact* contact) {
	EdsfPersona * self = NULL;
	EContact* _tmp0_;
	gpointer _tmp1_ = NULL;
	gchar* _contact_id;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* contact_id;
	EdsfPersonaStore* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gchar* _tmp13_ = NULL;
	gchar* uid;
	EdsfPersonaStore* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_ = NULL;
	gchar* iid;
	EContact* _tmp19_;
	gboolean _tmp20_ = FALSE;
	gboolean is_user;
	EContact* _tmp21_;
	gpointer _tmp22_ = NULL;
	gchar* _full_name;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	gchar* full_name;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	EdsfPersonaStore* _tmp32_;
	gboolean _tmp33_;
	const gchar* _tmp34_;
	EContact* _tmp35_;
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (store != NULL, NULL);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (contact != NULL, NULL);
#line 816 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = contact;
#line 816 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _edsf_persona_get_property_from_contact (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp0_, "id");
#line 816 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_contact_id = (gchar*) _tmp1_;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _contact_id;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = _tmp4_;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5_ == NULL) {
#line 4112 "edsf-persona.c"
		gchar* _tmp6_;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = g_strdup ("");
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_tmp4_);
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = _tmp6_;
#line 4120 "edsf-persona.c"
	}
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = _tmp4_;
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp8_ = g_strdup ((const gchar*) _tmp7_);
#line 818 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	contact_id = _tmp8_;
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = store;
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = folks_persona_store_get_id ((FolksPersonaStore*) _tmp9_);
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = _tmp10_;
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = contact_id;
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = folks_persona_build_uid (BACKEND_NAME, _tmp11_, _tmp12_);
#line 820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	uid = _tmp13_;
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = store;
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = folks_persona_store_get_id ((FolksPersonaStore*) _tmp14_);
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp16_ = _tmp15_;
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = contact_id;
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp18_ = edsf_persona_build_iid (_tmp16_, _tmp17_);
#line 821 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iid = _tmp18_;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp19_ = contact;
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp20_ = e_book_client_is_self (_tmp19_);
#line 822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	is_user = _tmp20_;
#line 823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp21_ = contact;
#line 823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp22_ = _edsf_persona_get_property_from_contact (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp21_, "full_name");
#line 823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_full_name = (gchar*) _tmp22_;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp23_ = _full_name;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp24_ = g_strdup (_tmp23_);
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp25_ = _tmp24_;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp26_ = _tmp25_;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp26_ == NULL) {
#line 4174 "edsf-persona.c"
		gchar* _tmp27_;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = g_strdup ("");
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_tmp25_);
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = _tmp27_;
#line 4182 "edsf-persona.c"
	}
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp28_ = _tmp25_;
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = g_strdup ((const gchar*) _tmp28_);
#line 826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	full_name = _tmp29_;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp30_ = uid;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp31_ = iid;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp32_ = store;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp33_ = is_user;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp34_ = contact_id;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp35_ = contact;
#line 828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) g_object_new (object_type, "display-id", full_name, "uid", _tmp30_, "iid", _tmp31_, "store", _tmp32_, "is-user", _tmp33_, "contact-id", _tmp34_, "contact", _tmp35_, NULL);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (full_name);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_tmp25_);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_full_name);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (iid);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (uid);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (contact_id);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_tmp4_);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_contact_id);
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self;
#line 4222 "edsf-persona.c"
}


EdsfPersona* edsf_persona_new (EdsfPersonaStore* store, EContact* contact) {
#line 814 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return edsf_persona_construct (EDSF_TYPE_PERSONA, store, contact);
#line 4229 "edsf-persona.c"
}


/**
   * {@inheritDoc}
   *
   * @since 0.6.0
   */
static void edsf_persona_real_linkable_property_to_links (FolksPersona* base, const gchar* prop_name, FolksPersonaLinkablePropertyCallback callback, void* callback_target) {
	EdsfPersona * self;
	const gchar* _tmp0_;
#line 859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (prop_name != NULL);
#line 862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = prop_name;
#line 862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_strcmp0 (_tmp0_, "im-addresses") == 0) {
#line 4249 "edsf-persona.c"
		{
			GeeHashMultiMap* _tmp1_;
			GeeSet* _tmp2_ = NULL;
			GeeSet* _tmp3_;
			GeeIterator* _tmp4_ = NULL;
			GeeIterator* _tmp5_;
			GeeIterator* _protocol_it;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp1_ = self->priv->_im_addresses;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp2_ = gee_multi_map_get_keys ((GeeMultiMap*) _tmp1_);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp3_ = _tmp2_;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp5_ = _tmp4_;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (_tmp3_);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_protocol_it = _tmp5_;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			while (TRUE) {
#line 4273 "edsf-persona.c"
				GeeIterator* _tmp6_;
				gboolean _tmp7_ = FALSE;
				GeeIterator* _tmp8_;
				gpointer _tmp9_ = NULL;
				gchar* protocol;
				GeeHashMultiMap* _tmp10_;
				const gchar* _tmp11_;
				GeeCollection* _tmp12_ = NULL;
				GeeCollection* im_fds;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp6_ = _protocol_it;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp7_ = gee_iterator_next (_tmp6_);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (!_tmp7_) {
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					break;
#line 4291 "edsf-persona.c"
				}
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp8_ = _protocol_it;
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp9_ = gee_iterator_get (_tmp8_);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				protocol = (gchar*) _tmp9_;
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp10_ = self->priv->_im_addresses;
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp11_ = protocol;
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp12_ = gee_multi_map_get ((GeeMultiMap*) _tmp10_, _tmp11_);
#line 866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				im_fds = _tmp12_;
#line 4307 "edsf-persona.c"
				{
					GeeCollection* _tmp13_;
					GeeIterator* _tmp14_ = NULL;
					GeeIterator* _im_fd_it;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp13_ = im_fds;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp14_ = gee_iterable_iterator ((GeeIterable*) _tmp13_);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_im_fd_it = _tmp14_;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					while (TRUE) {
#line 4320 "edsf-persona.c"
						GeeIterator* _tmp15_;
						gboolean _tmp16_ = FALSE;
						GeeIterator* _tmp17_;
						gpointer _tmp18_ = NULL;
						FolksImFieldDetails* im_fd;
						FolksPersonaLinkablePropertyCallback _tmp19_;
						void* _tmp19__target;
						const gchar* _tmp20_;
						gchar* _tmp21_;
						gchar* _tmp22_;
						FolksImFieldDetails* _tmp23_;
						gconstpointer _tmp24_;
						const gchar* _tmp25_;
						gchar* _tmp26_;
						gchar* _tmp27_;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp15_ = _im_fd_it;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp16_ = gee_iterator_next (_tmp15_);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						if (!_tmp16_) {
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							break;
#line 4344 "edsf-persona.c"
						}
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp17_ = _im_fd_it;
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp18_ = gee_iterator_get (_tmp17_);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						im_fd = (FolksImFieldDetails*) _tmp18_;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp19_ = callback;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp19__target = callback_target;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp20_ = protocol;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp21_ = g_strconcat (_tmp20_, ":", NULL);
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp22_ = _tmp21_;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp23_ = im_fd;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp24_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp23_);
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp25_ = _tmp24_;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp26_ = g_strconcat (_tmp22_, (const gchar*) _tmp25_, NULL);
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp27_ = _tmp26_;
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp19_ (_tmp27_, _tmp19__target);
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (_tmp27_);
#line 869 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (_tmp22_);
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (im_fd);
#line 4380 "edsf-persona.c"
					}
#line 868 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (_im_fd_it);
#line 4384 "edsf-persona.c"
				}
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (im_fds);
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (protocol);
#line 4390 "edsf-persona.c"
			}
#line 864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (_protocol_it);
#line 4394 "edsf-persona.c"
		}
	} else {
		const gchar* _tmp28_;
#line 872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = prop_name;
#line 872 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (g_strcmp0 (_tmp28_, "local-ids") == 0) {
#line 4402 "edsf-persona.c"
			{
				GeeSet* _tmp29_;
				GeeSet* _tmp30_;
				GeeIterator* _tmp31_ = NULL;
				GeeIterator* _id_it;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp29_ = folks_local_id_details_get_local_ids ((FolksLocalIdDetails*) self);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp30_ = _tmp29_;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp31_ = gee_iterable_iterator ((GeeIterable*) _tmp30_);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_id_it = _tmp31_;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				while (TRUE) {
#line 4418 "edsf-persona.c"
					GeeIterator* _tmp32_;
					gboolean _tmp33_ = FALSE;
					GeeIterator* _tmp34_;
					gpointer _tmp35_ = NULL;
					gchar* id;
					FolksPersonaLinkablePropertyCallback _tmp36_;
					void* _tmp36__target;
					const gchar* _tmp37_;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp32_ = _id_it;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp33_ = gee_iterator_next (_tmp32_);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (!_tmp33_) {
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						break;
#line 4435 "edsf-persona.c"
					}
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp34_ = _id_it;
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp35_ = gee_iterator_get (_tmp34_);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					id = (gchar*) _tmp35_;
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp36_ = callback;
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp36__target = callback_target;
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp37_ = id;
#line 880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp36_ (_tmp37_, _tmp36__target);
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (id);
#line 4453 "edsf-persona.c"
				}
#line 878 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (_id_it);
#line 4457 "edsf-persona.c"
			}
		} else {
			const gchar* _tmp38_;
#line 883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp38_ = prop_name;
#line 883 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (g_strcmp0 (_tmp38_, "web-service-addresses") == 0) {
#line 4465 "edsf-persona.c"
				{
					GeeMultiMap* _tmp39_;
					GeeMultiMap* _tmp40_;
					GeeSet* _tmp41_ = NULL;
					GeeSet* _tmp42_;
					GeeIterator* _tmp43_ = NULL;
					GeeIterator* _tmp44_;
					GeeIterator* _web_service_it;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp39_ = folks_web_service_details_get_web_service_addresses ((FolksWebServiceDetails*) self);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp40_ = _tmp39_;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp41_ = gee_multi_map_get_keys (_tmp40_);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp42_ = _tmp41_;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp43_ = gee_iterable_iterator ((GeeIterable*) _tmp42_);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp44_ = _tmp43_;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (_tmp42_);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_web_service_it = _tmp44_;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					while (TRUE) {
#line 4492 "edsf-persona.c"
						GeeIterator* _tmp45_;
						gboolean _tmp46_ = FALSE;
						GeeIterator* _tmp47_;
						gpointer _tmp48_ = NULL;
						gchar* web_service;
						GeeHashMultiMap* _tmp49_;
						const gchar* _tmp50_;
						GeeCollection* _tmp51_ = NULL;
						GeeCollection* web_service_addresses;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp45_ = _web_service_it;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp46_ = gee_iterator_next (_tmp45_);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						if (!_tmp46_) {
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							break;
#line 4510 "edsf-persona.c"
						}
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp47_ = _web_service_it;
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp48_ = gee_iterator_get (_tmp47_);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						web_service = (gchar*) _tmp48_;
#line 887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp49_ = self->priv->_web_service_addresses;
#line 887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp50_ = web_service;
#line 887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp51_ = gee_multi_map_get ((GeeMultiMap*) _tmp49_, _tmp50_);
#line 887 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						web_service_addresses = _tmp51_;
#line 4526 "edsf-persona.c"
						{
							GeeCollection* _tmp52_;
							GeeIterator* _tmp53_ = NULL;
							GeeIterator* _ws_fd_it;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp52_ = web_service_addresses;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp53_ = gee_iterable_iterator ((GeeIterable*) _tmp52_);
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_ws_fd_it = _tmp53_;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							while (TRUE) {
#line 4539 "edsf-persona.c"
								GeeIterator* _tmp54_;
								gboolean _tmp55_ = FALSE;
								GeeIterator* _tmp56_;
								gpointer _tmp57_ = NULL;
								FolksWebServiceFieldDetails* ws_fd;
								FolksPersonaLinkablePropertyCallback _tmp58_;
								void* _tmp58__target;
								const gchar* _tmp59_;
								gchar* _tmp60_;
								gchar* _tmp61_;
								FolksWebServiceFieldDetails* _tmp62_;
								gconstpointer _tmp63_;
								const gchar* _tmp64_;
								gchar* _tmp65_;
								gchar* _tmp66_;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp54_ = _ws_fd_it;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp55_ = gee_iterator_next (_tmp54_);
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (!_tmp55_) {
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									break;
#line 4563 "edsf-persona.c"
								}
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp56_ = _ws_fd_it;
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp57_ = gee_iterator_get (_tmp56_);
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								ws_fd = (FolksWebServiceFieldDetails*) _tmp57_;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp58_ = callback;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp58__target = callback_target;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp59_ = web_service;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp60_ = g_strconcat (_tmp59_, ":", NULL);
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp61_ = _tmp60_;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp62_ = ws_fd;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp63_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp62_);
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp64_ = _tmp63_;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp65_ = g_strconcat (_tmp61_, (const gchar*) _tmp64_, NULL);
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp66_ = _tmp65_;
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp58_ (_tmp66_, _tmp58__target);
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (_tmp66_);
#line 891 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (_tmp61_);
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_object_unref0 (ws_fd);
#line 4599 "edsf-persona.c"
							}
#line 890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_g_object_unref0 (_ws_fd_it);
#line 4603 "edsf-persona.c"
						}
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (web_service_addresses);
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (web_service);
#line 4609 "edsf-persona.c"
					}
#line 885 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (_web_service_it);
#line 4613 "edsf-persona.c"
				}
			} else {
				const gchar* _tmp67_;
				FolksPersonaLinkablePropertyCallback _tmp68_;
				void* _tmp68__target;
#line 897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp67_ = prop_name;
#line 897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp68_ = callback;
#line 897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp68__target = callback_target;
#line 897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				FOLKS_PERSONA_CLASS (edsf_persona_parent_class)->linkable_property_to_links (G_TYPE_CHECK_INSTANCE_CAST (self, FOLKS_TYPE_PERSONA, FolksPersona), _tmp67_, _tmp68_, _tmp68__target);
#line 4627 "edsf-persona.c"
			}
		}
	}
}


/**
   * Update attribs of the persona.
   */
void _edsf_persona_update (EdsfPersona* self, EContact* updated_contact) {
	EContact* _tmp0_;
	EContact* _tmp1_;
#line 909 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 909 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (updated_contact != NULL);
#line 911 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_freeze_notify ((GObject*) self);
#line 915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = updated_contact;
#line 915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_contact);
#line 915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_contact = _tmp1_;
#line 916 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_notify ((GObject*) self, "contact");
#line 918 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_names (self);
#line 919 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_avatar (self);
#line 920 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_urls (self, FALSE, TRUE);
#line 921 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_phones (self, FALSE, TRUE);
#line 922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_addresses (self, FALSE, TRUE);
#line 923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_emails (self, FALSE, TRUE);
#line 929 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_im_addresses (self);
#line 931 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_groups (self, FALSE, TRUE);
#line 932 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_notes (self, FALSE, TRUE);
#line 933 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_local_ids (self);
#line 934 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_web_services_addresses (self);
#line 935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_gender (self);
#line 936 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_birthday (self);
#line 937 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_roles (self, FALSE, TRUE);
#line 938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_favourite (self);
#line 939 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_anti_links (self);
#line 941 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_thaw_notify ((GObject*) self);
#line 4690 "edsf-persona.c"
}


static void _edsf_persona_update_params (EdsfPersona* self, FolksAbstractFieldDetails* details, EVCardAttribute* attr) {
	EVCardAttribute* _tmp0_;
	GList* _tmp1_ = NULL;
#line 944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (details != NULL);
#line 944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (attr != NULL);
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = attr;
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = e_vcard_attribute_get_params (_tmp0_);
#line 4707 "edsf-persona.c"
	{
		GList* param_collection = NULL;
		GList* param_it = NULL;
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		param_collection = _tmp1_;
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (param_it = param_collection; param_it != NULL; param_it = param_it->next) {
#line 4715 "edsf-persona.c"
			EVCardAttributeParam* param = NULL;
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			param = (EVCardAttributeParam*) param_it->data;
#line 4719 "edsf-persona.c"
			{
				EVCardAttributeParam* _tmp2_;
				const gchar* _tmp3_ = NULL;
				gchar* _tmp4_ = NULL;
				gchar* param_name;
				EVCardAttributeParam* _tmp5_;
				GList* _tmp6_ = NULL;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp2_ = param;
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp3_ = e_vcard_attribute_param_get_name (_tmp2_);
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp4_ = g_utf8_strdown (_tmp3_, (gssize) (-1));
#line 949 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				param_name = _tmp4_;
#line 950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp5_ = param;
#line 950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp6_ = e_vcard_attribute_param_get_values (_tmp5_);
#line 4739 "edsf-persona.c"
				{
					GList* param_value_collection = NULL;
					GList* param_value_it = NULL;
#line 950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					param_value_collection = _tmp6_;
#line 950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					for (param_value_it = param_value_collection; param_value_it != NULL; param_value_it = param_value_it->next) {
#line 4747 "edsf-persona.c"
						const gchar* param_value = NULL;
#line 950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						param_value = (const gchar*) param_value_it->data;
#line 4751 "edsf-persona.c"
						{
							const gchar* _tmp7_;
#line 952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp7_ = param_name;
#line 952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							if (g_strcmp0 (_tmp7_, FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE) == 0) {
#line 4758 "edsf-persona.c"
								FolksAbstractFieldDetails* _tmp8_;
								const gchar* _tmp9_;
								const gchar* _tmp10_;
								gchar* _tmp11_ = NULL;
								gchar* _tmp12_;
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp8_ = details;
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp9_ = param_name;
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp10_ = param_value;
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp11_ = g_utf8_strdown (_tmp10_, (gssize) (-1));
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp12_ = _tmp11_;
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								folks_abstract_field_details_add_parameter (_tmp8_, _tmp9_, _tmp12_);
#line 954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (_tmp12_);
#line 4778 "edsf-persona.c"
							} else {
								FolksAbstractFieldDetails* _tmp13_;
								const gchar* _tmp14_;
								const gchar* _tmp15_;
#line 958 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp13_ = details;
#line 958 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp14_ = param_name;
#line 958 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp15_ = param_value;
#line 958 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								folks_abstract_field_details_add_parameter (_tmp13_, _tmp14_, _tmp15_);
#line 4791 "edsf-persona.c"
							}
						}
					}
				}
#line 947 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (param_name);
#line 4798 "edsf-persona.c"
			}
		}
	}
}


static EVCardAttribute* _vala_EVCardAttribute_copy (EVCardAttribute* self) {
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_boxed_copy (e_vcard_attribute_get_type (), self);
#line 4808 "edsf-persona.c"
}


static gpointer __vala_EVCardAttribute_copy0 (gpointer self) {
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? _vala_EVCardAttribute_copy (self) : NULL;
#line 4815 "edsf-persona.c"
}


static void _vala_EVCardAttribute_free (EVCardAttribute* self) {
#line 964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_boxed_free (e_vcard_attribute_get_type (), self);
#line 4822 "edsf-persona.c"
}


static void _edsf_persona_update_gender (EdsfPersona* self) {
	FolksGender gender;
	EContact* _tmp0_;
	EContact* _tmp1_;
	EVCardAttribute* _tmp2_ = NULL;
	EVCardAttribute* _tmp3_;
	EVCardAttribute* gender_attr;
	EVCardAttribute* _tmp4_;
	FolksGender _tmp13_;
	FolksGender _tmp14_;
#line 964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 966 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	gender = FOLKS_GENDER_UNSPECIFIED;
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = edsf_persona_get_contact (self);
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = e_vcard_get_attribute ((EVCard*) _tmp1_, EDSF_PERSONA_gender_attribute_name);
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = __vala_EVCardAttribute_copy0 (_tmp2_);
#line 967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	gender_attr = _tmp3_;
#line 970 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = gender_attr;
#line 970 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp4_ != NULL) {
#line 4854 "edsf-persona.c"
		EVCardAttribute* _tmp5_;
		gchar* _tmp6_ = NULL;
		gchar* val;
		const gchar* _tmp7_;
#line 972 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = gender_attr;
#line 972 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = e_vcard_attribute_get_value ((EVCardAttribute*) _tmp5_);
#line 972 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		val = _tmp6_;
#line 973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = val;
#line 973 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp7_ != NULL) {
#line 4869 "edsf-persona.c"
			const gchar* _tmp8_;
			gchar* _tmp9_ = NULL;
			gchar* _tmp10_;
			GQuark _tmp12_ = 0U;
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = val;
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = g_utf8_strup ((const gchar*) _tmp8_, (gssize) (-1));
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp10_ = _tmp9_;
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = (NULL == _tmp10_) ? 0 : g_quark_from_string (_tmp10_);
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_free (_tmp10_);
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp12_ == g_quark_from_string (EDSF_PERSONA_gender_male)) {
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				switch (0) {
#line 4888 "edsf-persona.c"
					default:
					{
#line 978 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						gender = FOLKS_GENDER_MALE;
#line 979 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						break;
#line 4895 "edsf-persona.c"
					}
				}
			} else if (_tmp12_ == g_quark_from_string (EDSF_PERSONA_gender_female)) {
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				switch (0) {
#line 4901 "edsf-persona.c"
					default:
					{
#line 981 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						gender = FOLKS_GENDER_FEMALE;
#line 982 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						break;
#line 4908 "edsf-persona.c"
					}
				}
			} else {
#line 975 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				switch (0) {
#line 4914 "edsf-persona.c"
					default:
					{
#line 985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						break;
#line 4919 "edsf-persona.c"
					}
				}
			}
		}
#line 970 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (val);
#line 4926 "edsf-persona.c"
	}
#line 990 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = self->priv->_gender;
#line 990 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = gender;
#line 990 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp13_ != _tmp14_) {
#line 4934 "edsf-persona.c"
		FolksGender _tmp15_;
#line 992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp15_ = gender;
#line 992 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_gender = _tmp15_;
#line 993 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "gender");
#line 4942 "edsf-persona.c"
	}
#line 964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EVCardAttribute_free0 (gender_attr);
#line 4946 "edsf-persona.c"
}


static EContactDate* _vala_EContactDate_copy (EContactDate* self) {
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_boxed_copy (e_contact_date_get_type (), self);
#line 4953 "edsf-persona.c"
}


static void _vala_EContactDate_free (EContactDate* self) {
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_boxed_free (e_contact_date_get_type (), self);
#line 4960 "edsf-persona.c"
}


static gpointer __vala_EContactDate_copy0 (gpointer self) {
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? _vala_EContactDate_copy (self) : NULL;
#line 4967 "edsf-persona.c"
}


static void _edsf_persona_update_birthday (EdsfPersona* self) {
	gpointer _tmp0_ = NULL;
	EContactDate* _bday;
	EContactDate* _tmp1_;
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _edsf_persona_get_property (self, e_contact_date_get_type (), (GBoxedCopyFunc) _vala_EContactDate_copy, _vala_EContactDate_free, "birth_date");
#line 999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_bday = (EContactDate*) _tmp0_;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _bday;
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ != NULL) {
#line 4985 "edsf-persona.c"
		EContactDate* _tmp2_;
		EContactDate* _tmp3_;
		EContactDate* bday;
		GTimeZone* _tmp4_;
		EContactDate* _tmp5_;
		guint _tmp6_;
		EContactDate* _tmp7_;
		guint _tmp8_;
		EContactDate* _tmp9_;
		guint _tmp10_;
		GDateTime* _tmp11_;
		GDateTime* d;
		gboolean _tmp12_ = FALSE;
		GDateTime* _tmp13_;
		gboolean _tmp22_;
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = _bday;
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp3_ = __vala_EContactDate_copy0 ((EContactDate*) _tmp2_);
#line 1003 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		bday = _tmp3_;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = edsf_persona__local_time_zone;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = bday;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = _tmp5_->year;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = bday;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = _tmp7_->month;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp9_ = bday;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp10_ = _tmp9_->day;
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp11_ = g_date_time_new (_tmp4_, (gint) _tmp6_, (gint) _tmp8_, (gint) _tmp10_, 0, 0, 0.0);
#line 1010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		d = _tmp11_;
#line 1012 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp13_ = self->priv->_birthday;
#line 1012 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp13_ == NULL) {
#line 1012 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = TRUE;
#line 5031 "edsf-persona.c"
		} else {
			gboolean _tmp14_ = FALSE;
			GDateTime* _tmp15_;
			gboolean _tmp21_;
#line 1013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp15_ = self->priv->_birthday;
#line 1013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp15_ != NULL) {
#line 5040 "edsf-persona.c"
				GDateTime* _tmp16_;
				GDateTime* _tmp17_;
				GDateTime* _tmp18_ = NULL;
				GDateTime* _tmp19_;
				gboolean _tmp20_ = FALSE;
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = self->priv->_birthday;
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = d;
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = g_date_time_to_utc (_tmp17_);
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = _tmp18_;
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = g_date_time_equal ((GDateTime*) _tmp16_, _tmp19_);
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp14_ = !_tmp20_;
#line 1014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_date_time_unref0 (_tmp19_);
#line 5060 "edsf-persona.c"
			} else {
#line 1013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp14_ = FALSE;
#line 5064 "edsf-persona.c"
			}
#line 1013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp21_ = _tmp14_;
#line 1013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = _tmp21_;
#line 5070 "edsf-persona.c"
		}
#line 1012 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = _tmp12_;
#line 1012 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp22_) {
#line 5076 "edsf-persona.c"
			GDateTime* _tmp23_;
			GDateTime* _tmp24_ = NULL;
#line 1016 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp23_ = d;
#line 1016 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp24_ = g_date_time_to_utc (_tmp23_);
#line 1016 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_date_time_unref0 (self->priv->_birthday);
#line 1016 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_birthday = _tmp24_;
#line 1017 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "birthday");
#line 5089 "edsf-persona.c"
		}
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_date_time_unref0 (d);
#line 1001 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		__vala_EContactDate_free0 (bday);
#line 5095 "edsf-persona.c"
	} else {
		GDateTime* _tmp25_;
#line 1022 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = self->priv->_birthday;
#line 1022 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp25_ != NULL) {
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_date_time_unref0 (self->priv->_birthday);
#line 1024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_birthday = NULL;
#line 1025 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "birthday");
#line 5108 "edsf-persona.c"
		}
	}
#line 997 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EContactDate_free0 (_bday);
#line 5113 "edsf-persona.c"
}


static void _edsf_persona_update_roles (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp10_;
	GeeHashSet* new_roles;
	FolksRoleFieldDetails* _tmp11_ = NULL;
	FolksRoleFieldDetails* default_role_fd;
	FolksRoleFieldDetails* _tmp12_;
	EContact* _tmp15_;
	EContact* _tmp16_;
	EVCard* _tmp17_;
	EVCard* vcard;
	EVCard* _tmp18_;
	GList* _tmp19_ = NULL;
	GeeHashSet* _tmp55_;
	GeeHashSet* _tmp56_;
	gboolean _tmp57_ = FALSE;
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_roles;
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 5141 "edsf-persona.c"
		gboolean _tmp2_;
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 5147 "edsf-persona.c"
	} else {
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 5151 "edsf-persona.c"
	}
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 5157 "edsf-persona.c"
		gboolean _tmp4_;
#line 1036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "roles");
#line 5165 "edsf-persona.c"
		}
#line 1040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 5169 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1042 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_roles;
#line 1042 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 5176 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1044 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (FOLKS_TYPE_ROLE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1044 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_roles);
#line 1044 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_roles = _tmp6_;
#line 1047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_roles;
#line 1047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_roles_ro);
#line 1047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_roles_ro = _tmp9_;
#line 5197 "edsf-persona.c"
		}
	}
#line 1050 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = gee_hash_set_new (FOLKS_TYPE_ROLE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1050 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_roles = _tmp10_;
#line 1054 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = _edsf_persona_get_default_role (self);
#line 1054 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	default_role_fd = _tmp11_;
#line 1055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = default_role_fd;
#line 1055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp12_ != NULL) {
#line 5212 "edsf-persona.c"
		GeeHashSet* _tmp13_;
		FolksRoleFieldDetails* _tmp14_;
#line 1057 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp13_ = new_roles;
#line 1057 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp14_ = default_role_fd;
#line 1057 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, FOLKS_TYPE_ROLE_FIELD_DETAILS, FolksRoleFieldDetails));
#line 5221 "edsf-persona.c"
	}
#line 1060 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = edsf_persona_get_contact (self);
#line 1060 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp16_ = _tmp15_;
#line 1060 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, e_vcard_get_type (), EVCard));
#line 1060 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	vcard = _tmp17_;
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp18_ = vcard;
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp19_ = e_vcard_get_attributes (_tmp18_);
#line 5235 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp19_;
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 5243 "edsf-persona.c"
			EVCardAttribute* attr = NULL;
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = (EVCardAttribute*) attr_it->data;
#line 5247 "edsf-persona.c"
			{
				EVCardAttribute* _tmp20_;
				const gchar* _tmp21_ = NULL;
				EVCardAttribute* _tmp22_;
				gchar* _tmp23_ = NULL;
				gchar* val;
				gboolean _tmp24_ = FALSE;
				const gchar* _tmp25_;
				gboolean _tmp27_;
				FolksRole* _tmp28_;
				FolksRole* role;
				FolksRole* _tmp29_;
				const gchar* _tmp30_;
				FolksRole* _tmp31_;
				FolksRoleFieldDetails* _tmp32_;
				FolksRoleFieldDetails* role_fd;
				EVCardAttribute* _tmp33_;
				GList* _tmp34_ = NULL;
				GeeHashSet* _tmp53_;
				FolksRoleFieldDetails* _tmp54_;
#line 1063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = attr;
#line 1063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = e_vcard_attribute_get_name (_tmp20_);
#line 1063 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (g_strcmp0 (_tmp21_, "X-ROLES") != 0) {
#line 1064 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 5276 "edsf-persona.c"
				}
#line 1066 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = attr;
#line 1066 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = e_vcard_attribute_get_value (_tmp22_);
#line 1066 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				val = _tmp23_;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp25_ = val;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp25_ == NULL) {
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp24_ = TRUE;
#line 5290 "edsf-persona.c"
				} else {
					const gchar* _tmp26_;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp26_ = val;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp24_ = g_strcmp0 ((const gchar*) _tmp26_, "") == 0;
#line 5297 "edsf-persona.c"
				}
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp27_ = _tmp24_;
#line 1067 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp27_) {
#line 1069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (val);
#line 1069 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 5307 "edsf-persona.c"
				}
#line 1072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp28_ = folks_role_new ("", "", NULL);
#line 1072 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				role = _tmp28_;
#line 1073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp29_ = role;
#line 1073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp30_ = val;
#line 1073 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_role_set_role (_tmp29_, (const gchar*) _tmp30_);
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp31_ = role;
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp32_ = folks_role_field_details_new (_tmp31_, NULL);
#line 1074 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				role_fd = _tmp32_;
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp33_ = attr;
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp34_ = e_vcard_attribute_get_params (_tmp33_);
#line 5329 "edsf-persona.c"
				{
					GList* param_collection = NULL;
					GList* param_it = NULL;
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					param_collection = _tmp34_;
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					for (param_it = param_collection; param_it != NULL; param_it = param_it->next) {
#line 5337 "edsf-persona.c"
						EVCardAttributeParam* param = NULL;
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						param = (EVCardAttributeParam*) param_it->data;
#line 5341 "edsf-persona.c"
						{
							EVCardAttributeParam* _tmp35_;
							const gchar* _tmp36_ = NULL;
							gchar* _tmp37_ = NULL;
							gchar* param_name;
							const gchar* _tmp38_;
#line 1079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp35_ = param;
#line 1079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp36_ = e_vcard_attribute_param_get_name (_tmp35_);
#line 1079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp37_ = g_utf8_strdown (_tmp36_, (gssize) (-1));
#line 1079 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							param_name = _tmp37_;
#line 1081 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp38_ = param_name;
#line 1081 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							if (g_strcmp0 (_tmp38_, "organisation_name") == 0) {
#line 5360 "edsf-persona.c"
								EVCardAttributeParam* _tmp39_;
								GList* _tmp40_ = NULL;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp39_ = param;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp40_ = e_vcard_attribute_param_get_values (_tmp39_);
#line 5367 "edsf-persona.c"
								{
									GList* param_value_collection = NULL;
									GList* param_value_it = NULL;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									param_value_collection = _tmp40_;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									for (param_value_it = param_value_collection; param_value_it != NULL; param_value_it = param_value_it->next) {
#line 5375 "edsf-persona.c"
										const gchar* param_value = NULL;
#line 1083 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
										param_value = (const gchar*) param_value_it->data;
#line 5379 "edsf-persona.c"
										{
											FolksRole* _tmp41_;
											const gchar* _tmp42_;
#line 1086 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											_tmp41_ = role;
#line 1086 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											_tmp42_ = param_value;
#line 1086 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											folks_role_set_organisation_name (_tmp41_, _tmp42_);
#line 1087 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											break;
#line 5391 "edsf-persona.c"
										}
									}
								}
							} else {
								const gchar* _tmp43_;
#line 1090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp43_ = param_name;
#line 1090 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (g_strcmp0 (_tmp43_, "title") == 0) {
#line 5401 "edsf-persona.c"
									EVCardAttributeParam* _tmp44_;
									GList* _tmp45_ = NULL;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp44_ = param;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp45_ = e_vcard_attribute_param_get_values (_tmp44_);
#line 5408 "edsf-persona.c"
									{
										GList* param_value_collection = NULL;
										GList* param_value_it = NULL;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
										param_value_collection = _tmp45_;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
										for (param_value_it = param_value_collection; param_value_it != NULL; param_value_it = param_value_it->next) {
#line 5416 "edsf-persona.c"
											const gchar* param_value = NULL;
#line 1092 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											param_value = (const gchar*) param_value_it->data;
#line 5420 "edsf-persona.c"
											{
												FolksRole* _tmp46_;
												const gchar* _tmp47_;
#line 1095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												_tmp46_ = role;
#line 1095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												_tmp47_ = param_value;
#line 1095 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												folks_role_set_title (_tmp46_, _tmp47_);
#line 1096 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												break;
#line 5432 "edsf-persona.c"
											}
										}
									}
								} else {
									EVCardAttributeParam* _tmp48_;
									GList* _tmp49_ = NULL;
#line 1101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp48_ = param;
#line 1101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp49_ = e_vcard_attribute_param_get_values (_tmp48_);
#line 5443 "edsf-persona.c"
									{
										GList* param_value_collection = NULL;
										GList* param_value_it = NULL;
#line 1101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
										param_value_collection = _tmp49_;
#line 1101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
										for (param_value_it = param_value_collection; param_value_it != NULL; param_value_it = param_value_it->next) {
#line 5451 "edsf-persona.c"
											const gchar* param_value = NULL;
#line 1101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
											param_value = (const gchar*) param_value_it->data;
#line 5455 "edsf-persona.c"
											{
												FolksRoleFieldDetails* _tmp50_;
												const gchar* _tmp51_;
												const gchar* _tmp52_;
#line 1104 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												_tmp50_ = role_fd;
#line 1104 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												_tmp51_ = param_name;
#line 1104 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												_tmp52_ = param_value;
#line 1104 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
												folks_abstract_field_details_add_parameter ((FolksAbstractFieldDetails*) _tmp50_, _tmp51_, _tmp52_);
#line 5468 "edsf-persona.c"
											}
										}
									}
								}
							}
#line 1076 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_g_free0 (param_name);
#line 5476 "edsf-persona.c"
						}
					}
				}
#line 1109 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp53_ = new_roles;
#line 1109 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp54_ = role_fd;
#line 1109 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp53_, _tmp54_);
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (role_fd);
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (role);
#line 1061 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (val);
#line 5492 "edsf-persona.c"
			}
		}
	}
#line 1112 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp55_ = new_roles;
#line 1112 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp56_ = self->priv->_roles;
#line 1112 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp57_ = folks_internal_equal_sets (FOLKS_TYPE_ROLE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GeeSet*) _tmp55_, (GeeSet*) _tmp56_);
#line 1112 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp57_) {
#line 5504 "edsf-persona.c"
		GeeHashSet* _tmp58_;
		GeeHashSet* _tmp59_;
		GeeHashSet* _tmp60_;
		GeeSet* _tmp61_;
		GeeSet* _tmp62_;
		gboolean _tmp63_;
#line 1114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp58_ = new_roles;
#line 1114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp59_ = _g_object_ref0 (_tmp58_);
#line 1114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_roles);
#line 1114 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_roles = _tmp59_;
#line 1115 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp60_ = new_roles;
#line 1115 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp61_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp60_);
#line 1115 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp62_ = _tmp61_;
#line 1115 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_roles_ro);
#line 1115 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_roles_ro = _tmp62_;
#line 1116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp63_ = emit_notification;
#line 1116 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp63_) {
#line 1118 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "roles");
#line 5535 "edsf-persona.c"
		}
	}
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (vcard);
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (default_role_fd);
#line 1030 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_roles);
#line 5544 "edsf-persona.c"
}


static FolksRoleFieldDetails* _edsf_persona_get_default_role (EdsfPersona* self) {
	FolksRoleFieldDetails* result = NULL;
	FolksRoleFieldDetails* _default_role;
	gpointer _tmp0_ = NULL;
	gchar* org;
	gpointer _tmp1_ = NULL;
	gchar* org_unit;
	gpointer _tmp2_ = NULL;
	gchar* office;
	gpointer _tmp3_ = NULL;
	gchar* title;
	gpointer _tmp4_ = NULL;
	gchar* role;
	gpointer _tmp5_ = NULL;
	gchar* manager;
	gpointer _tmp6_ = NULL;
	gchar* assistant;
	gboolean _tmp7_ = FALSE;
	gboolean _tmp8_ = FALSE;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	gboolean _tmp11_ = FALSE;
	gboolean _tmp12_ = FALSE;
	const gchar* _tmp13_;
	gboolean _tmp15_;
	gboolean _tmp17_;
	gboolean _tmp19_;
	gboolean _tmp21_;
	gboolean _tmp23_;
	gboolean _tmp25_;
#line 1123 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 1125 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_default_role = NULL;
#line 1127 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "org");
#line 1127 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	org = (gchar*) _tmp0_;
#line 1128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "org_unit");
#line 1128 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	org_unit = (gchar*) _tmp1_;
#line 1129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "office");
#line 1129 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	office = (gchar*) _tmp2_;
#line 1130 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "title");
#line 1130 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	title = (gchar*) _tmp3_;
#line 1131 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "role");
#line 1131 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	role = (gchar*) _tmp4_;
#line 1132 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "manager");
#line 1132 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	manager = (gchar*) _tmp5_;
#line 1133 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "assistant");
#line 1133 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	assistant = (gchar*) _tmp6_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = org;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp13_ != NULL) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = TRUE;
#line 5616 "edsf-persona.c"
	} else {
		const gchar* _tmp14_;
#line 1136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp14_ = org_unit;
#line 1136 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = _tmp14_ != NULL;
#line 5623 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = _tmp12_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp15_) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp11_ = TRUE;
#line 5631 "edsf-persona.c"
	} else {
		const gchar* _tmp16_;
#line 1137 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp16_ = office;
#line 1137 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp11_ = _tmp16_ != NULL;
#line 5638 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = _tmp11_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp17_) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp10_ = TRUE;
#line 5646 "edsf-persona.c"
	} else {
		const gchar* _tmp18_;
#line 1138 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp18_ = title;
#line 1138 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp10_ = _tmp18_ != NULL;
#line 5653 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp19_ = _tmp10_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp19_) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp9_ = TRUE;
#line 5661 "edsf-persona.c"
	} else {
		const gchar* _tmp20_;
#line 1139 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp20_ = role;
#line 1139 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp9_ = _tmp20_ != NULL;
#line 5668 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp21_ = _tmp9_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp21_) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = TRUE;
#line 5676 "edsf-persona.c"
	} else {
		const gchar* _tmp22_;
#line 1140 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = manager;
#line 1140 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = _tmp22_ != NULL;
#line 5683 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp23_ = _tmp8_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp23_) {
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = TRUE;
#line 5691 "edsf-persona.c"
	} else {
		const gchar* _tmp24_;
#line 1141 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = assistant;
#line 1141 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = _tmp24_ != NULL;
#line 5698 "edsf-persona.c"
	}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp25_ = _tmp7_;
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp25_) {
#line 5704 "edsf-persona.c"
		const gchar* _tmp26_;
		const gchar* _tmp27_;
		FolksRole* _tmp28_;
		FolksRole* new_role;
		gboolean _tmp29_ = FALSE;
		const gchar* _tmp30_;
		gboolean _tmp32_;
		FolksRole* _tmp35_;
		gboolean _tmp36_ = FALSE;
#line 1143 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp26_ = title;
#line 1143 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = org;
#line 1143 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = folks_role_new (_tmp26_, _tmp27_, NULL);
#line 1143 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		new_role = _tmp28_;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = role;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp30_ != NULL) {
#line 5726 "edsf-persona.c"
			const gchar* _tmp31_;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp31_ = role;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp29_ = g_strcmp0 ((const gchar*) _tmp31_, "") != 0;
#line 5732 "edsf-persona.c"
		} else {
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp29_ = FALSE;
#line 5736 "edsf-persona.c"
		}
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = _tmp29_;
#line 1144 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp32_) {
#line 5742 "edsf-persona.c"
			FolksRole* _tmp33_;
			const gchar* _tmp34_;
#line 1145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp33_ = new_role;
#line 1145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp34_ = role;
#line 1145 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			folks_role_set_role (_tmp33_, (const gchar*) _tmp34_);
#line 5751 "edsf-persona.c"
		}
#line 1148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp35_ = new_role;
#line 1148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp36_ = folks_role_is_empty (_tmp35_);
#line 1148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (!_tmp36_) {
#line 5759 "edsf-persona.c"
			FolksRole* _tmp37_;
			FolksRoleFieldDetails* _tmp38_;
			FolksRoleFieldDetails* default_role;
			gboolean _tmp39_ = FALSE;
			const gchar* _tmp40_;
			gboolean _tmp42_;
			gboolean _tmp45_ = FALSE;
			const gchar* _tmp46_;
			gboolean _tmp48_;
			gboolean _tmp51_ = FALSE;
			const gchar* _tmp52_;
			gboolean _tmp54_;
			gboolean _tmp57_ = FALSE;
			const gchar* _tmp58_;
			gboolean _tmp60_;
			FolksRoleFieldDetails* _tmp63_;
			FolksRoleFieldDetails* _tmp64_;
#line 1150 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp37_ = new_role;
#line 1150 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp38_ = folks_role_field_details_new (_tmp37_, NULL);
#line 1150 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			default_role = _tmp38_;
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp40_ = org_unit;
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp40_ != NULL) {
#line 5787 "edsf-persona.c"
				const gchar* _tmp41_;
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp41_ = org_unit;
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp39_ = g_strcmp0 (_tmp41_, "") != 0;
#line 5793 "edsf-persona.c"
			} else {
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp39_ = FALSE;
#line 5797 "edsf-persona.c"
			}
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp42_ = _tmp39_;
#line 1152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp42_) {
#line 5803 "edsf-persona.c"
				FolksRoleFieldDetails* _tmp43_;
				const gchar* _tmp44_;
#line 1153 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp43_ = default_role;
#line 1153 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp44_ = org_unit;
#line 1153 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp43_, "org_unit", (const gchar*) _tmp44_);
#line 5812 "edsf-persona.c"
			}
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp46_ = office;
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp46_ != NULL) {
#line 5818 "edsf-persona.c"
				const gchar* _tmp47_;
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp47_ = office;
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp45_ = g_strcmp0 (_tmp47_, "") != 0;
#line 5824 "edsf-persona.c"
			} else {
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp45_ = FALSE;
#line 5828 "edsf-persona.c"
			}
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp48_ = _tmp45_;
#line 1155 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp48_) {
#line 5834 "edsf-persona.c"
				FolksRoleFieldDetails* _tmp49_;
				const gchar* _tmp50_;
#line 1156 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp49_ = default_role;
#line 1156 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp50_ = office;
#line 1156 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp49_, "office", (const gchar*) _tmp50_);
#line 5843 "edsf-persona.c"
			}
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp52_ = manager;
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp52_ != NULL) {
#line 5849 "edsf-persona.c"
				const gchar* _tmp53_;
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp53_ = manager;
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp51_ = g_strcmp0 (_tmp53_, "") != 0;
#line 5855 "edsf-persona.c"
			} else {
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp51_ = FALSE;
#line 5859 "edsf-persona.c"
			}
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp54_ = _tmp51_;
#line 1158 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp54_) {
#line 5865 "edsf-persona.c"
				FolksRoleFieldDetails* _tmp55_;
				const gchar* _tmp56_;
#line 1159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp55_ = default_role;
#line 1159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp56_ = manager;
#line 1159 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp55_, "manager", (const gchar*) _tmp56_);
#line 5874 "edsf-persona.c"
			}
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp58_ = assistant;
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp58_ != NULL) {
#line 5880 "edsf-persona.c"
				const gchar* _tmp59_;
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp59_ = manager;
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp57_ = g_strcmp0 (_tmp59_, "") != 0;
#line 5886 "edsf-persona.c"
			} else {
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp57_ = FALSE;
#line 5890 "edsf-persona.c"
			}
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp60_ = _tmp57_;
#line 1161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp60_) {
#line 5896 "edsf-persona.c"
				FolksRoleFieldDetails* _tmp61_;
				const gchar* _tmp62_;
#line 1162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp61_ = default_role;
#line 1162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp62_ = assistant;
#line 1162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp61_, "assistant", (const gchar*) _tmp62_);
#line 5905 "edsf-persona.c"
			}
#line 1164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp63_ = default_role;
#line 1164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp64_ = _g_object_ref0 (_tmp63_);
#line 1164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (_default_role);
#line 1164 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_default_role = _tmp64_;
#line 1148 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (default_role);
#line 5917 "edsf-persona.c"
		}
#line 1135 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (new_role);
#line 5921 "edsf-persona.c"
	}
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _default_role;
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (assistant);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (manager);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (role);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (title);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (office);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (org_unit);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (org);
#line 1168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 5941 "edsf-persona.c"
}


static EVCardAttributeParam* _vala_EVCardAttributeParam_copy (EVCardAttributeParam* self) {
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_boxed_copy (e_vcard_attribute_param_get_type (), self);
#line 5948 "edsf-persona.c"
}


static gpointer __vala_EVCardAttributeParam_copy0 (gpointer self) {
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? _vala_EVCardAttributeParam_copy (self) : NULL;
#line 5955 "edsf-persona.c"
}


static void _vala_EVCardAttributeParam_free (EVCardAttributeParam* self) {
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_boxed_free (e_vcard_attribute_param_get_type (), self);
#line 5962 "edsf-persona.c"
}


static void _edsf_persona_update_web_services_addresses (EdsfPersona* self) {
	GeeHashMultiMap* _tmp0_;
	GeeHashMultiMap* new_services;
	EContact* _tmp1_;
	EContact* _tmp2_;
	EVCardAttribute* _tmp3_ = NULL;
	EVCardAttribute* _tmp4_;
	EVCardAttribute* services;
	EVCardAttribute* _tmp5_;
	GeeHashMultiMap* _tmp21_;
	GeeHashMultiMap* _tmp22_;
	gboolean _tmp23_ = FALSE;
#line 1171 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1173 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, FOLKS_TYPE_WEB_SERVICE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1173 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_services = _tmp0_;
#line 1178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = edsf_persona_get_contact (self);
#line 1178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _tmp1_;
#line 1178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = e_vcard_get_attribute ((EVCard*) _tmp2_, "X-FOLKS-WEB-SERVICES-IDS");
#line 1178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = __vala_EVCardAttribute_copy0 (_tmp3_);
#line 1178 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	services = _tmp4_;
#line 1179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = services;
#line 1179 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5_ != NULL) {
#line 5998 "edsf-persona.c"
		EVCardAttribute* _tmp6_;
		GList* _tmp7_ = NULL;
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = services;
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = e_vcard_attribute_get_params ((EVCardAttribute*) _tmp6_);
#line 6005 "edsf-persona.c"
		{
			GList* service_collection = NULL;
			GList* service_it = NULL;
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			service_collection = _tmp7_;
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			for (service_it = service_collection; service_it != NULL; service_it = service_it->next) {
#line 6013 "edsf-persona.c"
				EVCardAttributeParam* _tmp8_;
				EVCardAttributeParam* service = NULL;
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp8_ = __vala_EVCardAttributeParam_copy0 ((EVCardAttributeParam*) service_it->data);
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				service = _tmp8_;
#line 6020 "edsf-persona.c"
				{
					EVCardAttributeParam* _tmp9_;
					const gchar* _tmp10_ = NULL;
					gchar* _tmp11_ = NULL;
					gchar* service_name;
					EVCardAttributeParam* _tmp12_;
					GList* _tmp13_ = NULL;
#line 1183 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp9_ = service;
#line 1183 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp10_ = e_vcard_attribute_param_get_name (_tmp9_);
#line 1183 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp11_ = g_utf8_strdown (_tmp10_, (gssize) (-1));
#line 1183 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					service_name = _tmp11_;
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp12_ = service;
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp13_ = e_vcard_attribute_param_get_values (_tmp12_);
#line 6040 "edsf-persona.c"
					{
						GList* service_id_collection = NULL;
						GList* service_id_it = NULL;
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						service_id_collection = _tmp13_;
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						for (service_id_it = service_id_collection; service_id_it != NULL; service_id_it = service_id_it->next) {
#line 6048 "edsf-persona.c"
							gchar* _tmp14_;
							gchar* service_id = NULL;
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp14_ = g_strdup ((const gchar*) service_id_it->data);
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							service_id = _tmp14_;
#line 6055 "edsf-persona.c"
							{
								const gchar* _tmp15_;
								GeeHashMultiMap* _tmp16_;
								const gchar* _tmp17_;
								const gchar* _tmp18_;
								FolksWebServiceFieldDetails* _tmp19_;
								FolksWebServiceFieldDetails* _tmp20_;
#line 1186 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp15_ = service_id;
#line 1186 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (g_strcmp0 (_tmp15_, "") == 0) {
#line 1188 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (service_id);
#line 1188 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									continue;
#line 6071 "edsf-persona.c"
								}
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp16_ = new_services;
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp17_ = service_name;
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp18_ = service_id;
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp19_ = folks_web_service_field_details_new (_tmp18_, NULL);
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp20_ = _tmp19_;
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								gee_multi_map_set ((GeeMultiMap*) _tmp16_, _tmp17_, _tmp20_);
#line 1191 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_object_unref0 (_tmp20_);
#line 1184 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (service_id);
#line 6089 "edsf-persona.c"
							}
						}
					}
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (service_name);
#line 1181 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					__vala_EVCardAttributeParam_free0 (service);
#line 6097 "edsf-persona.c"
				}
			}
		}
	}
#line 1197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp21_ = new_services;
#line 1197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp22_ = self->priv->_web_service_addresses;
#line 1197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp23_ = folks_utils_multi_map_str_afd_equal ((GeeMultiMap*) _tmp21_, (GeeMultiMap*) _tmp22_);
#line 1197 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp23_) {
#line 6110 "edsf-persona.c"
		GeeHashMultiMap* _tmp24_;
		GeeHashMultiMap* _tmp25_;
#line 1200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = new_services;
#line 1200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = _g_object_ref0 (_tmp24_);
#line 1200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_web_service_addresses);
#line 1200 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_web_service_addresses = _tmp25_;
#line 1201 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "web-service-addresses");
#line 6123 "edsf-persona.c"
	}
#line 1171 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EVCardAttribute_free0 (services);
#line 1171 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_services);
#line 6129 "edsf-persona.c"
}


static void __vala_EVCardAttribute_free0_ (gpointer var) {
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	(var == NULL) ? NULL : (var = (_vala_EVCardAttribute_free (var), NULL));
#line 6136 "edsf-persona.c"
}


static void _g_list_free___vala_EVCardAttribute_free0_ (GList* self) {
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_list_foreach (self, (GFunc) __vala_EVCardAttribute_free0_, NULL);
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_list_free (self);
#line 6145 "edsf-persona.c"
}


static void _edsf_persona_update_emails (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp10_;
	GeeHashSet* new_email_addresses;
	EContact* _tmp11_;
	EContact* _tmp12_;
	GList* _tmp13_ = NULL;
	GList* attrs;
	GList* _tmp14_;
	GeeHashSet* _tmp28_;
	GeeHashSet* _tmp29_;
	gboolean _tmp30_ = FALSE;
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_email_addresses;
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 6169 "edsf-persona.c"
		gboolean _tmp2_;
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 6175 "edsf-persona.c"
	} else {
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 6179 "edsf-persona.c"
	}
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1209 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 6185 "edsf-persona.c"
		gboolean _tmp4_;
#line 1211 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1211 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1213 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "email-addresses");
#line 6193 "edsf-persona.c"
		}
#line 1215 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 6197 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1217 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_email_addresses;
#line 1217 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 6204 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (FOLKS_TYPE_EMAIL_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_email_addresses);
#line 1219 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_email_addresses = _tmp6_;
#line 1222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_email_addresses;
#line 1222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_email_addresses_ro);
#line 1222 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_email_addresses_ro = _tmp9_;
#line 6225 "edsf-persona.c"
		}
	}
#line 1225 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = gee_hash_set_new (FOLKS_TYPE_EMAIL_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1225 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_email_addresses = _tmp10_;
#line 1229 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = edsf_persona_get_contact (self);
#line 1229 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = _tmp11_;
#line 1229 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = e_contact_get_attributes (_tmp12_, E_CONTACT_EMAIL);
#line 1229 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	attrs = _tmp13_;
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = attrs;
#line 6242 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp14_;
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 6250 "edsf-persona.c"
			EVCardAttribute* _tmp15_;
			EVCardAttribute* attr = NULL;
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp15_ = __vala_EVCardAttribute_copy0 ((EVCardAttribute*) attr_it->data);
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = _tmp15_;
#line 6257 "edsf-persona.c"
			{
				EVCardAttribute* _tmp16_;
				gchar* _tmp17_ = NULL;
				gchar* val;
				gboolean _tmp18_ = FALSE;
				const gchar* _tmp19_;
				gboolean _tmp21_;
				const gchar* _tmp22_;
				FolksEmailFieldDetails* _tmp23_;
				FolksEmailFieldDetails* email_fd;
				FolksEmailFieldDetails* _tmp24_;
				EVCardAttribute* _tmp25_;
				GeeHashSet* _tmp26_;
				FolksEmailFieldDetails* _tmp27_;
#line 1232 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = attr;
#line 1232 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = e_vcard_attribute_get_value (_tmp16_);
#line 1232 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				val = _tmp17_;
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = val;
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp19_ == NULL) {
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp18_ = TRUE;
#line 6284 "edsf-persona.c"
				} else {
					const gchar* _tmp20_;
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp20_ = val;
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp18_ = g_strcmp0 ((const gchar*) _tmp20_, "") == 0;
#line 6291 "edsf-persona.c"
				}
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = _tmp18_;
#line 1233 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp21_) {
#line 1235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (val);
#line 1235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					__vala_EVCardAttribute_free0 (attr);
#line 1235 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 6303 "edsf-persona.c"
				}
#line 1238 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = val;
#line 1238 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = folks_email_field_details_new ((const gchar*) _tmp22_, NULL);
#line 1238 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				email_fd = _tmp23_;
#line 1239 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp24_ = email_fd;
#line 1239 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp25_ = attr;
#line 1239 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_edsf_persona_update_params (self, (FolksAbstractFieldDetails*) _tmp24_, _tmp25_);
#line 1240 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp26_ = new_email_addresses;
#line 1240 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp27_ = email_fd;
#line 1240 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp26_, _tmp27_);
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (email_fd);
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (val);
#line 1230 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				__vala_EVCardAttribute_free0 (attr);
#line 6329 "edsf-persona.c"
			}
		}
	}
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp28_ = new_email_addresses;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = self->priv->_email_addresses;
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp30_ = folks_internal_equal_sets (FOLKS_TYPE_EMAIL_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GeeSet*) _tmp28_, (GeeSet*) _tmp29_);
#line 1243 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp30_) {
#line 6341 "edsf-persona.c"
		GeeHashSet* _tmp31_;
		GeeHashSet* _tmp32_;
		GeeHashSet* _tmp33_;
		GeeSet* _tmp34_;
		GeeSet* _tmp35_;
		gboolean _tmp36_;
#line 1246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = new_email_addresses;
#line 1246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = _g_object_ref0 (_tmp31_);
#line 1246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_email_addresses);
#line 1246 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_email_addresses = _tmp32_;
#line 1247 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = new_email_addresses;
#line 1247 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp34_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp33_);
#line 1247 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp35_ = _tmp34_;
#line 1247 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_email_addresses_ro);
#line 1247 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_email_addresses_ro = _tmp35_;
#line 1248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp36_ = emit_notification;
#line 1248 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp36_) {
#line 1250 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "email-addresses");
#line 6372 "edsf-persona.c"
		}
	}
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__g_list_free___vala_EVCardAttribute_free0_0 (attrs);
#line 1205 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_email_addresses);
#line 6379 "edsf-persona.c"
}


static void _edsf_persona_update_notes (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp10_;
	GeeHashSet* new_notes;
	gpointer _tmp11_ = NULL;
	gchar* n;
	gboolean _tmp12_ = FALSE;
	const gchar* _tmp13_;
	gboolean _tmp15_;
	GeeHashSet* _tmp20_;
	GeeHashSet* _tmp21_;
	gboolean _tmp22_ = FALSE;
#line 1255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_notes;
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 6403 "edsf-persona.c"
		gboolean _tmp2_;
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 6409 "edsf-persona.c"
	} else {
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 6413 "edsf-persona.c"
	}
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 6419 "edsf-persona.c"
		gboolean _tmp4_;
#line 1261 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1261 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1263 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "notes");
#line 6427 "edsf-persona.c"
		}
#line 1265 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 6431 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_notes;
#line 1267 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 6438 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (FOLKS_TYPE_NOTE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_notes);
#line 1269 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_notes = _tmp6_;
#line 1272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_notes;
#line 1272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_notes_ro);
#line 1272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_notes_ro = _tmp9_;
#line 6459 "edsf-persona.c"
		}
	}
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = gee_hash_set_new (FOLKS_TYPE_NOTE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_notes = _tmp10_;
#line 1279 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "note");
#line 1279 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	n = (gchar*) _tmp11_;
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = n;
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp13_ != NULL) {
#line 6474 "edsf-persona.c"
		const gchar* _tmp14_;
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp14_ = n;
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = g_strcmp0 (_tmp14_, "") != 0;
#line 6480 "edsf-persona.c"
	} else {
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = FALSE;
#line 6484 "edsf-persona.c"
	}
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = _tmp12_;
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp15_) {
#line 6490 "edsf-persona.c"
		const gchar* _tmp16_;
		FolksNoteFieldDetails* _tmp17_;
		FolksNoteFieldDetails* note;
		GeeHashSet* _tmp18_;
		FolksNoteFieldDetails* _tmp19_;
#line 1282 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp16_ = n;
#line 1282 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp17_ = folks_note_field_details_new ((const gchar*) _tmp16_, NULL, NULL);
#line 1282 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		note = _tmp17_;
#line 1283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp18_ = new_notes;
#line 1283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp19_ = note;
#line 1283 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp18_, _tmp19_);
#line 1280 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (note);
#line 6510 "edsf-persona.c"
	}
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp20_ = new_notes;
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp21_ = self->priv->_notes;
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp22_ = folks_internal_equal_sets (FOLKS_TYPE_NOTE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GeeSet*) _tmp20_, (GeeSet*) _tmp21_);
#line 1286 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp22_) {
#line 6520 "edsf-persona.c"
		GeeHashSet* _tmp23_;
		GeeHashSet* _tmp24_;
		GeeHashSet* _tmp25_;
		GeeSet* _tmp26_;
		GeeSet* _tmp27_;
		gboolean _tmp28_;
#line 1288 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp23_ = new_notes;
#line 1288 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 1288 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_notes);
#line 1288 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_notes = _tmp24_;
#line 1289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = self->priv->_notes;
#line 1289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp26_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp25_);
#line 1289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = _tmp26_;
#line 1289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_notes_ro);
#line 1289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_notes_ro = _tmp27_;
#line 1290 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = emit_notification;
#line 1290 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp28_) {
#line 1292 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "notes");
#line 6551 "edsf-persona.c"
		}
	}
#line 1255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (n);
#line 1255 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_notes);
#line 6558 "edsf-persona.c"
}


static EContactName* _vala_EContactName_copy (EContactName* self) {
#line 1330 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_boxed_copy (e_contact_name_get_type (), self);
#line 6565 "edsf-persona.c"
}


static void _vala_EContactName_free (EContactName* self) {
#line 1330 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_boxed_free (e_contact_name_get_type (), self);
#line 6572 "edsf-persona.c"
}


static gpointer __vala_EContactName_copy0 (gpointer self) {
#line 1333 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? _vala_EContactName_copy (self) : NULL;
#line 6579 "edsf-persona.c"
}


static void _edsf_persona_update_names (EdsfPersona* self) {
	gpointer _tmp0_ = NULL;
	gchar* _full_name;
	const gchar* _tmp1_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* full_name;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	gpointer _tmp9_ = NULL;
	gchar* _nickname;
	const gchar* _tmp10_;
	const gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* nickname;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	FolksStructuredName* structured_name;
	gpointer _tmp18_ = NULL;
	EContactName* _cn;
	EContactName* _tmp19_;
	gboolean _tmp43_ = FALSE;
	FolksStructuredName* _tmp44_;
	gboolean _tmp47_;
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1299 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "full_name");
#line 1299 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_full_name = (gchar*) _tmp0_;
#line 1301 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _full_name;
#line 1301 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 6617 "edsf-persona.c"
		gchar* _tmp2_;
#line 1303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = g_strdup ("");
#line 1303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_full_name);
#line 1303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_full_name = _tmp2_;
#line 6625 "edsf-persona.c"
	}
#line 1306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _full_name;
#line 1306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = g_strdup ((const gchar*) _tmp3_);
#line 1306 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	full_name = _tmp4_;
#line 1308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = self->priv->_full_name;
#line 1308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6_ = full_name;
#line 1308 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_strcmp0 (_tmp5_, _tmp6_) != 0) {
#line 6639 "edsf-persona.c"
		const gchar* _tmp7_;
		gchar* _tmp8_;
#line 1310 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = full_name;
#line 1310 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = g_strdup (_tmp7_);
#line 1310 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (self->priv->_full_name);
#line 1310 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_full_name = _tmp8_;
#line 1311 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "full-name");
#line 6652 "edsf-persona.c"
	}
#line 1314 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, "nickname");
#line 1314 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_nickname = (gchar*) _tmp9_;
#line 1316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = _nickname;
#line 1316 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp10_ == NULL) {
#line 6662 "edsf-persona.c"
		gchar* _tmp11_;
#line 1318 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp11_ = g_strdup ("");
#line 1318 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_nickname);
#line 1318 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_nickname = _tmp11_;
#line 6670 "edsf-persona.c"
	}
#line 1321 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = _nickname;
#line 1321 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = g_strdup ((const gchar*) _tmp12_);
#line 1321 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	nickname = _tmp13_;
#line 1323 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = self->priv->_nickname;
#line 1323 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = nickname;
#line 1323 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_strcmp0 (_tmp14_, _tmp15_) != 0) {
#line 6684 "edsf-persona.c"
		const gchar* _tmp16_;
		gchar* _tmp17_;
#line 1325 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp16_ = nickname;
#line 1325 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp17_ = g_strdup (_tmp16_);
#line 1325 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (self->priv->_nickname);
#line 1325 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_nickname = _tmp17_;
#line 1326 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "nickname");
#line 6697 "edsf-persona.c"
	}
#line 1329 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	structured_name = NULL;
#line 1330 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp18_ = _edsf_persona_get_property (self, e_contact_name_get_type (), (GBoxedCopyFunc) _vala_EContactName_copy, _vala_EContactName_free, "name");
#line 1330 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_cn = (EContactName*) _tmp18_;
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp19_ = _cn;
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp19_ != NULL) {
#line 6709 "edsf-persona.c"
		EContactName* _tmp20_;
		EContactName* _tmp21_;
		EContactName* cn;
		EContactName* _tmp22_;
		const gchar* _tmp23_;
		gchar* _tmp24_;
		gchar* family_name;
		EContactName* _tmp25_;
		const gchar* _tmp26_;
		gchar* _tmp27_;
		gchar* given_name;
		EContactName* _tmp28_;
		const gchar* _tmp29_;
		gchar* _tmp30_;
		gchar* additional_names;
		EContactName* _tmp31_;
		const gchar* _tmp32_;
		gchar* _tmp33_;
		gchar* prefixes;
		EContactName* _tmp34_;
		const gchar* _tmp35_;
		gchar* _tmp36_;
		gchar* suffixes;
		const gchar* _tmp37_;
		const gchar* _tmp38_;
		const gchar* _tmp39_;
		const gchar* _tmp40_;
		const gchar* _tmp41_;
		FolksStructuredName* _tmp42_;
#line 1333 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp20_ = _cn;
#line 1333 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp21_ = __vala_EContactName_copy0 ((EContactName*) _tmp20_);
#line 1333 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		cn = _tmp21_;
#line 1335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = cn;
#line 1335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp23_ = _tmp22_->family;
#line 1335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = g_strdup (_tmp23_);
#line 1335 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		family_name = _tmp24_;
#line 1336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = cn;
#line 1336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp26_ = _tmp25_->given;
#line 1336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = g_strdup (_tmp26_);
#line 1336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		given_name = _tmp27_;
#line 1337 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = cn;
#line 1337 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp29_ = _tmp28_->additional;
#line 1337 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = g_strdup (_tmp29_);
#line 1337 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		additional_names = _tmp30_;
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = cn;
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = _tmp31_->prefixes;
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = g_strdup (_tmp32_);
#line 1338 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		prefixes = _tmp33_;
#line 1339 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp34_ = cn;
#line 1339 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp35_ = _tmp34_->suffixes;
#line 1339 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp36_ = g_strdup (_tmp35_);
#line 1339 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		suffixes = _tmp36_;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp37_ = family_name;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp38_ = given_name;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp39_ = additional_names;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp40_ = prefixes;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp41_ = suffixes;
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp42_ = folks_structured_name_new (_tmp37_, _tmp38_, _tmp39_, _tmp40_, _tmp41_);
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (structured_name);
#line 1340 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		structured_name = _tmp42_;
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (suffixes);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (prefixes);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (additional_names);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (given_name);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (family_name);
#line 1331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		__vala_EContactName_free0 (cn);
#line 6813 "edsf-persona.c"
	}
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp44_ = structured_name;
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp44_ != NULL) {
#line 6819 "edsf-persona.c"
		FolksStructuredName* _tmp45_;
		gboolean _tmp46_ = FALSE;
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp45_ = structured_name;
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp46_ = folks_structured_name_is_empty (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName));
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp43_ = !_tmp46_;
#line 6828 "edsf-persona.c"
	} else {
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp43_ = FALSE;
#line 6832 "edsf-persona.c"
	}
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp47_ = _tmp43_;
#line 1345 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp47_) {
#line 6838 "edsf-persona.c"
		FolksStructuredName* _tmp48_;
		FolksStructuredName* _tmp49_;
#line 1347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp48_ = structured_name;
#line 1347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp49_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, FOLKS_TYPE_STRUCTURED_NAME, FolksStructuredName));
#line 1347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_structured_name);
#line 1347 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_structured_name = _tmp49_;
#line 1348 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "structured-name");
#line 6851 "edsf-persona.c"
	} else {
		FolksStructuredName* _tmp50_;
#line 1350 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp50_ = self->priv->_structured_name;
#line 1350 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp50_ != NULL) {
#line 1352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_structured_name);
#line 1352 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_structured_name = NULL;
#line 1353 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "structured-name");
#line 6864 "edsf-persona.c"
		}
	}
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EContactName_free0 (_cn);
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (structured_name);
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (nickname);
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_nickname);
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (full_name);
#line 1297 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (_full_name);
#line 6879 "edsf-persona.c"
}


static EContactPhoto* _vala_EContactPhoto_copy (EContactPhoto* self) {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_boxed_copy (e_contact_photo_get_type (), self);
#line 6886 "edsf-persona.c"
}


static gpointer __vala_EContactPhoto_copy0 (gpointer self) {
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? _vala_EContactPhoto_copy (self) : NULL;
#line 6893 "edsf-persona.c"
}


static void _vala_EContactPhoto_free (EContactPhoto* self) {
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_boxed_free (e_contact_photo_get_type (), self);
#line 6900 "edsf-persona.c"
}


static guint8* _vala_array_dup1 (guint8* self, int length) {
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return g_memdup (self, length * sizeof (guint8));
#line 6907 "edsf-persona.c"
}


static GLoadableIcon* _edsf_persona_contact_photo_to_loadable_icon (EdsfPersona* self, EContactPhoto* _p) {
	GLoadableIcon* result = NULL;
	EContactPhoto* _tmp0_;
	EContactPhoto* _tmp1_;
	EContactPhoto* _tmp2_;
	EContactPhoto* p;
	EContactPhoto* _tmp3_;
	EContactPhotoType _tmp4_;
#line 1357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 1359 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _p;
#line 1359 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp0_ == NULL) {
#line 1361 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = NULL;
#line 1361 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 6929 "edsf-persona.c"
	}
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _p;
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = __vala_EContactPhoto_copy0 ((EContactPhoto*) _tmp1_);
#line 1364 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	p = _tmp2_;
#line 1366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = p;
#line 1366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_->type;
#line 1366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (_tmp4_) {
#line 1366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case E_CONTACT_PHOTO_TYPE_URI:
#line 6945 "edsf-persona.c"
		{
			EContactPhoto* _tmp5_;
			const gchar* _tmp6_ = NULL;
			gchar* _tmp7_;
			gchar* uri;
			const gchar* _tmp8_;
			const gchar* _tmp9_;
			GFile* _tmp10_ = NULL;
			GFile* _tmp11_;
			GFileIcon* _tmp12_;
			GLoadableIcon* _tmp13_;
#line 1369 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp5_ = p;
#line 1369 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = e_contact_photo_get_uri (_tmp5_);
#line 1369 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = g_strdup (_tmp6_);
#line 1369 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			uri = _tmp7_;
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = uri;
#line 1370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp8_ == NULL) {
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				result = NULL;
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (uri);
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				__vala_EContactPhoto_free0 (p);
#line 1372 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				return result;
#line 6977 "edsf-persona.c"
			}
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = uri;
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp10_ = g_file_new_for_uri ((const gchar*) _tmp9_);
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp11_ = _tmp10_;
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = (GFileIcon*) g_file_icon_new (_tmp11_);
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp13_ = (GLoadableIcon*) _tmp12_;
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (_tmp11_);
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			result = _tmp13_;
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (uri);
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			__vala_EContactPhoto_free0 (p);
#line 1375 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return result;
#line 6999 "edsf-persona.c"
		}
#line 1366 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case E_CONTACT_PHOTO_TYPE_INLINED:
#line 7003 "edsf-persona.c"
		{
			EContactPhoto* _tmp14_;
			gsize _tmp15_;
			guint8* _tmp16_ = NULL;
			guint8* _tmp17_;
			gint _tmp17__length1;
			guint8* data;
			gint data_length1;
			gint _data_size_;
			EContactPhoto* _tmp18_;
			const gchar* _tmp19_ = NULL;
			gchar* _tmp20_;
			gchar* mime_type;
			gboolean _tmp21_ = FALSE;
			guint8* _tmp22_;
			gint _tmp22__length1;
			gboolean _tmp24_;
			const gchar* _tmp25_;
			guint8* _tmp26_;
			gint _tmp26__length1;
			EdsfMemoryIcon* _tmp27_;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp14_ = p;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp16_ = e_contact_photo_get_inlined (_tmp14_, &_tmp15_);
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp17_ = (_tmp16_ != NULL) ? _vala_array_dup1 (_tmp16_, _tmp15_) : ((gpointer) _tmp16_);
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp17__length1 = _tmp15_;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			data = _tmp17_;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			data_length1 = _tmp17__length1;
#line 1377 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_data_size_ = data_length1;
#line 1378 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp18_ = p;
#line 1378 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp19_ = e_contact_photo_get_mime_type (_tmp18_);
#line 1378 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp20_ = g_strdup (_tmp19_);
#line 1378 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			mime_type = _tmp20_;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp22_ = data;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp22__length1 = data_length1;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp22_ == NULL) {
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = TRUE;
#line 7055 "edsf-persona.c"
			} else {
				const gchar* _tmp23_;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = mime_type;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = _tmp23_ == NULL;
#line 7062 "edsf-persona.c"
			}
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp24_ = _tmp21_;
#line 1379 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp24_) {
#line 1381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				result = NULL;
#line 1381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (mime_type);
#line 1381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				data = (g_free (data), NULL);
#line 1381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				__vala_EContactPhoto_free0 (p);
#line 1381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				return result;
#line 7078 "edsf-persona.c"
			}
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp25_ = mime_type;
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp26_ = data;
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp26__length1 = data_length1;
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp27_ = edsf_memory_icon_new ((const gchar*) _tmp25_, (guint8*) _tmp26_, (_tmp26__length1 * sizeof (guint8)) / sizeof (guint8));
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			result = (GLoadableIcon*) _tmp27_;
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (mime_type);
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			data = (g_free (data), NULL);
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			__vala_EContactPhoto_free0 (p);
#line 1384 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return result;
#line 7098 "edsf-persona.c"
		}
		default:
		{
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			result = NULL;
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			__vala_EContactPhoto_free0 (p);
#line 1386 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return result;
#line 7108 "edsf-persona.c"
		}
	}
#line 1357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EContactPhoto_free0 (p);
#line 7113 "edsf-persona.c"
}


static Block1Data* block1_data_ref (Block1Data* _data1_) {
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_atomic_int_inc (&_data1_->_ref_count_);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return _data1_;
#line 7122 "edsf-persona.c"
}


static void block1_data_unref (void * _userdata_) {
	Block1Data* _data1_;
	_data1_ = (Block1Data*) _userdata_;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
#line 7131 "edsf-persona.c"
		EdsfPersona * self;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self = _data1_->self;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_data1_->new_avatar);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_data1_->cache);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_slice_free (Block1Data, _data1_);
#line 7143 "edsf-persona.c"
	}
}


static void ___lambda4_ (Block1Data* _data1_, GObject* obj, GAsyncResult* res) {
	EdsfPersona * self;
	GError * _inner_error_ = NULL;
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = _data1_->self;
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (res != NULL);
#line 7155 "edsf-persona.c"
	{
		FolksAvatarCache* _tmp0_;
		GAsyncResult* _tmp1_;
#line 1406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _data1_->cache;
#line 1406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp1_ = res;
#line 1406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_avatar_cache_remove_avatar_finish (_tmp0_, _tmp1_, &_inner_error_);
#line 1406 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_inner_error_ != NULL) {
#line 7167 "edsf-persona.c"
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e1 = NULL;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		e1 = _inner_error_;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_inner_error_ = NULL;
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_error_free0 (e1);
#line 7181 "edsf-persona.c"
	}
	__finally0:
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_inner_error_ != NULL) {
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_clear_error (&_inner_error_);
#line 1404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 7192 "edsf-persona.c"
	}
#line 1410 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_avatar);
#line 1410 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_avatar = NULL;
#line 1411 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_notify ((GObject*) self, "avatar");
#line 7200 "edsf-persona.c"
}


static void ____lambda4__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	___lambda4_ (self, source_object, res);
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	block1_data_unref (self);
#line 7209 "edsf-persona.c"
}


static void ____lambda5_ (Block1Data* _data1_, GObject* obj, GAsyncResult* res) {
	EdsfPersona * self;
	GError * _inner_error_ = NULL;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = _data1_->self;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (res != NULL);
#line 7220 "edsf-persona.c"
	{
		FolksAvatarCache* _tmp0_;
		GAsyncResult* _tmp1_;
		gchar* _tmp2_ = NULL;
		gchar* _tmp3_;
		GLoadableIcon* _tmp4_;
		GLoadableIcon* _tmp5_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _data1_->cache;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp1_ = res;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = folks_avatar_cache_store_avatar_finish (_tmp0_, _tmp1_, &_inner_error_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp3_ = _tmp2_;
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (_tmp3_);
#line 1424 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_inner_error_ != NULL) {
#line 7240 "edsf-persona.c"
			goto __catch1_g_error;
		}
#line 1425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = _data1_->new_avatar;
#line 1425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = _g_object_ref0 (_tmp4_);
#line 1425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_avatar);
#line 1425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_avatar = _tmp5_;
#line 1426 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "avatar");
#line 7253 "edsf-persona.c"
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* e2 = NULL;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		GError* _tmp8_;
		const gchar* _tmp9_;
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		e2 = _inner_error_;
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_inner_error_ = NULL;
#line 1430 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = folks_persona_get_uid ((FolksPersona*) self);
#line 1430 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = _tmp6_;
#line 1430 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = e2;
#line 1430 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp9_ = _tmp8_->message;
#line 1430 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_warning ("edsf-persona.vala:1430: Couldn't cache avatar for Edsf.Persona '%s': %" \
"s", _tmp7_, _tmp9_);
#line 1432 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_data1_->new_avatar);
#line 1432 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_data1_->new_avatar = NULL;
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_error_free0 (e2);
#line 7283 "edsf-persona.c"
	}
	__finally1:
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_inner_error_ != NULL) {
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_clear_error (&_inner_error_);
#line 1422 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 7294 "edsf-persona.c"
	}
}


static void _____lambda5__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	____lambda5_ (self, source_object, res);
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	block1_data_unref (self);
#line 7304 "edsf-persona.c"
}


static void _edsf_persona_update_avatar (EdsfPersona* self) {
	Block1Data* _data1_;
	gpointer _tmp0_ = NULL;
	EContactPhoto* p;
	FolksAvatarCache* _tmp1_ = NULL;
	EContactPhoto* _tmp2_;
	GLoadableIcon* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	GLoadableIcon* _tmp5_;
	gboolean _tmp7_;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_ = g_slice_new0 (Block1Data);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_->_ref_count_ = 1;
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_->self = g_object_ref (self);
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _edsf_persona_get_property (self, e_contact_photo_get_type (), (GBoxedCopyFunc) _vala_EContactPhoto_copy, _vala_EContactPhoto_free, "photo");
#line 1392 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	p = (EContactPhoto*) _tmp0_;
#line 1394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = folks_avatar_cache_dup ();
#line 1394 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_->cache = _tmp1_;
#line 1397 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = p;
#line 1397 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _edsf_persona_contact_photo_to_loadable_icon (self, _tmp2_);
#line 1397 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_->new_avatar = _tmp3_;
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = self->priv->_avatar;
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5_ != NULL) {
#line 7344 "edsf-persona.c"
		GLoadableIcon* _tmp6_;
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = _data1_->new_avatar;
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = _tmp6_ == NULL;
#line 7350 "edsf-persona.c"
	} else {
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = FALSE;
#line 7354 "edsf-persona.c"
	}
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = _tmp4_;
#line 1399 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp7_) {
#line 7360 "edsf-persona.c"
		FolksAvatarCache* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = _data1_->cache;
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp9_ = folks_persona_get_uid ((FolksPersona*) self);
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp10_ = _tmp9_;
#line 1402 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_avatar_cache_remove_avatar (_tmp8_, _tmp10_, ____lambda4__gasync_ready_callback, block1_data_ref (_data1_));
#line 7372 "edsf-persona.c"
	} else {
		gboolean _tmp11_ = FALSE;
		gboolean _tmp12_ = FALSE;
		GLoadableIcon* _tmp13_;
		gboolean _tmp15_;
		gboolean _tmp25_;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp13_ = self->priv->_avatar;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp13_ == NULL) {
#line 7383 "edsf-persona.c"
			GLoadableIcon* _tmp14_;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp14_ = _data1_->new_avatar;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = _tmp14_ != NULL;
#line 7389 "edsf-persona.c"
		} else {
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp12_ = FALSE;
#line 7393 "edsf-persona.c"
		}
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp15_ = _tmp12_;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp15_) {
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp11_ = TRUE;
#line 7401 "edsf-persona.c"
		} else {
			gboolean _tmp16_ = FALSE;
			gboolean _tmp17_ = FALSE;
			GLoadableIcon* _tmp18_;
			gboolean _tmp20_;
			gboolean _tmp24_;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp18_ = self->priv->_avatar;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp18_ != NULL) {
#line 7412 "edsf-persona.c"
				GLoadableIcon* _tmp19_;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = _data1_->new_avatar;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = _tmp19_ != NULL;
#line 7418 "edsf-persona.c"
			} else {
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = FALSE;
#line 7422 "edsf-persona.c"
			}
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp20_ = _tmp17_;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp20_) {
#line 7428 "edsf-persona.c"
				GLoadableIcon* _tmp21_;
				GLoadableIcon* _tmp22_;
				gboolean _tmp23_ = FALSE;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = self->priv->_avatar;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = _data1_->new_avatar;
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = g_icon_equal ((GIcon*) G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, g_loadable_icon_get_type (), GLoadableIcon), (GIcon*) _tmp22_);
#line 1416 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = _tmp23_ == FALSE;
#line 7440 "edsf-persona.c"
			} else {
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = FALSE;
#line 7444 "edsf-persona.c"
			}
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp24_ = _tmp16_;
#line 1415 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp11_ = _tmp24_;
#line 7450 "edsf-persona.c"
		}
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = _tmp11_;
#line 1414 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp25_) {
#line 7456 "edsf-persona.c"
			FolksAvatarCache* _tmp26_;
			const gchar* _tmp27_;
			const gchar* _tmp28_;
			GLoadableIcon* _tmp29_;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp26_ = _data1_->cache;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp27_ = folks_persona_get_uid ((FolksPersona*) self);
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp28_ = _tmp27_;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp29_ = _data1_->new_avatar;
#line 1420 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			folks_avatar_cache_store_avatar (_tmp26_, _tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, g_loadable_icon_get_type (), GLoadableIcon), _____lambda5__gasync_ready_callback, block1_data_ref (_data1_));
#line 7471 "edsf-persona.c"
		}
	}
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EContactPhoto_free0 (p);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	block1_data_unref (_data1_);
#line 1390 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_data1_ = NULL;
#line 7480 "edsf-persona.c"
}


static void _edsf_persona_update_urls (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp10_;
	GeeHashSet* new_urls;
	EContact* _tmp29_;
	EContact* _tmp30_;
	EVCard* _tmp31_;
	EVCard* vcard;
	EVCard* _tmp32_;
	GList* _tmp33_ = NULL;
	GeeHashSet* _tmp48_;
	GeeHashSet* _tmp49_;
	gboolean _tmp50_ = FALSE;
#line 1438 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_urls;
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 7505 "edsf-persona.c"
		gboolean _tmp2_;
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 7511 "edsf-persona.c"
	} else {
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 7515 "edsf-persona.c"
	}
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1442 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 7521 "edsf-persona.c"
		gboolean _tmp4_;
#line 1444 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1444 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1446 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "urls");
#line 7529 "edsf-persona.c"
		}
#line 1448 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 7533 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_urls;
#line 1450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 7540 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (FOLKS_TYPE_URL_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_urls);
#line 1452 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_urls = _tmp6_;
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_urls;
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_urls_ro);
#line 1455 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_urls_ro = _tmp9_;
#line 7561 "edsf-persona.c"
		}
	}
#line 1458 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = gee_hash_set_new (FOLKS_TYPE_URL_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1458 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_urls = _tmp10_;
#line 7568 "edsf-persona.c"
	{
		EdsfPersonaUrlTypeMapping* mapping_collection = NULL;
		gint mapping_collection_length1 = 0;
		gint _mapping_collection_size_ = 0;
		gint mapping_it = 0;
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		mapping_collection = EDSF_PERSONA__url_properties;
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		mapping_collection_length1 = G_N_ELEMENTS (EDSF_PERSONA__url_properties);
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (mapping_it = 0; mapping_it < G_N_ELEMENTS (EDSF_PERSONA__url_properties); mapping_it = mapping_it + 1) {
#line 7580 "edsf-persona.c"
			EdsfPersonaUrlTypeMapping mapping = {0};
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			mapping = mapping_collection[mapping_it];
#line 7584 "edsf-persona.c"
			{
				EdsfPersonaUrlTypeMapping _tmp11_;
				const gchar* _tmp12_;
				gchar* _tmp13_;
				gchar* url_property;
				EdsfPersonaUrlTypeMapping _tmp14_;
				const gchar* _tmp15_;
				gchar* _tmp16_;
				gchar* folks_type;
				const gchar* _tmp17_;
				gpointer _tmp18_ = NULL;
				gchar* u;
				gboolean _tmp19_ = FALSE;
				const gchar* _tmp20_;
				gboolean _tmp22_;
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp11_ = mapping;
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp12_ = _tmp11_.vcard_field_name;
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp13_ = g_strdup (_tmp12_);
#line 1465 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				url_property = _tmp13_;
#line 1466 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp14_ = mapping;
#line 1466 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp15_ = _tmp14_.folks_type;
#line 1466 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = g_strdup (_tmp15_);
#line 1466 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				folks_type = _tmp16_;
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = url_property;
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = _edsf_persona_get_property (self, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp17_);
#line 1468 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				u = (gchar*) _tmp18_;
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = u;
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp20_ != NULL) {
#line 7626 "edsf-persona.c"
					const gchar* _tmp21_;
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp21_ = u;
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp19_ = g_strcmp0 (_tmp21_, "") != 0;
#line 7632 "edsf-persona.c"
				} else {
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp19_ = FALSE;
#line 7636 "edsf-persona.c"
				}
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = _tmp19_;
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp22_) {
#line 7642 "edsf-persona.c"
					const gchar* _tmp23_;
					FolksUrlFieldDetails* _tmp24_;
					FolksUrlFieldDetails* fd_u;
					FolksUrlFieldDetails* _tmp25_;
					const gchar* _tmp26_;
					GeeHashSet* _tmp27_;
					FolksUrlFieldDetails* _tmp28_;
#line 1471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp23_ = u;
#line 1471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp24_ = folks_url_field_details_new ((const gchar*) _tmp23_, NULL);
#line 1471 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					fd_u = _tmp24_;
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp25_ = fd_u;
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp26_ = folks_type;
#line 1472 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					folks_abstract_field_details_set_parameter ((FolksAbstractFieldDetails*) _tmp25_, FOLKS_ABSTRACT_FIELD_DETAILS_PARAM_TYPE, _tmp26_);
#line 1473 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp27_ = new_urls;
#line 1473 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp28_ = fd_u;
#line 1473 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp27_, _tmp28_);
#line 1469 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (fd_u);
#line 7670 "edsf-persona.c"
				}
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (u);
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (folks_type);
#line 1463 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (url_property);
#line 7678 "edsf-persona.c"
			}
		}
	}
#line 1478 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = edsf_persona_get_contact (self);
#line 1478 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp30_ = _tmp29_;
#line 1478 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, e_vcard_get_type (), EVCard));
#line 1478 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	vcard = _tmp31_;
#line 1479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp32_ = vcard;
#line 1479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp33_ = e_vcard_get_attributes (_tmp32_);
#line 7694 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp33_;
#line 1479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 7702 "edsf-persona.c"
			EVCardAttribute* attr = NULL;
#line 1479 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = (EVCardAttribute*) attr_it->data;
#line 7706 "edsf-persona.c"
			{
				EVCardAttribute* _tmp34_;
				const gchar* _tmp35_ = NULL;
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp34_ = attr;
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp35_ = e_vcard_attribute_get_name (_tmp34_);
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (g_strcmp0 (_tmp35_, "X-URIS") == 0) {
#line 7716 "edsf-persona.c"
					EVCardAttribute* _tmp36_;
					gchar* _tmp37_ = NULL;
					gchar* val;
					gboolean _tmp38_ = FALSE;
					const gchar* _tmp39_;
					gboolean _tmp41_;
					const gchar* _tmp42_;
					FolksUrlFieldDetails* _tmp43_;
					FolksUrlFieldDetails* url_fd;
					FolksUrlFieldDetails* _tmp44_;
					EVCardAttribute* _tmp45_;
					GeeHashSet* _tmp46_;
					FolksUrlFieldDetails* _tmp47_;
#line 1483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp36_ = attr;
#line 1483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp37_ = e_vcard_attribute_get_value (_tmp36_);
#line 1483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					val = _tmp37_;
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp39_ = val;
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (_tmp39_ == NULL) {
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp38_ = TRUE;
#line 7742 "edsf-persona.c"
					} else {
						const gchar* _tmp40_;
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp40_ = val;
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp38_ = g_strcmp0 ((const gchar*) _tmp40_, "") == 0;
#line 7749 "edsf-persona.c"
					}
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp41_ = _tmp38_;
#line 1484 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (_tmp41_) {
#line 1486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (val);
#line 1486 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						continue;
#line 7759 "edsf-persona.c"
					}
#line 1489 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp42_ = val;
#line 1489 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp43_ = folks_url_field_details_new ((const gchar*) _tmp42_, NULL);
#line 1489 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					url_fd = _tmp43_;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp44_ = url_fd;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp45_ = attr;
#line 1490 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_edsf_persona_update_params (self, (FolksAbstractFieldDetails*) _tmp44_, _tmp45_);
#line 1491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp46_ = new_urls;
#line 1491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp47_ = url_fd;
#line 1491 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp46_, _tmp47_);
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (url_fd);
#line 1481 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (val);
#line 7783 "edsf-persona.c"
				}
			}
		}
	}
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp48_ = new_urls;
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp49_ = self->priv->_urls;
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp50_ = folks_utils_set_afd_equal ((GeeSet*) _tmp48_, (GeeSet*) _tmp49_);
#line 1495 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp50_) {
#line 7796 "edsf-persona.c"
		GeeHashSet* _tmp51_;
		GeeHashSet* _tmp52_;
		GeeHashSet* _tmp53_;
		GeeSet* _tmp54_;
		GeeSet* _tmp55_;
		gboolean _tmp56_;
#line 1497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp51_ = new_urls;
#line 1497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp52_ = _g_object_ref0 (_tmp51_);
#line 1497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_urls);
#line 1497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_urls = _tmp52_;
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp53_ = new_urls;
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp54_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp53_);
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp55_ = _tmp54_;
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_urls_ro);
#line 1498 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_urls_ro = _tmp55_;
#line 1499 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp56_ = emit_notification;
#line 1499 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp56_) {
#line 1501 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "urls");
#line 7827 "edsf-persona.c"
		}
	}
#line 1438 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (vcard);
#line 1438 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_urls);
#line 7834 "edsf-persona.c"
}


static void _edsf_persona_update_im_addresses (EdsfPersona* self) {
	GHashTable* _tmp0_ = NULL;
	GHashTable* im_eds_map;
	GeeHashMultiMap* _tmp1_;
	GeeHashMultiMap* new_im_addresses;
	GHashTable* _tmp2_;
	GList* _tmp3_ = NULL;
	GeeHashMultiMap* _tmp80_;
	GeeHashMultiMap* _tmp81_;
	gboolean _tmp82_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = _edsf_persona_get_im_eds_map ();
#line 1508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	im_eds_map = _tmp0_;
#line 1509 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, FOLKS_TYPE_IM_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1509 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_im_addresses = _tmp1_;
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = im_eds_map;
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = g_hash_table_get_keys (_tmp2_);
#line 7863 "edsf-persona.c"
	{
		GList* im_proto_collection = NULL;
		GList* im_proto_it = NULL;
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		im_proto_collection = _tmp3_;
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (im_proto_it = im_proto_collection; im_proto_it != NULL; im_proto_it = im_proto_it->next) {
#line 7871 "edsf-persona.c"
			const gchar* im_proto = NULL;
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			im_proto = (const gchar*) im_proto_it->data;
#line 7875 "edsf-persona.c"
			{
				EContact* _tmp4_;
				EContact* _tmp5_;
				GHashTable* _tmp6_;
				const gchar* _tmp7_;
				gconstpointer _tmp8_ = NULL;
				GList* _tmp9_ = NULL;
				GList* addresses;
				GList* _tmp10_;
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp4_ = edsf_persona_get_contact (self);
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp5_ = _tmp4_;
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp6_ = im_eds_map;
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp7_ = im_proto;
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp8_ = g_hash_table_lookup (_tmp6_, _tmp7_);
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp9_ = e_contact_get_attributes (_tmp5_, (EContactField) ((gintptr) _tmp8_));
#line 1515 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				addresses = _tmp9_;
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp10_ = addresses;
#line 7901 "edsf-persona.c"
				{
					GList* attr_collection = NULL;
					GList* attr_it = NULL;
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					attr_collection = _tmp10_;
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 7909 "edsf-persona.c"
						EVCardAttribute* _tmp11_;
						EVCardAttribute* attr = NULL;
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp11_ = __vala_EVCardAttribute_copy0 ((EVCardAttribute*) attr_it->data);
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						attr = _tmp11_;
#line 7916 "edsf-persona.c"
						{
							{
								EVCardAttribute* _tmp12_;
								gchar* _tmp13_ = NULL;
								gchar* addr;
								gboolean _tmp14_ = FALSE;
								const gchar* _tmp15_;
								gboolean _tmp17_;
								const gchar* _tmp18_;
								const gchar* _tmp19_;
								gchar* _tmp20_ = NULL;
								gchar* _tmp21_;
								gchar* _tmp22_;
								gchar* _tmp23_;
								gchar* _tmp24_;
								gchar* normalised_addr;
								const gchar* _tmp25_;
								const gchar* _tmp26_;
								FolksImFieldDetails* _tmp27_;
								FolksImFieldDetails* im_fd;
								GeeHashMultiMap* _tmp28_;
								const gchar* _tmp29_;
								FolksImFieldDetails* _tmp30_;
#line 1521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp12_ = attr;
#line 1521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp13_ = e_vcard_attribute_get_value (_tmp12_);
#line 1521 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								addr = _tmp13_;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp15_ = addr;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (_tmp15_ == NULL) {
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp14_ = TRUE;
#line 7952 "edsf-persona.c"
								} else {
									const gchar* _tmp16_;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp16_ = addr;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_tmp14_ = g_strcmp0 ((const gchar*) _tmp16_, "") == 0;
#line 7959 "edsf-persona.c"
								}
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp17_ = _tmp14_;
#line 1522 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (_tmp17_) {
#line 1524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (addr);
#line 1524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									__vala_EVCardAttribute_free0 (attr);
#line 1524 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									continue;
#line 7971 "edsf-persona.c"
								}
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp18_ = addr;
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp19_ = im_proto;
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp20_ = folks_im_details_normalise_im_address ((const gchar*) _tmp18_, _tmp19_, &_inner_error_);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp21_ = _tmp20_;
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (_inner_error_ != NULL) {
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (addr);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									if (_inner_error_->domain == FOLKS_IM_DETAILS_ERROR) {
#line 7987 "edsf-persona.c"
										goto __catch2_folks_im_details_error;
									}
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (addr);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									__vala_EVCardAttribute_free0 (attr);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									__g_list_free___vala_EVCardAttribute_free0_0 (addresses);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_list_free0 (im_proto_collection);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_object_unref0 (new_im_addresses);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_hash_table_unref0 (im_eds_map);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									g_clear_error (&_inner_error_);
#line 1528 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									return;
#line 8008 "edsf-persona.c"
								}
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp22_ = _tmp21_;
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp23_ = _tmp22_;
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp22_ = NULL;
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp24_ = _tmp23_;
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (_tmp22_);
#line 1527 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								normalised_addr = _tmp24_;
#line 1530 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp25_ = normalised_addr;
#line 1530 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								if (g_strcmp0 (_tmp25_, "") == 0) {
#line 1532 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (normalised_addr);
#line 1532 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									_g_free0 (addr);
#line 1532 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									__vala_EVCardAttribute_free0 (attr);
#line 1532 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
									continue;
#line 8034 "edsf-persona.c"
								}
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp26_ = normalised_addr;
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp27_ = folks_im_field_details_new (_tmp26_, NULL);
#line 1535 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								im_fd = _tmp27_;
#line 1536 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp28_ = new_im_addresses;
#line 1536 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp29_ = im_proto;
#line 1536 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp30_ = im_fd;
#line 1536 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								gee_multi_map_set ((GeeMultiMap*) _tmp28_, _tmp29_, _tmp30_);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_object_unref0 (im_fd);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (normalised_addr);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_free0 (addr);
#line 8056 "edsf-persona.c"
							}
							goto __finally2;
							__catch2_folks_im_details_error:
							{
								GError* e = NULL;
								GError* _tmp31_;
								const gchar* _tmp32_;
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								e = _inner_error_;
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_inner_error_ = NULL;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp31_ = e;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_tmp32_ = _tmp31_->message;
#line 1540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								g_warning ("edsf-persona.vala:1540: Problem when trying to normalise address: %s\n", _tmp32_);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_error_free0 (e);
#line 8076 "edsf-persona.c"
							}
							__finally2:
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							if (_inner_error_ != NULL) {
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								__vala_EVCardAttribute_free0 (attr);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								__g_list_free___vala_EVCardAttribute_free0_0 (addresses);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_list_free0 (im_proto_collection);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_object_unref0 (new_im_addresses);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_hash_table_unref0 (im_eds_map);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								g_clear_error (&_inner_error_);
#line 1519 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								return;
#line 8097 "edsf-persona.c"
							}
#line 1517 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							__vala_EVCardAttribute_free0 (attr);
#line 8101 "edsf-persona.c"
						}
					}
				}
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				__g_list_free___vala_EVCardAttribute_free0_0 (addresses);
#line 8107 "edsf-persona.c"
			}
		}
#line 1513 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_list_free0 (im_proto_collection);
#line 8112 "edsf-persona.c"
	}
	{
		GeeSet* _tmp33_;
		GeeSet* _tmp34_;
		GeeIterator* _tmp35_ = NULL;
		GeeIterator* _email_it;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = folks_email_details_get_email_addresses ((FolksEmailDetails*) self);
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp34_ = _tmp33_;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp35_ = gee_iterable_iterator ((GeeIterable*) _tmp34_);
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_email_it = _tmp35_;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		while (TRUE) {
#line 8129 "edsf-persona.c"
			GeeIterator* _tmp36_;
			gboolean _tmp37_ = FALSE;
			GeeIterator* _tmp38_;
			gpointer _tmp39_ = NULL;
			FolksEmailFieldDetails* email;
			FolksEmailFieldDetails* _tmp40_;
			gconstpointer _tmp41_;
			const gchar* _tmp42_;
			gchar* _tmp43_ = NULL;
			gchar* _proto;
			const gchar* _tmp44_;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp36_ = _email_it;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp37_ = gee_iterator_next (_tmp36_);
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (!_tmp37_) {
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				break;
#line 8149 "edsf-persona.c"
			}
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp38_ = _email_it;
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp39_ = gee_iterator_get (_tmp38_);
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			email = (FolksEmailFieldDetails*) _tmp39_;
#line 1562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp40_ = email;
#line 1562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp41_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp40_);
#line 1562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp42_ = _tmp41_;
#line 1562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp43_ = _edsf_persona_im_proto_from_addr (self, (const gchar*) _tmp42_);
#line 1562 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_proto = _tmp43_;
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp44_ = _proto;
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp44_ != NULL) {
#line 8171 "edsf-persona.c"
				const gchar* _tmp45_;
				gchar* _tmp46_;
				gchar* proto;
				gboolean exists;
				GeeHashMultiMap* _tmp47_;
				const gchar* _tmp48_;
				GeeCollection* _tmp49_ = NULL;
				GeeCollection* current_im_addrs;
				GeeCollection* _tmp50_;
				gboolean _tmp63_;
#line 1565 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp45_ = _proto;
#line 1565 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp46_ = g_strdup ((const gchar*) _tmp45_);
#line 1565 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				proto = _tmp46_;
#line 1568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				exists = FALSE;
#line 1569 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp47_ = new_im_addresses;
#line 1569 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp48_ = proto;
#line 1569 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp49_ = gee_multi_map_get ((GeeMultiMap*) _tmp47_, _tmp48_);
#line 1569 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				current_im_addrs = _tmp49_;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp50_ = current_im_addrs;
#line 1571 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp50_ != NULL) {
#line 8202 "edsf-persona.c"
					{
						GeeCollection* _tmp51_;
						GeeIterator* _tmp52_ = NULL;
						GeeIterator* _cur_im_it;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp51_ = current_im_addrs;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp52_ = gee_iterable_iterator ((GeeIterable*) G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_cur_im_it = _tmp52_;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						while (TRUE) {
#line 8215 "edsf-persona.c"
							GeeIterator* _tmp53_;
							gboolean _tmp54_ = FALSE;
							GeeIterator* _tmp55_;
							gpointer _tmp56_ = NULL;
							FolksImFieldDetails* cur_im;
							FolksImFieldDetails* _tmp57_;
							gconstpointer _tmp58_;
							const gchar* _tmp59_;
							FolksEmailFieldDetails* _tmp60_;
							gconstpointer _tmp61_;
							const gchar* _tmp62_;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp53_ = _cur_im_it;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp54_ = gee_iterator_next (_tmp53_);
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							if (!_tmp54_) {
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								break;
#line 8235 "edsf-persona.c"
							}
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp55_ = _cur_im_it;
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp56_ = gee_iterator_get (_tmp55_);
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							cur_im = (FolksImFieldDetails*) _tmp56_;
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp57_ = cur_im;
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp58_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp57_);
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp59_ = _tmp58_;
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp60_ = email;
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp61_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp60_);
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_tmp62_ = _tmp61_;
#line 1575 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							if (g_strcmp0 ((const gchar*) _tmp59_, (const gchar*) _tmp62_) == 0) {
#line 1577 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								exists = TRUE;
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								_g_object_unref0 (cur_im);
#line 1578 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
								break;
#line 8263 "edsf-persona.c"
							}
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_g_object_unref0 (cur_im);
#line 8267 "edsf-persona.c"
						}
#line 1573 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (_cur_im_it);
#line 8271 "edsf-persona.c"
					}
				}
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp63_ = exists;
#line 1583 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp63_) {
#line 1584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (current_im_addrs);
#line 1584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (proto);
#line 1584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (_proto);
#line 1584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (email);
#line 1584 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 8288 "edsf-persona.c"
				}
				{
					FolksEmailFieldDetails* _tmp64_;
					gconstpointer _tmp65_;
					const gchar* _tmp66_;
					const gchar* _tmp67_;
					gchar* _tmp68_ = NULL;
					gchar* _tmp69_;
					gchar* _tmp70_;
					gchar* _tmp71_;
					gchar* _tmp72_;
					gchar* normalised_addr;
					const gchar* _tmp73_;
					FolksImFieldDetails* _tmp74_;
					FolksImFieldDetails* im_fd;
					GeeHashMultiMap* _tmp75_;
					const gchar* _tmp76_;
					FolksImFieldDetails* _tmp77_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp64_ = email;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp65_ = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*) _tmp64_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp66_ = _tmp65_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp67_ = proto;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp68_ = folks_im_details_normalise_im_address ((const gchar*) _tmp66_, _tmp67_, &_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp69_ = _tmp68_;
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (_inner_error_ != NULL) {
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						if (_inner_error_->domain == FOLKS_IM_DETAILS_ERROR) {
#line 8323 "edsf-persona.c"
							goto __catch3_folks_im_details_error;
						}
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (current_im_addrs);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (proto);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (_proto);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (email);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (_email_it);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_object_unref0 (new_im_addresses);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_hash_table_unref0 (im_eds_map);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						g_clear_error (&_inner_error_);
#line 1589 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						return;
#line 8346 "edsf-persona.c"
					}
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp70_ = _tmp69_;
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp71_ = _tmp70_;
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp70_ = NULL;
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp72_ = _tmp71_;
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (_tmp70_);
#line 1588 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					normalised_addr = _tmp72_;
#line 1590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp73_ = normalised_addr;
#line 1590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp74_ = folks_im_field_details_new (_tmp73_, NULL);
#line 1590 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					im_fd = _tmp74_;
#line 1591 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp75_ = new_im_addresses;
#line 1591 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp76_ = proto;
#line 1591 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp77_ = im_fd;
#line 1591 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					gee_multi_map_set ((GeeMultiMap*) _tmp75_, _tmp76_, _tmp77_);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (im_fd);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (normalised_addr);
#line 8378 "edsf-persona.c"
				}
				goto __finally3;
				__catch3_folks_im_details_error:
				{
					GError* e = NULL;
					GError* _tmp78_;
					const gchar* _tmp79_;
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					e = _inner_error_;
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_inner_error_ = NULL;
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp78_ = e;
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp79_ = _tmp78_->message;
#line 1595 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					g_warning ("edsf-persona.vala:1595: Problem when trying to normalise address: %s\n", _tmp79_);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_error_free0 (e);
#line 8398 "edsf-persona.c"
				}
				__finally3:
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_inner_error_ != NULL) {
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (current_im_addrs);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (proto);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (_proto);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (email);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (_email_it);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (new_im_addresses);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_hash_table_unref0 (im_eds_map);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					g_clear_error (&_inner_error_);
#line 1586 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					return;
#line 8423 "edsf-persona.c"
				}
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (current_im_addrs);
#line 1563 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (proto);
#line 8429 "edsf-persona.c"
			}
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (_proto);
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (email);
#line 8435 "edsf-persona.c"
		}
#line 1560 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_email_it);
#line 8439 "edsf-persona.c"
	}
#line 1602 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp80_ = new_im_addresses;
#line 1602 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp81_ = self->priv->_im_addresses;
#line 1602 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp82_ = folks_utils_multi_map_str_afd_equal ((GeeMultiMap*) _tmp80_, (GeeMultiMap*) _tmp81_);
#line 1602 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp82_) {
#line 8449 "edsf-persona.c"
		GeeHashMultiMap* _tmp83_;
		GeeHashMultiMap* _tmp84_;
#line 1605 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp83_ = new_im_addresses;
#line 1605 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp84_ = _g_object_ref0 (_tmp83_);
#line 1605 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_im_addresses);
#line 1605 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_im_addresses = _tmp84_;
#line 1606 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "im-addresses");
#line 8462 "edsf-persona.c"
	}
#line 1506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_im_addresses);
#line 1506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_hash_table_unref0 (im_eds_map);
#line 8468 "edsf-persona.c"
}


static void _g_free0_ (gpointer var) {
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	var = (g_free (var), NULL);
#line 8475 "edsf-persona.c"
}


static void _g_list_free__g_free0_ (GList* self) {
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_list_foreach (self, (GFunc) _g_free0_, NULL);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_list_free (self);
#line 8484 "edsf-persona.c"
}


static void _edsf_persona_update_groups (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	EContact* _tmp10_;
	gpointer _tmp11_ = NULL;
	GList* category_names;
	GeeHashSet* _tmp12_;
	GeeHashSet* new_categories;
	GeeLinkedList* _tmp13_;
	GeeLinkedList* added_categories;
	GList* _tmp14_;
	GeeLinkedList* _tmp29_;
	GeeLinkedList* removed_categories;
	FolksPersonaStore* _tmp47_;
	FolksPersonaStore* _tmp48_;
	EdsfPersonaStore* _tmp49_;
	EdsfPersonaStore* store;
	gboolean in_google_personal_group;
	EdsfPersonaStore* _tmp50_;
	gboolean _tmp51_ = FALSE;
	gboolean _tmp63_;
	gboolean old_is_favourite;
	EdsfPersonaStore* _tmp64_;
	gboolean _tmp65_ = FALSE;
	gboolean _tmp69_ = FALSE;
	gboolean _tmp70_ = FALSE;
	GeeLinkedList* _tmp71_;
	gint _tmp72_;
	gint _tmp73_;
	gboolean _tmp77_;
	gboolean _tmp79_;
	gboolean _tmp80_ = FALSE;
	gboolean _tmp81_;
	gboolean _tmp82_;
	gboolean _tmp84_;
	gboolean _tmp85_;
	gboolean _tmp86_;
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_groups;
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 8532 "edsf-persona.c"
		gboolean _tmp2_;
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 8538 "edsf-persona.c"
	} else {
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 8542 "edsf-persona.c"
	}
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1614 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 8548 "edsf-persona.c"
		gboolean _tmp4_;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1616 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1618 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "groups");
#line 8556 "edsf-persona.c"
		}
#line 1620 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 8560 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_groups;
#line 1622 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 8567 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1624 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 1624 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_groups);
#line 1624 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_groups = _tmp6_;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_groups;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_groups_ro);
#line 1625 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_groups_ro = _tmp9_;
#line 8588 "edsf-persona.c"
		}
	}
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = self->priv->_contact;
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = e_contact_get (_tmp10_, E_CONTACT_CATEGORY_LIST);
#line 1628 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	category_names = (GList*) _tmp11_;
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 1630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_categories = _tmp12_;
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = gee_linked_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
#line 1631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	added_categories = _tmp13_;
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = category_names;
#line 8607 "edsf-persona.c"
	{
		GList* category_name_collection = NULL;
		GList* category_name_it = NULL;
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		category_name_collection = _tmp14_;
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (category_name_it = category_name_collection; category_name_it != NULL; category_name_it = category_name_it->next) {
#line 8615 "edsf-persona.c"
			gchar* _tmp15_;
			gchar* category_name = NULL;
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp15_ = g_strdup ((const gchar*) category_name_it->data);
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			category_name = _tmp15_;
#line 8622 "edsf-persona.c"
			{
				gboolean _tmp16_ = FALSE;
				FolksPersonaStore* _tmp17_;
				FolksPersonaStore* _tmp18_;
				gboolean _tmp19_ = FALSE;
				gboolean _tmp21_;
				GeeHashSet* _tmp22_;
				const gchar* _tmp23_;
				GeeHashSet* _tmp24_;
				const gchar* _tmp25_;
				gboolean _tmp26_ = FALSE;
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = folks_persona_get_store ((FolksPersona*) self);
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = _tmp17_;
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = _edsf_persona_store_is_google_contacts_address_book (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore));
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp19_) {
#line 8642 "edsf-persona.c"
					const gchar* _tmp20_;
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp20_ = category_name;
#line 1638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp16_ = g_strcmp0 (_tmp20_, EDSF_PERSONA_STORE_android_favourite_group_name) == 0;
#line 8648 "edsf-persona.c"
				} else {
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp16_ = FALSE;
#line 8652 "edsf-persona.c"
				}
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = _tmp16_;
#line 1637 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp21_) {
#line 1640 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (category_name);
#line 1640 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 8662 "edsf-persona.c"
				}
#line 1643 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = new_categories;
#line 1643 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = category_name;
#line 1643 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp22_, _tmp23_);
#line 1646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp24_ = self->priv->_groups;
#line 1646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp25_ = category_name;
#line 1646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp26_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp24_, _tmp25_);
#line 1646 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (!_tmp26_) {
#line 8678 "edsf-persona.c"
					GeeLinkedList* _tmp27_;
					const gchar* _tmp28_;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp27_ = added_categories;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp28_ = category_name;
#line 1648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp27_, _tmp28_);
#line 8687 "edsf-persona.c"
				}
#line 1633 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (category_name);
#line 8691 "edsf-persona.c"
			}
		}
	}
#line 1653 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = gee_linked_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
#line 1653 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	removed_categories = _tmp29_;
#line 8699 "edsf-persona.c"
	{
		GeeHashSet* _tmp30_;
		GeeIterator* _tmp31_ = NULL;
		GeeIterator* _category_name_it;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = self->priv->_groups;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) _tmp30_);
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_category_name_it = _tmp31_;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		while (TRUE) {
#line 8712 "edsf-persona.c"
			GeeIterator* _tmp32_;
			gboolean _tmp33_ = FALSE;
			GeeIterator* _tmp34_;
			gpointer _tmp35_ = NULL;
			gchar* category_name;
			gboolean _tmp36_ = FALSE;
			FolksPersonaStore* _tmp37_;
			FolksPersonaStore* _tmp38_;
			gboolean _tmp39_ = FALSE;
			gboolean _tmp41_;
			GeeHashSet* _tmp42_;
			const gchar* _tmp43_;
			gboolean _tmp44_ = FALSE;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp32_ = _category_name_it;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp33_ = gee_iterator_next (_tmp32_);
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (!_tmp33_) {
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				break;
#line 8734 "edsf-persona.c"
			}
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp34_ = _category_name_it;
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp35_ = gee_iterator_get (_tmp34_);
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			category_name = (gchar*) _tmp35_;
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp37_ = folks_persona_get_store ((FolksPersona*) self);
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp38_ = _tmp37_;
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp39_ = _edsf_persona_store_is_google_contacts_address_book (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore));
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp39_) {
#line 8750 "edsf-persona.c"
				const gchar* _tmp40_;
#line 1660 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp40_ = category_name;
#line 1660 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp36_ = g_strcmp0 (_tmp40_, EDSF_PERSONA_STORE_android_favourite_group_name) == 0;
#line 8756 "edsf-persona.c"
			} else {
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp36_ = FALSE;
#line 8760 "edsf-persona.c"
			}
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp41_ = _tmp36_;
#line 1659 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp41_) {
#line 1662 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (category_name);
#line 1662 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				continue;
#line 8770 "edsf-persona.c"
			}
#line 1665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp42_ = new_categories;
#line 1665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp43_ = category_name;
#line 1665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp44_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp42_, _tmp43_);
#line 1665 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (!_tmp44_) {
#line 8780 "edsf-persona.c"
				GeeLinkedList* _tmp45_;
				const gchar* _tmp46_;
#line 1667 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp45_ = removed_categories;
#line 1667 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp46_ = category_name;
#line 1667 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp45_, _tmp46_);
#line 8789 "edsf-persona.c"
			}
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (category_name);
#line 8793 "edsf-persona.c"
		}
#line 1655 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (_category_name_it);
#line 8797 "edsf-persona.c"
	}
#line 1672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp47_ = folks_persona_get_store ((FolksPersona*) self);
#line 1672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp48_ = _tmp47_;
#line 1672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp49_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, EDSF_TYPE_PERSONA_STORE, EdsfPersonaStore));
#line 1672 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	store = _tmp49_;
#line 1673 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	in_google_personal_group = FALSE;
#line 1675 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp50_ = store;
#line 1675 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp51_ = _edsf_persona_store_is_google_contacts_address_book (_tmp50_);
#line 1675 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp51_) {
#line 8815 "edsf-persona.c"
		EContact* _tmp52_;
		EContact* _tmp53_;
		EVCard* _tmp54_;
		EVCard* vcard;
		EVCard* _tmp55_;
		EVCardAttribute* _tmp56_ = NULL;
		EVCardAttribute* attr;
		EVCardAttribute* _tmp57_;
#line 1677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp52_ = edsf_persona_get_contact (self);
#line 1677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp53_ = _tmp52_;
#line 1677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp54_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, e_vcard_get_type (), EVCard));
#line 1677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		vcard = _tmp54_;
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp55_ = vcard;
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp56_ = e_vcard_get_attribute (_tmp55_, "X-GOOGLE-SYSTEM-GROUP-IDS");
#line 1678 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr = _tmp56_;
#line 1680 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp57_ = attr;
#line 1680 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp57_ != NULL) {
#line 8842 "edsf-persona.c"
			EVCardAttribute* _tmp58_;
			GList* _tmp59_ = NULL;
			GList* vals;
			GList* _tmp60_;
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp58_ = attr;
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp59_ = e_vcard_attribute_get_values (_tmp58_);
#line 1682 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			vals = _tmp59_;
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp60_ = vals;
#line 8855 "edsf-persona.c"
			{
				GList* system_group_id_collection = NULL;
				GList* system_group_id_it = NULL;
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				system_group_id_collection = _tmp60_;
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				for (system_group_id_it = system_group_id_collection; system_group_id_it != NULL; system_group_id_it = system_group_id_it->next) {
#line 8863 "edsf-persona.c"
					gchar* _tmp61_;
					gchar* system_group_id = NULL;
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp61_ = g_strdup ((const gchar*) system_group_id_it->data);
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					system_group_id = _tmp61_;
#line 8870 "edsf-persona.c"
					{
						const gchar* _tmp62_;
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp62_ = system_group_id;
#line 1689 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						if (g_strcmp0 (_tmp62_, "Contacts") == 0) {
#line 1691 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							in_google_personal_group = TRUE;
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							_g_free0 (system_group_id);
#line 1692 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
							break;
#line 8883 "edsf-persona.c"
						}
#line 1687 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_g_free0 (system_group_id);
#line 8887 "edsf-persona.c"
					}
				}
			}
		}
#line 1675 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (vcard);
#line 8894 "edsf-persona.c"
	}
#line 1699 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp63_ = self->priv->_is_favourite;
#line 1699 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	old_is_favourite = _tmp63_;
#line 1701 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp64_ = store;
#line 1701 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp65_ = _edsf_persona_store_is_google_contacts_address_book (_tmp64_);
#line 1701 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp65_) {
#line 8906 "edsf-persona.c"
		GList* _tmp66_;
#line 1703 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_is_favourite = FALSE;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp66_ = category_names;
#line 8912 "edsf-persona.c"
		{
			GList* category_name_collection = NULL;
			GList* category_name_it = NULL;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			category_name_collection = _tmp66_;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			for (category_name_it = category_name_collection; category_name_it != NULL; category_name_it = category_name_it->next) {
#line 8920 "edsf-persona.c"
				gchar* _tmp67_;
				gchar* category_name = NULL;
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp67_ = g_strdup ((const gchar*) category_name_it->data);
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				category_name = _tmp67_;
#line 8927 "edsf-persona.c"
				{
					const gchar* _tmp68_;
#line 1709 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp68_ = category_name;
#line 1709 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (g_strcmp0 (_tmp68_, EDSF_PERSONA_STORE_android_favourite_group_name) == 0) {
#line 1712 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						self->priv->_is_favourite = TRUE;
#line 8936 "edsf-persona.c"
					}
#line 1705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (category_name);
#line 8940 "edsf-persona.c"
				}
			}
		}
	}
#line 1718 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_freeze_notify ((GObject*) self);
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp71_ = added_categories;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp72_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp71_);
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp73_ = _tmp72_;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp73_ != 0) {
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp70_ = TRUE;
#line 8957 "edsf-persona.c"
	} else {
		GeeLinkedList* _tmp74_;
		gint _tmp75_;
		gint _tmp76_;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp74_ = removed_categories;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp75_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp74_);
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp76_ = _tmp75_;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp70_ = _tmp76_ != 0;
#line 8970 "edsf-persona.c"
	}
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp77_ = _tmp70_;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp77_) {
#line 8976 "edsf-persona.c"
		gboolean _tmp78_;
#line 1721 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp78_ = emit_notification;
#line 1721 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp69_ = _tmp78_;
#line 8982 "edsf-persona.c"
	} else {
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp69_ = FALSE;
#line 8986 "edsf-persona.c"
	}
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp79_ = _tmp69_;
#line 1720 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp79_) {
#line 1723 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "groups");
#line 8994 "edsf-persona.c"
	}
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp81_ = self->priv->_is_favourite;
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp82_ = old_is_favourite;
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp81_ != _tmp82_) {
#line 9002 "edsf-persona.c"
		gboolean _tmp83_;
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp83_ = emit_notification;
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp80_ = _tmp83_;
#line 9008 "edsf-persona.c"
	} else {
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp80_ = FALSE;
#line 9012 "edsf-persona.c"
	}
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp84_ = _tmp80_;
#line 1725 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp84_) {
#line 1727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "is-favourite");
#line 9020 "edsf-persona.c"
	}
#line 1729 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp85_ = in_google_personal_group;
#line 1729 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp86_ = self->priv->_in_google_personal_group;
#line 1729 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp85_ != _tmp86_) {
#line 9028 "edsf-persona.c"
		gboolean _tmp87_;
		gboolean _tmp88_;
#line 1731 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp87_ = in_google_personal_group;
#line 1731 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_in_google_personal_group = _tmp87_;
#line 1732 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp88_ = emit_notification;
#line 1732 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp88_) {
#line 1734 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "in-google-personal-group");
#line 9041 "edsf-persona.c"
		}
	}
#line 1738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_thaw_notify ((GObject*) self);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (store);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (removed_categories);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (added_categories);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_categories);
#line 1610 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__g_list_free__g_free0_0 (category_names);
#line 9056 "edsf-persona.c"
}


/**
   * build a table of im protocols / im protocol aliases
   */
static gpointer _g_hash_table_ref0 (gpointer self) {
#line 1764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return self ? g_hash_table_ref (self) : NULL;
#line 9066 "edsf-persona.c"
}


GHashTable* _edsf_persona_get_im_eds_map (void) {
	GHashTable* result = NULL;
	GHashTable* retval = NULL;
	GError * _inner_error_ = NULL;
	{
		GHashTable* _tmp0_;
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = edsf_persona__im_eds_map;
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_static_rec_mutex_lock (&__lock_edsf_persona__im_eds_map);
#line 9080 "edsf-persona.c"
		{
			GHashTable* _tmp1_;
			GHashTable* _tmp23_;
			GHashTable* _tmp24_;
#line 1750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp1_ = edsf_persona__im_eds_map;
#line 1750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (_tmp1_ == NULL) {
#line 9089 "edsf-persona.c"
				GHashFunc _tmp2_;
				GEqualFunc _tmp3_;
				GHashTable* _tmp4_;
				GHashTable* table;
				GHashTable* _tmp5_;
				gchar* _tmp6_;
				GHashTable* _tmp7_;
				gchar* _tmp8_;
				GHashTable* _tmp9_;
				gchar* _tmp10_;
				GHashTable* _tmp11_;
				gchar* _tmp12_;
				GHashTable* _tmp13_;
				gchar* _tmp14_;
				GHashTable* _tmp15_;
				gchar* _tmp16_;
				GHashTable* _tmp17_;
				gchar* _tmp18_;
				GHashTable* _tmp19_;
				gchar* _tmp20_;
				GHashTable* _tmp21_;
				GHashTable* _tmp22_;
#line 1752 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp2_ = g_str_hash;
#line 1752 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp3_ = g_str_equal;
#line 1752 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp4_ = g_hash_table_new_full (_tmp2_, _tmp3_, _g_free0_, NULL);
#line 1752 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				table = _tmp4_;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp5_ = table;
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp6_ = g_strdup ("aim");
#line 1755 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp5_, _tmp6_, (gpointer) ((gintptr) E_CONTACT_IM_AIM));
#line 1756 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp7_ = table;
#line 1756 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp8_ = g_strdup ("yahoo");
#line 1756 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp7_, _tmp8_, (gpointer) ((gintptr) E_CONTACT_IM_YAHOO));
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp9_ = table;
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp10_ = g_strdup ("groupwise");
#line 1757 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp9_, _tmp10_, (gpointer) ((gintptr) E_CONTACT_IM_GROUPWISE));
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp11_ = table;
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp12_ = g_strdup ("jabber");
#line 1758 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp11_, _tmp12_, (gpointer) ((gintptr) E_CONTACT_IM_JABBER));
#line 1759 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp13_ = table;
#line 1759 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp14_ = g_strdup ("msn");
#line 1759 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp13_, _tmp14_, (gpointer) ((gintptr) E_CONTACT_IM_MSN));
#line 1760 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp15_ = table;
#line 1760 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = g_strdup ("icq");
#line 1760 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp15_, _tmp16_, (gpointer) ((gintptr) E_CONTACT_IM_ICQ));
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = table;
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = g_strdup ("gadugadu");
#line 1761 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp17_, _tmp18_, (gpointer) ((gintptr) E_CONTACT_IM_GADUGADU));
#line 1762 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = table;
#line 1762 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = g_strdup ("skype");
#line 1762 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				g_hash_table_insert (_tmp19_, _tmp20_, (gpointer) ((gintptr) E_CONTACT_IM_SKYPE));
#line 1764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = table;
#line 1764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = _g_hash_table_ref0 (_tmp21_);
#line 1764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_hash_table_unref0 (edsf_persona__im_eds_map);
#line 1764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				edsf_persona__im_eds_map = _tmp22_;
#line 1750 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_hash_table_unref0 (table);
#line 9178 "edsf-persona.c"
			}
#line 1767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp23_ = edsf_persona__im_eds_map;
#line 1767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp24_ = _g_hash_table_ref0 ((GHashTable*) _tmp23_);
#line 1767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_hash_table_unref0 (retval);
#line 1767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			retval = _tmp24_;
#line 9188 "edsf-persona.c"
		}
		__finally4:
		{
			GHashTable* _tmp25_;
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp25_ = edsf_persona__im_eds_map;
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_static_rec_mutex_unlock (&__lock_edsf_persona__im_eds_map);
#line 9197 "edsf-persona.c"
		}
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_inner_error_ != NULL) {
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_hash_table_unref0 (retval);
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.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 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_clear_error (&_inner_error_);
#line 1748 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return NULL;
#line 9209 "edsf-persona.c"
		}
	}
#line 1770 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = retval;
#line 1770 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 9216 "edsf-persona.c"
}


static void _edsf_persona_update_phones (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp9_;
	GeeHashSet* new_phone_numbers;
	EContact* _tmp10_;
	EContact* _tmp11_;
	GList* _tmp12_ = NULL;
	GList* attrs;
	GList* _tmp13_;
	GeeHashSet* _tmp27_;
	GeeHashSet* _tmp28_;
	gboolean _tmp29_ = FALSE;
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_phone_numbers;
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 9240 "edsf-persona.c"
		gboolean _tmp2_;
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 9246 "edsf-persona.c"
	} else {
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 9250 "edsf-persona.c"
	}
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1777 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 1779 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "phone-numbers");
#line 1780 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 9260 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp4_;
#line 1782 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = self->priv->_phone_numbers;
#line 1782 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_ == NULL) {
#line 9267 "edsf-persona.c"
			GeeHashSet* _tmp5_;
			GeeHashSet* _tmp6_;
			GeeSet* _tmp7_;
			GeeSet* _tmp8_;
#line 1784 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp5_ = gee_hash_set_new (FOLKS_TYPE_PHONE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1784 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_phone_numbers);
#line 1784 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_phone_numbers = _tmp5_;
#line 1787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = self->priv->_phone_numbers;
#line 1787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp6_);
#line 1787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = _tmp7_;
#line 1787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_phone_numbers_ro);
#line 1787 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_phone_numbers_ro = _tmp8_;
#line 9288 "edsf-persona.c"
		}
	}
#line 1790 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = gee_hash_set_new (FOLKS_TYPE_PHONE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1790 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_phone_numbers = _tmp9_;
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = edsf_persona_get_contact (self);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = _tmp10_;
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = e_contact_get_attributes (_tmp11_, E_CONTACT_TEL);
#line 1794 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	attrs = _tmp12_;
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = attrs;
#line 9305 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp13_;
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 9313 "edsf-persona.c"
			EVCardAttribute* _tmp14_;
			EVCardAttribute* attr = NULL;
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp14_ = __vala_EVCardAttribute_copy0 ((EVCardAttribute*) attr_it->data);
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = _tmp14_;
#line 9320 "edsf-persona.c"
			{
				EVCardAttribute* _tmp15_;
				gchar* _tmp16_ = NULL;
				gchar* val;
				gboolean _tmp17_ = FALSE;
				const gchar* _tmp18_;
				gboolean _tmp20_;
				const gchar* _tmp21_;
				FolksPhoneFieldDetails* _tmp22_;
				FolksPhoneFieldDetails* phone_fd;
				FolksPhoneFieldDetails* _tmp23_;
				EVCardAttribute* _tmp24_;
				GeeHashSet* _tmp25_;
				FolksPhoneFieldDetails* _tmp26_;
#line 1797 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp15_ = attr;
#line 1797 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = e_vcard_attribute_get_value (_tmp15_);
#line 1797 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				val = _tmp16_;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = val;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp18_ == NULL) {
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp17_ = TRUE;
#line 9347 "edsf-persona.c"
				} else {
					const gchar* _tmp19_;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp19_ = val;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp17_ = g_strcmp0 ((const gchar*) _tmp19_, "") == 0;
#line 9354 "edsf-persona.c"
				}
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = _tmp17_;
#line 1798 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp20_) {
#line 1800 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (val);
#line 1800 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					__vala_EVCardAttribute_free0 (attr);
#line 1800 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 9366 "edsf-persona.c"
				}
#line 1803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = val;
#line 1803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = folks_phone_field_details_new ((const gchar*) _tmp21_, NULL);
#line 1803 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				phone_fd = _tmp22_;
#line 1804 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = phone_fd;
#line 1804 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp24_ = attr;
#line 1804 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_edsf_persona_update_params (self, (FolksAbstractFieldDetails*) _tmp23_, _tmp24_);
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp25_ = new_phone_numbers;
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp26_ = phone_fd;
#line 1805 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp25_, _tmp26_);
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (phone_fd);
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (val);
#line 1795 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				__vala_EVCardAttribute_free0 (attr);
#line 9392 "edsf-persona.c"
			}
		}
	}
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp27_ = new_phone_numbers;
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp28_ = self->priv->_phone_numbers;
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = folks_internal_equal_sets (FOLKS_TYPE_PHONE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GeeSet*) _tmp27_, (GeeSet*) _tmp28_);
#line 1808 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp29_) {
#line 9404 "edsf-persona.c"
		GeeHashSet* _tmp30_;
		GeeHashSet* _tmp31_;
		GeeHashSet* _tmp32_;
		GeeSet* _tmp33_;
		GeeSet* _tmp34_;
		gboolean _tmp35_;
#line 1811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = new_phone_numbers;
#line 1811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = _g_object_ref0 (_tmp30_);
#line 1811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_phone_numbers);
#line 1811 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_phone_numbers = _tmp31_;
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = new_phone_numbers;
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp32_);
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp34_ = _tmp33_;
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_phone_numbers_ro);
#line 1812 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_phone_numbers_ro = _tmp34_;
#line 1813 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp35_ = emit_notification;
#line 1813 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp35_) {
#line 1815 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "phone-numbers");
#line 9435 "edsf-persona.c"
		}
	}
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__g_list_free___vala_EVCardAttribute_free0_0 (attrs);
#line 1773 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_phone_numbers);
#line 9442 "edsf-persona.c"
}


static FolksPostalAddress* _edsf_persona_postal_address_from_attribute (EdsfPersona* self, EVCardAttribute* attr) {
	FolksPostalAddress* result = NULL;
	EVCardAttribute* _tmp0_;
	GList* _tmp1_ = NULL;
	GList* values;
	GList* _tmp2_;
	GList* l;
	gchar* _tmp3_;
	gchar* address_format;
	gchar* _tmp4_;
	gchar* po_box;
	gchar* _tmp5_;
	gchar* extension;
	gchar* _tmp6_;
	gchar* street;
	gchar* _tmp7_;
	gchar* locality;
	gchar* _tmp8_;
	gchar* region;
	gchar* _tmp9_;
	gchar* postal_code;
	gchar* _tmp10_;
	gchar* country;
	GList* _tmp11_;
	GList* _tmp17_;
	GList* _tmp23_;
	GList* _tmp29_;
	GList* _tmp35_;
	GList* _tmp41_;
	GList* _tmp47_;
	const gchar* _tmp53_;
	const gchar* _tmp54_;
	const gchar* _tmp55_;
	const gchar* _tmp56_;
	const gchar* _tmp57_;
	const gchar* _tmp58_;
	const gchar* _tmp59_;
	const gchar* _tmp60_;
	FolksPostalAddress* _tmp61_;
#line 1820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 1820 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (attr != NULL, NULL);
#line 1822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = attr;
#line 1822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = e_vcard_attribute_get_values (_tmp0_);
#line 1822 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	values = _tmp1_;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = values;
#line 1823 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	l = _tmp2_;
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = g_strdup ("");
#line 1825 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	address_format = _tmp3_;
#line 1826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = g_strdup ("");
#line 1826 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	po_box = _tmp4_;
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = g_strdup ("");
#line 1827 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	extension = _tmp5_;
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6_ = g_strdup ("");
#line 1828 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	street = _tmp6_;
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = g_strdup ("");
#line 1829 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	locality = _tmp7_;
#line 1830 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp8_ = g_strdup ("");
#line 1830 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	region = _tmp8_;
#line 1831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = g_strdup ("");
#line 1831 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	postal_code = _tmp9_;
#line 1832 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = g_strdup ("");
#line 1832 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	country = _tmp10_;
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = l;
#line 1834 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp11_ != NULL) {
#line 9535 "edsf-persona.c"
		GList* _tmp12_;
		gconstpointer _tmp13_;
		gchar* _tmp14_;
		GList* _tmp15_;
		GList* _tmp16_;
#line 1836 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = l;
#line 1836 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp13_ = ((GList*) _tmp12_)->data;
#line 1836 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp14_ = g_strdup ((const gchar*) _tmp13_);
#line 1836 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (po_box);
#line 1836 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		po_box = _tmp14_;
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp15_ = l;
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp16_ = ((GList*) _tmp15_)->next;
#line 1837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp16_;
#line 9557 "edsf-persona.c"
	}
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = l;
#line 1839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp17_ != NULL) {
#line 9563 "edsf-persona.c"
		GList* _tmp18_;
		gconstpointer _tmp19_;
		gchar* _tmp20_;
		GList* _tmp21_;
		GList* _tmp22_;
#line 1841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp18_ = l;
#line 1841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp19_ = ((GList*) _tmp18_)->data;
#line 1841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp20_ = g_strdup ((const gchar*) _tmp19_);
#line 1841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (extension);
#line 1841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		extension = _tmp20_;
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp21_ = l;
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = ((GList*) _tmp21_)->next;
#line 1842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp22_;
#line 9585 "edsf-persona.c"
	}
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp23_ = l;
#line 1844 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp23_ != NULL) {
#line 9591 "edsf-persona.c"
		GList* _tmp24_;
		gconstpointer _tmp25_;
		gchar* _tmp26_;
		GList* _tmp27_;
		GList* _tmp28_;
#line 1846 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = l;
#line 1846 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = ((GList*) _tmp24_)->data;
#line 1846 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp26_ = g_strdup ((const gchar*) _tmp25_);
#line 1846 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (street);
#line 1846 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		street = _tmp26_;
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = l;
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = ((GList*) _tmp27_)->next;
#line 1847 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp28_;
#line 9613 "edsf-persona.c"
	}
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp29_ = l;
#line 1849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp29_ != NULL) {
#line 9619 "edsf-persona.c"
		GList* _tmp30_;
		gconstpointer _tmp31_;
		gchar* _tmp32_;
		GList* _tmp33_;
		GList* _tmp34_;
#line 1851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = l;
#line 1851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = ((GList*) _tmp30_)->data;
#line 1851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = g_strdup ((const gchar*) _tmp31_);
#line 1851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (locality);
#line 1851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		locality = _tmp32_;
#line 1852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = l;
#line 1852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp34_ = ((GList*) _tmp33_)->next;
#line 1852 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp34_;
#line 9641 "edsf-persona.c"
	}
#line 1854 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp35_ = l;
#line 1854 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp35_ != NULL) {
#line 9647 "edsf-persona.c"
		GList* _tmp36_;
		gconstpointer _tmp37_;
		gchar* _tmp38_;
		GList* _tmp39_;
		GList* _tmp40_;
#line 1856 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp36_ = l;
#line 1856 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp37_ = ((GList*) _tmp36_)->data;
#line 1856 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp38_ = g_strdup ((const gchar*) _tmp37_);
#line 1856 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (region);
#line 1856 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		region = _tmp38_;
#line 1857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp39_ = l;
#line 1857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp40_ = ((GList*) _tmp39_)->next;
#line 1857 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp40_;
#line 9669 "edsf-persona.c"
	}
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp41_ = l;
#line 1859 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp41_ != NULL) {
#line 9675 "edsf-persona.c"
		GList* _tmp42_;
		gconstpointer _tmp43_;
		gchar* _tmp44_;
		GList* _tmp45_;
		GList* _tmp46_;
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp42_ = l;
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp43_ = ((GList*) _tmp42_)->data;
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp44_ = g_strdup ((const gchar*) _tmp43_);
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (postal_code);
#line 1861 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		postal_code = _tmp44_;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp45_ = l;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp46_ = ((GList*) _tmp45_)->next;
#line 1862 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp46_;
#line 9697 "edsf-persona.c"
	}
#line 1864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp47_ = l;
#line 1864 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp47_ != NULL) {
#line 9703 "edsf-persona.c"
		GList* _tmp48_;
		gconstpointer _tmp49_;
		gchar* _tmp50_;
		GList* _tmp51_;
		GList* _tmp52_;
#line 1866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp48_ = l;
#line 1866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp49_ = ((GList*) _tmp48_)->data;
#line 1866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp50_ = g_strdup ((const gchar*) _tmp49_);
#line 1866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (country);
#line 1866 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		country = _tmp50_;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp51_ = l;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp52_ = ((GList*) _tmp51_)->next;
#line 1867 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		l = _tmp52_;
#line 9725 "edsf-persona.c"
	}
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp53_ = po_box;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp54_ = extension;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp55_ = street;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp56_ = locality;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp57_ = region;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp58_ = postal_code;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp59_ = country;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp60_ = address_format;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp61_ = folks_postal_address_new (_tmp53_, _tmp54_, _tmp55_, _tmp56_, _tmp57_, _tmp58_, _tmp59_, _tmp60_, NULL);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp61_;
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (country);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (postal_code);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (region);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (locality);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (street);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (extension);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (po_box);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (address_format);
#line 1870 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 9765 "edsf-persona.c"
}


static void _edsf_persona_update_addresses (EdsfPersona* self, gboolean create_if_not_exist, gboolean emit_notification) {
	gboolean _tmp0_ = FALSE;
	GeeHashSet* _tmp1_;
	gboolean _tmp3_;
	GeeHashSet* _tmp10_;
	GeeHashSet* new_postal_addresses;
	EContact* _tmp11_;
	EContact* _tmp12_;
	GList* _tmp13_ = NULL;
	GList* attrs;
	GList* _tmp14_;
	GeeHashSet* _tmp25_;
	GeeHashSet* _tmp26_;
	gboolean _tmp27_ = FALSE;
#line 1880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = self->priv->_postal_addresses;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == NULL) {
#line 9789 "edsf-persona.c"
		gboolean _tmp2_;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp2_ = create_if_not_exist;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = _tmp2_ == FALSE;
#line 9795 "edsf-persona.c"
	} else {
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp0_ = FALSE;
#line 9799 "edsf-persona.c"
	}
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp0_;
#line 1884 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_) {
#line 9805 "edsf-persona.c"
		gboolean _tmp4_;
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = emit_notification;
#line 1886 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp4_) {
#line 1888 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "postal-addresses");
#line 9813 "edsf-persona.c"
		}
#line 1890 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return;
#line 9817 "edsf-persona.c"
	} else {
		GeeHashSet* _tmp5_;
#line 1892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = self->priv->_postal_addresses;
#line 1892 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp5_ == NULL) {
#line 9824 "edsf-persona.c"
			GeeHashSet* _tmp6_;
			GeeHashSet* _tmp7_;
			GeeSet* _tmp8_;
			GeeSet* _tmp9_;
#line 1894 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp6_ = gee_hash_set_new (FOLKS_TYPE_POSTAL_ADDRESS_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1894 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_postal_addresses);
#line 1894 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_postal_addresses = _tmp6_;
#line 1897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = self->priv->_postal_addresses;
#line 1897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 1897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = _tmp8_;
#line 1897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_object_unref0 (self->priv->_postal_addresses_ro);
#line 1897 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			self->priv->_postal_addresses_ro = _tmp9_;
#line 9845 "edsf-persona.c"
		}
	}
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = gee_hash_set_new (FOLKS_TYPE_POSTAL_ADDRESS_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 1900 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_postal_addresses = _tmp10_;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = edsf_persona_get_contact (self);
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp12_ = _tmp11_;
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = e_contact_get_attributes (_tmp12_, E_CONTACT_ADDRESS);
#line 1904 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	attrs = _tmp13_;
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = attrs;
#line 9862 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp14_;
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 9870 "edsf-persona.c"
			EVCardAttribute* attr = NULL;
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = (EVCardAttribute*) attr_it->data;
#line 9874 "edsf-persona.c"
			{
				EVCardAttribute* _tmp15_;
				FolksPostalAddress* _tmp16_ = NULL;
				FolksPostalAddress* address;
				FolksPostalAddress* _tmp17_;
				gboolean _tmp18_ = FALSE;
				FolksPostalAddress* _tmp19_;
				FolksPostalAddressFieldDetails* _tmp20_;
				FolksPostalAddressFieldDetails* pa_fd;
				FolksPostalAddressFieldDetails* _tmp21_;
				EVCardAttribute* _tmp22_;
				GeeHashSet* _tmp23_;
				FolksPostalAddressFieldDetails* _tmp24_;
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp15_ = attr;
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp16_ = _edsf_persona_postal_address_from_attribute (self, _tmp15_);
#line 1907 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				address = _tmp16_;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp17_ = address;
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp18_ = folks_postal_address_is_empty (_tmp17_);
#line 1908 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp18_) {
#line 1910 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_object_unref0 (address);
#line 1910 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 9904 "edsf-persona.c"
				}
#line 1913 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp19_ = address;
#line 1913 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp20_ = folks_postal_address_field_details_new (_tmp19_, NULL);
#line 1913 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				pa_fd = _tmp20_;
#line 1914 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp21_ = pa_fd;
#line 1914 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp22_ = attr;
#line 1914 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_edsf_persona_update_params (self, (FolksAbstractFieldDetails*) _tmp21_, _tmp22_);
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp23_ = new_postal_addresses;
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp24_ = pa_fd;
#line 1915 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp23_, _tmp24_);
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (pa_fd);
#line 1905 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_object_unref0 (address);
#line 9928 "edsf-persona.c"
			}
		}
	}
#line 1918 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp25_ = new_postal_addresses;
#line 1918 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp26_ = self->priv->_postal_addresses;
#line 1918 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp27_ = folks_internal_equal_sets (FOLKS_TYPE_POSTAL_ADDRESS_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, (GeeSet*) _tmp25_, (GeeSet*) _tmp26_);
#line 1918 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp27_) {
#line 9940 "edsf-persona.c"
		GeeHashSet* _tmp28_;
		GeeHashSet* _tmp29_;
		GeeHashSet* _tmp30_;
		GeeSet* _tmp31_;
		GeeSet* _tmp32_;
		gboolean _tmp33_;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp28_ = new_postal_addresses;
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp29_ = _g_object_ref0 (_tmp28_);
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_postal_addresses);
#line 1922 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_postal_addresses = _tmp29_;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp30_ = new_postal_addresses;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp31_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp30_);
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp32_ = _tmp31_;
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_postal_addresses_ro);
#line 1923 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_postal_addresses_ro = _tmp32_;
#line 1924 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp33_ = emit_notification;
#line 1924 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp33_) {
#line 1926 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_object_notify ((GObject*) self, "postal-addresses");
#line 9971 "edsf-persona.c"
		}
	}
#line 1880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__g_list_free___vala_EVCardAttribute_free0_0 (attrs);
#line 1880 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_postal_addresses);
#line 9978 "edsf-persona.c"
}


static void _edsf_persona_update_local_ids (EdsfPersona* self) {
	GeeHashSet* _tmp0_;
	GeeHashSet* new_local_ids;
	EContact* _tmp1_;
	EContact* _tmp2_;
	EVCardAttribute* _tmp3_ = NULL;
	EVCardAttribute* _tmp4_;
	EVCardAttribute* ids;
	EVCardAttribute* _tmp5_;
	GeeHashSet* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	GeeHashSet* _tmp16_;
	GeeSet* _tmp17_;
	GeeSet* _tmp18_;
	gboolean _tmp19_ = FALSE;
#line 1931 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1933 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 1933 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_local_ids = _tmp0_;
#line 1935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = edsf_persona_get_contact (self);
#line 1935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _tmp1_;
#line 1935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = e_vcard_get_attribute ((EVCard*) _tmp2_, "X-FOLKS-CONTACTS-IDS");
#line 1935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = __vala_EVCardAttribute_copy0 (_tmp3_);
#line 1935 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	ids = _tmp4_;
#line 1936 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = ids;
#line 1936 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5_ != NULL) {
#line 10018 "edsf-persona.c"
		EVCardAttribute* _tmp6_;
		GList* _tmp7_ = NULL;
		GList* ids_v;
		GList* _tmp8_;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = ids;
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp7_ = e_vcard_attribute_get_values ((EVCardAttribute*) _tmp6_);
#line 1938 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		ids_v = _tmp7_;
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = ids_v;
#line 10031 "edsf-persona.c"
		{
			GList* local_id_collection = NULL;
			GList* local_id_it = NULL;
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			local_id_collection = _tmp8_;
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			for (local_id_it = local_id_collection; local_id_it != NULL; local_id_it = local_id_it->next) {
#line 10039 "edsf-persona.c"
				gchar* _tmp9_;
				gchar* local_id = NULL;
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp9_ = g_strdup ((const gchar*) local_id_it->data);
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				local_id = _tmp9_;
#line 10046 "edsf-persona.c"
				{
					const gchar* _tmp10_;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp10_ = local_id;
#line 1942 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					if (g_strcmp0 (_tmp10_, "") != 0) {
#line 10053 "edsf-persona.c"
						GeeHashSet* _tmp11_;
						const gchar* _tmp12_;
#line 1944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp11_ = new_local_ids;
#line 1944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						_tmp12_ = local_id;
#line 1944 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
						gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, _tmp12_);
#line 10062 "edsf-persona.c"
					}
#line 1940 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (local_id);
#line 10066 "edsf-persona.c"
				}
			}
		}
	}
#line 1950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = new_local_ids;
#line 1950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = folks_persona_get_iid ((FolksPersona*) self);
#line 1950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = _tmp14_;
#line 1950 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp13_, _tmp15_);
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp16_ = new_local_ids;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = folks_local_id_details_get_local_ids ((FolksLocalIdDetails*) self);
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp18_ = _tmp17_;
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp19_ = folks_internal_equal_sets (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, (GeeSet*) _tmp16_, _tmp18_);
#line 1952 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp19_) {
#line 10089 "edsf-persona.c"
		GeeHashSet* _tmp20_;
		GeeHashSet* _tmp21_;
		GeeHashSet* _tmp22_;
		GeeSet* _tmp23_;
		GeeSet* _tmp24_;
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp20_ = new_local_ids;
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp21_ = _g_object_ref0 (_tmp20_);
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_local_ids);
#line 1954 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_local_ids = _tmp21_;
#line 1955 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = self->priv->_local_ids;
#line 1955 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp23_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp22_);
#line 1955 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp24_ = _tmp23_;
#line 1955 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_local_ids_ro);
#line 1955 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_local_ids_ro = _tmp24_;
#line 1956 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "local-ids");
#line 10115 "edsf-persona.c"
	}
#line 1931 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EVCardAttribute_free0 (ids);
#line 1931 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_local_ids);
#line 10121 "edsf-persona.c"
}


static void _edsf_persona_update_favourite (EdsfPersona* self) {
	gboolean is_fav;
	EContact* _tmp0_;
	EContact* _tmp1_;
	EVCardAttribute* _tmp2_ = NULL;
	EVCardAttribute* _tmp3_;
	EVCardAttribute* fav;
	EVCardAttribute* _tmp4_;
	gboolean _tmp13_;
	gboolean _tmp14_;
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1962 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	is_fav = FALSE;
#line 1964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = edsf_persona_get_contact (self);
#line 1964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 1964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = e_vcard_get_attribute ((EVCard*) _tmp1_, "X-FOLKS-FAVOURITE");
#line 1964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = __vala_EVCardAttribute_copy0 (_tmp2_);
#line 1964 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	fav = _tmp3_;
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = fav;
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp4_ != NULL) {
#line 10153 "edsf-persona.c"
		EVCardAttribute* _tmp5_;
		gchar* _tmp6_ = NULL;
		gchar* val;
		gboolean _tmp7_ = FALSE;
		const gchar* _tmp8_;
		gboolean _tmp12_;
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = fav;
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = e_vcard_attribute_get_value ((EVCardAttribute*) _tmp5_);
#line 1967 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		val = _tmp6_;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp8_ = val;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp8_ != NULL) {
#line 10170 "edsf-persona.c"
			const gchar* _tmp9_;
			gchar* _tmp10_ = NULL;
			gchar* _tmp11_;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp9_ = val;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp10_ = g_utf8_strdown ((const gchar*) _tmp9_, (gssize) (-1));
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp11_ = _tmp10_;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = g_strcmp0 (_tmp11_, "true") == 0;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (_tmp11_);
#line 10184 "edsf-persona.c"
		} else {
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp7_ = FALSE;
#line 10188 "edsf-persona.c"
		}
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp12_ = _tmp7_;
#line 1968 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp12_) {
#line 1970 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			is_fav = TRUE;
#line 10196 "edsf-persona.c"
		}
#line 1965 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (val);
#line 10200 "edsf-persona.c"
	}
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = is_fav;
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = self->priv->_is_favourite;
#line 1974 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp13_ != _tmp14_) {
#line 10208 "edsf-persona.c"
		gboolean _tmp15_;
#line 1976 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp15_ = is_fav;
#line 1976 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_is_favourite = _tmp15_;
#line 1977 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "is-favourite");
#line 10216 "edsf-persona.c"
	}
#line 1960 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	__vala_EVCardAttribute_free0 (fav);
#line 10220 "edsf-persona.c"
}


static void _edsf_persona_update_anti_links (EdsfPersona* self) {
	GeeHashSet* _tmp0_;
	GeeHashSet* new_anti_links;
	EContact* _tmp1_;
	EContact* _tmp2_;
	EVCard* _tmp3_;
	EVCard* vcard;
	EVCard* _tmp4_;
	GList* _tmp5_ = NULL;
	GeeHashSet* _tmp16_;
	GeeHashSet* _tmp17_;
	gboolean _tmp18_ = FALSE;
#line 1981 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 1983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 1983 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	new_anti_links = _tmp0_;
#line 1985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = edsf_persona_get_contact (self);
#line 1985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _tmp1_;
#line 1985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, e_vcard_get_type (), EVCard));
#line 1985 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	vcard = _tmp3_;
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = vcard;
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = e_vcard_get_attributes (_tmp4_);
#line 10254 "edsf-persona.c"
	{
		GList* attr_collection = NULL;
		GList* attr_it = NULL;
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		attr_collection = _tmp5_;
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		for (attr_it = attr_collection; attr_it != NULL; attr_it = attr_it->next) {
#line 10262 "edsf-persona.c"
			EVCardAttribute* attr = NULL;
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			attr = (EVCardAttribute*) attr_it->data;
#line 10266 "edsf-persona.c"
			{
				EVCardAttribute* _tmp6_;
				const gchar* _tmp7_ = NULL;
				EVCardAttribute* _tmp8_;
				gchar* _tmp9_ = NULL;
				gchar* val;
				gboolean _tmp10_ = FALSE;
				const gchar* _tmp11_;
				gboolean _tmp13_;
				GeeHashSet* _tmp14_;
				const gchar* _tmp15_;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp6_ = attr;
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp7_ = e_vcard_attribute_get_name (_tmp6_);
#line 1988 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (g_strcmp0 (_tmp7_, EDSF_PERSONA_STORE_anti_links_attribute_name) != 0) {
#line 1990 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 10286 "edsf-persona.c"
				}
#line 1993 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp8_ = attr;
#line 1993 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp9_ = e_vcard_attribute_get_value (_tmp8_);
#line 1993 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				val = _tmp9_;
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp11_ = val;
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp11_ == NULL) {
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp10_ = TRUE;
#line 10300 "edsf-persona.c"
				} else {
					const gchar* _tmp12_;
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp12_ = val;
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_tmp10_ = g_strcmp0 ((const gchar*) _tmp12_, "") == 0;
#line 10307 "edsf-persona.c"
				}
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp13_ = _tmp10_;
#line 1994 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				if (_tmp13_) {
#line 1996 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					_g_free0 (val);
#line 1996 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
					continue;
#line 10317 "edsf-persona.c"
				}
#line 1999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp14_ = new_anti_links;
#line 1999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp15_ = val;
#line 1999 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp14_, (const gchar*) _tmp15_);
#line 1986 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (val);
#line 10327 "edsf-persona.c"
			}
		}
	}
#line 2002 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp16_ = new_anti_links;
#line 2002 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = self->priv->_anti_links;
#line 2002 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp18_ = folks_internal_equal_sets (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, (GeeSet*) _tmp16_, (GeeSet*) _tmp17_);
#line 2002 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (!_tmp18_) {
#line 10339 "edsf-persona.c"
		GeeHashSet* _tmp19_;
		GeeHashSet* _tmp20_;
		GeeHashSet* _tmp21_;
		GeeSet* _tmp22_;
		GeeSet* _tmp23_;
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp19_ = new_anti_links;
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp20_ = _g_object_ref0 (_tmp19_);
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_anti_links);
#line 2004 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_anti_links = _tmp20_;
#line 2005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp21_ = new_anti_links;
#line 2005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp22_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp21_);
#line 2005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp23_ = _tmp22_;
#line 2005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_object_unref0 (self->priv->_anti_links_ro);
#line 2005 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		self->priv->_anti_links_ro = _tmp23_;
#line 2006 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_object_notify ((GObject*) self, "anti-links");
#line 10365 "edsf-persona.c"
	}
#line 1981 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (vcard);
#line 1981 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (new_anti_links);
#line 10371 "edsf-persona.c"
}


gpointer _edsf_persona_get_property_from_contact (GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, EContact* contact, const gchar* prop_name) {
	gpointer result = NULL;
	gpointer prop_value;
	EContact* _tmp0_;
	const gchar* _tmp1_;
	EContactField _tmp2_ = 0;
	gpointer _tmp3_ = NULL;
#line 2010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (contact != NULL, NULL);
#line 2010 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (prop_name != NULL, NULL);
#line 2013 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	prop_value = NULL;
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = contact;
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = prop_name;
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = e_contact_field_id (_tmp1_);
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = e_contact_get (_tmp0_, _tmp2_);
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_t_destroy_func0 (prop_value);
#line 2014 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	prop_value = _tmp3_;
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = prop_value;
#line 2015 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10404 "edsf-persona.c"
}


static gpointer _edsf_persona_get_property (EdsfPersona* self, GType t_type, GBoxedCopyFunc t_dup_func, GDestroyNotify t_destroy_func, const gchar* prop_name) {
	gpointer result = NULL;
	EContact* _tmp0_;
	EContact* _tmp1_;
	const gchar* _tmp2_;
	gpointer _tmp3_ = NULL;
#line 2018 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 2018 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (prop_name != NULL, NULL);
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = edsf_persona_get_contact (self);
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = prop_name;
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _edsf_persona_get_property_from_contact (t_type, (GBoxedCopyFunc) t_dup_func, t_destroy_func, _tmp1_, _tmp2_);
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp3_;
#line 2020 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10430 "edsf-persona.c"
}


static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) {
	gint result = 0;
	gint _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_ = NULL;
	gchar* _result_;
	gchar* _tmp3_;
#line 884 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0);
#line 884 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	g_return_val_if_fail (needle != NULL, 0);
#line 885 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	_tmp0_ = start_index;
#line 885 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	_tmp1_ = needle;
#line 885 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	_tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_);
#line 885 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	_result_ = _tmp2_;
#line 887 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	_tmp3_ = _result_;
#line 887 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
	if (_tmp3_ != NULL) {
#line 10457 "edsf-persona.c"
		gchar* _tmp4_;
#line 888 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
		_tmp4_ = _result_;
#line 888 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
		result = (gint) (_tmp4_ - ((gchar*) self));
#line 888 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
		return result;
#line 10465 "edsf-persona.c"
	} else {
#line 890 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
		result = -1;
#line 890 "/opt/gnome/share/vala-0.18/vapi/glib-2.0.vapi"
		return result;
#line 10471 "edsf-persona.c"
	}
}


static gchar* _edsf_persona_im_proto_from_addr (EdsfPersona* self, const gchar* addr) {
	gchar* result = NULL;
	const gchar* _tmp0_;
	gint _tmp1_ = 0;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_ = NULL;
	gchar** tokens;
	gint tokens_length1;
	gint _tokens_size_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	gchar** _tmp6_;
	gint _tmp6__length1;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* domain;
	const gchar* _tmp9_;
	gint _tmp10_ = 0;
	const gchar* _tmp11_;
	gchar** _tmp12_;
	gchar** _tmp13_ = NULL;
	gchar** _tmp14_;
	gint _tmp14__length1;
	gchar** _tmp15_;
	gint _tmp15__length1;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	gboolean _tmp18_ = FALSE;
	gboolean _tmp19_ = FALSE;
	const gchar* _tmp20_;
	gboolean _tmp22_;
	gboolean _tmp24_;
#line 2024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 2024 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (addr != NULL, NULL);
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = addr;
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = string_index_of (_tmp0_, "@", 0);
#line 2026 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp1_ == (-1)) {
#line 2027 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = NULL;
#line 2027 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 10523 "edsf-persona.c"
	}
#line 2029 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = addr;
#line 2029 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_ = g_strsplit (_tmp2_, "@", 2);
#line 2029 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens = _tmp4_;
#line 2029 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens_length1 = _vala_array_length (_tmp3_);
#line 2029 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tokens_size_ = tokens_length1;
#line 2031 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = tokens;
#line 2031 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5__length1 = tokens_length1;
#line 2031 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp5__length1 != 2) {
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = NULL;
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2032 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 10547 "edsf-persona.c"
	}
#line 2034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6_ = tokens;
#line 2034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6__length1 = tokens_length1;
#line 2034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = _tmp6_[1];
#line 2034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp8_ = g_strdup (_tmp7_);
#line 2034 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	domain = _tmp8_;
#line 2035 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = domain;
#line 2035 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = string_index_of (_tmp9_, ".", 0);
#line 2035 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp10_ == (-1)) {
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = NULL;
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (domain);
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2036 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 10573 "edsf-persona.c"
	}
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp11_ = domain;
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp13_ = _tmp12_ = g_strsplit (_tmp11_, ".", 2);
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens = _tmp13_;
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens_length1 = _vala_array_length (_tmp12_);
#line 2038 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tokens_size_ = tokens_length1;
#line 2040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14_ = tokens;
#line 2040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp14__length1 = tokens_length1;
#line 2040 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp14__length1 != 2) {
#line 2041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = NULL;
#line 2041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (domain);
#line 2041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2041 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 10601 "edsf-persona.c"
	}
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15_ = tokens;
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp15__length1 = tokens_length1;
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp16_ = _tmp15_[0];
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp17_ = g_strdup (_tmp16_);
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (domain);
#line 2043 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	domain = _tmp17_;
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp20_ = domain;
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (g_strcmp0 (_tmp20_, "msn") == 0) {
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp19_ = TRUE;
#line 10621 "edsf-persona.c"
	} else {
		const gchar* _tmp21_;
#line 2046 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp21_ = domain;
#line 2046 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp19_ = g_strcmp0 (_tmp21_, "hotmail") == 0;
#line 10628 "edsf-persona.c"
	}
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp22_ = _tmp19_;
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp22_) {
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp18_ = TRUE;
#line 10636 "edsf-persona.c"
	} else {
		const gchar* _tmp23_;
#line 2047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp23_ = domain;
#line 2047 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp18_ = g_strcmp0 (_tmp23_, "live") == 0;
#line 10643 "edsf-persona.c"
	}
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp24_ = _tmp18_;
#line 2045 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp24_) {
#line 10649 "edsf-persona.c"
		gchar* _tmp25_;
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp25_ = g_strdup ("msn");
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		result = _tmp25_;
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_g_free0 (domain);
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2048 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		return result;
#line 10661 "edsf-persona.c"
	} else {
		gboolean _tmp26_ = FALSE;
		const gchar* _tmp27_;
		gboolean _tmp29_;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp27_ = domain;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (g_strcmp0 (_tmp27_, "gmail") == 0) {
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp26_ = TRUE;
#line 10672 "edsf-persona.c"
		} else {
			const gchar* _tmp28_;
#line 2050 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp28_ = domain;
#line 2050 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp26_ = g_strcmp0 (_tmp28_, "googlemail") == 0;
#line 10679 "edsf-persona.c"
		}
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp29_ = _tmp26_;
#line 2049 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		if (_tmp29_) {
#line 10685 "edsf-persona.c"
			gchar* _tmp30_;
#line 2051 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp30_ = g_strdup ("jabber");
#line 2051 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			result = _tmp30_;
#line 2051 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_g_free0 (domain);
#line 2051 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2051 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			return result;
#line 10697 "edsf-persona.c"
		} else {
			const gchar* _tmp31_;
#line 2052 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			_tmp31_ = domain;
#line 2052 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			if (g_strcmp0 (_tmp31_, "yahoo") == 0) {
#line 10704 "edsf-persona.c"
				gchar* _tmp32_;
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_tmp32_ = g_strdup ("yahoo");
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				result = _tmp32_;
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				_g_free0 (domain);
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2053 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
				return result;
#line 10716 "edsf-persona.c"
			}
		}
	}
#line 2055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = NULL;
#line 2055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (domain);
#line 2055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL);
#line 2055 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10728 "edsf-persona.c"
}


EContact* edsf_persona_get_contact (EdsfPersona* self) {
	EContact* result;
	EContact* _tmp0_;
#line 161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_contact;
#line 161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 161 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10743 "edsf-persona.c"
}


static void edsf_persona_set_contact (EdsfPersona* self, EContact* value) {
	EContact* _tmp0_;
	EContact* _tmp1_;
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_contact);
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_contact = _tmp1_;
#line 162 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_notify ((GObject *) self, "contact");
#line 10762 "edsf-persona.c"
}


static GeeMultiMap* edsf_persona_real_get_web_service_addresses (FolksWebServiceDetails* base) {
	GeeMultiMap* result;
	EdsfPersona* self;
	GeeHashMultiMap* _tmp0_;
#line 176 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 176 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_web_service_addresses;
#line 176 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = (GeeMultiMap*) _tmp0_;
#line 176 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10778 "edsf-persona.c"
}


static void edsf_persona_real_set_web_service_addresses (FolksWebServiceDetails* base, GeeMultiMap* value) {
	EdsfPersona* self;
	GeeMultiMap* _tmp0_;
#line 177 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 177 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 177 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_web_service_details_change_web_service_addresses ((FolksWebServiceDetails*) self, _tmp0_, NULL, NULL);
#line 10791 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_local_ids (FolksLocalIdDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeHashSet* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gboolean _tmp3_ = FALSE;
	GeeSet* _tmp7_;
#line 204 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 206 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_local_ids;
#line 206 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = folks_persona_get_iid ((FolksPersona*) self);
#line 206 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = _tmp1_;
#line 206 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp0_, _tmp2_);
#line 206 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (_tmp3_ == FALSE) {
#line 10815 "edsf-persona.c"
		GeeHashSet* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
#line 208 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp4_ = self->priv->_local_ids;
#line 208 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp5_ = folks_persona_get_iid ((FolksPersona*) self);
#line 208 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		_tmp6_ = _tmp5_;
#line 208 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, _tmp6_);
#line 10827 "edsf-persona.c"
	}
#line 210 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = self->priv->_local_ids_ro;
#line 210 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp7_;
#line 210 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10835 "edsf-persona.c"
}


static void edsf_persona_real_set_local_ids (FolksLocalIdDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 212 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 212 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 212 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_local_id_details_change_local_ids ((FolksLocalIdDetails*) self, _tmp0_, NULL, NULL);
#line 10848 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_postal_addresses (FolksPostalAddressDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 239 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 241 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_addresses (self, TRUE, FALSE);
#line 242 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_postal_addresses_ro;
#line 242 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 242 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10866 "edsf-persona.c"
}


static void edsf_persona_real_set_postal_addresses (FolksPostalAddressDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 244 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 244 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 244 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_postal_address_details_change_postal_addresses ((FolksPostalAddressDetails*) self, _tmp0_, NULL, NULL);
#line 10879 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_phone_numbers (FolksPhoneDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 270 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 272 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_phones (self, TRUE, FALSE);
#line 273 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_phone_numbers_ro;
#line 273 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 273 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10897 "edsf-persona.c"
}


static void edsf_persona_real_set_phone_numbers (FolksPhoneDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 275 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_phone_details_change_phone_numbers ((FolksPhoneDetails*) self, _tmp0_, NULL, NULL);
#line 10910 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_email_addresses (FolksEmailDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 300 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 302 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_emails (self, TRUE, FALSE);
#line 303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_email_addresses_ro;
#line 303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 303 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10928 "edsf-persona.c"
}


static void edsf_persona_real_set_email_addresses (FolksEmailDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 305 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_email_details_change_email_addresses ((FolksEmailDetails*) self, _tmp0_, NULL, NULL);
#line 10941 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_notes (FolksNoteDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 331 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 333 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_notes (self, TRUE, FALSE);
#line 334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_notes_ro;
#line 334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 334 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10959 "edsf-persona.c"
}


static void edsf_persona_real_set_notes (FolksNoteDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 336 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_note_details_change_notes ((FolksNoteDetails*) self, _tmp0_, NULL, NULL);
#line 10972 "edsf-persona.c"
}


static gchar** edsf_persona_real_get_linkable_properties (FolksPersona* base, int* result_length1) {
	gchar** result;
	EdsfPersona* self;
	gchar** _tmp0_;
	gint _tmp0__length1;
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = EDSF_PERSONA__linkable_properties;
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0__length1 = G_N_ELEMENTS (EDSF_PERSONA__linkable_properties);
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (result_length1) {
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		*result_length1 = _tmp0__length1;
#line 10991 "edsf-persona.c"
	}
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 357 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 10997 "edsf-persona.c"
}


static gchar** edsf_persona_real_get_writeable_properties (FolksPersona* base, int* result_length1) {
	gchar** result;
	EdsfPersona* self;
	FolksPersonaStore* _tmp0_;
	FolksPersonaStore* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gchar** _tmp4_;
	gint _tmp4__length1;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = folks_persona_get_store ((FolksPersona*) self);
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = folks_persona_store_get_always_writeable_properties (_tmp1_, &_tmp2__length1);
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = _tmp2_;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3__length1 = _tmp2__length1;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4__length1 = _tmp3__length1;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	if (result_length1) {
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		*result_length1 = _tmp4__length1;
#line 11032 "edsf-persona.c"
	}
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp4_;
#line 367 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11038 "edsf-persona.c"
}


static GLoadableIcon* edsf_persona_real_get_avatar (FolksAvatarDetails* base) {
	GLoadableIcon* result;
	EdsfPersona* self;
	GLoadableIcon* _tmp0_;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_avatar;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 381 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11054 "edsf-persona.c"
}


static void edsf_persona_real_set_avatar (FolksAvatarDetails* base, GLoadableIcon* value) {
	EdsfPersona* self;
	GLoadableIcon* _tmp0_;
#line 382 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 382 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 382 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_avatar_details_change_avatar ((FolksAvatarDetails*) self, _tmp0_, NULL, NULL);
#line 11067 "edsf-persona.c"
}


static FolksStructuredName* edsf_persona_real_get_structured_name (FolksNameDetails* base) {
	FolksStructuredName* result;
	EdsfPersona* self;
	FolksStructuredName* _tmp0_;
#line 404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_structured_name;
#line 404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 404 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11083 "edsf-persona.c"
}


static void edsf_persona_real_set_structured_name (FolksNameDetails* base, FolksStructuredName* value) {
	EdsfPersona* self;
	FolksStructuredName* _tmp0_;
#line 405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 405 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_name_details_change_structured_name ((FolksNameDetails*) self, _tmp0_, NULL, NULL);
#line 11096 "edsf-persona.c"
}


const gchar* edsf_persona_get_contact_id (EdsfPersona* self) {
	const gchar* result;
	const gchar* _tmp0_;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_contact_id;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11111 "edsf-persona.c"
}


static void edsf_persona_set_contact_id (EdsfPersona* self, const gchar* value) {
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_if_fail (self != NULL);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (self->priv->_contact_id);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_contact_id = _tmp1_;
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_notify ((GObject *) self, "contact-id");
#line 11130 "edsf-persona.c"
}


static const gchar* edsf_persona_real_get_full_name (FolksNameDetails* base) {
	const gchar* result;
	EdsfPersona* self;
	const gchar* _tmp0_;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_full_name;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 436 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11146 "edsf-persona.c"
}


static void edsf_persona_real_set_full_name (FolksNameDetails* base, const gchar* value) {
	EdsfPersona* self;
	const gchar* _tmp0_;
#line 437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 437 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_name_details_change_full_name ((FolksNameDetails*) self, _tmp0_, NULL, NULL);
#line 11159 "edsf-persona.c"
}


static const gchar* edsf_persona_real_get_nickname (FolksNameDetails* base) {
	const gchar* result;
	EdsfPersona* self;
	const gchar* _tmp0_;
#line 459 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 459 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_nickname;
#line 459 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 459 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11175 "edsf-persona.c"
}


static void edsf_persona_real_set_nickname (FolksNameDetails* base, const gchar* value) {
	EdsfPersona* self;
	const gchar* _tmp0_;
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 460 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_name_details_change_nickname ((FolksNameDetails*) self, _tmp0_, NULL, NULL);
#line 11188 "edsf-persona.c"
}


static FolksGender edsf_persona_real_get_gender (FolksGenderDetails* base) {
	FolksGender result;
	EdsfPersona* self;
	FolksGender _tmp0_;
#line 482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_gender;
#line 482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 482 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11204 "edsf-persona.c"
}


static void edsf_persona_real_set_gender (FolksGenderDetails* base, FolksGender value) {
	EdsfPersona* self;
	FolksGender _tmp0_;
#line 483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 483 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_gender_details_change_gender ((FolksGenderDetails*) self, _tmp0_, NULL, NULL);
#line 11217 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_urls (FolksUrlDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 506 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 508 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_urls (self, TRUE, FALSE);
#line 509 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_urls_ro;
#line 509 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 509 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11235 "edsf-persona.c"
}


static void edsf_persona_real_set_urls (FolksUrlDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 511 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_url_details_change_urls ((FolksUrlDetails*) self, _tmp0_, NULL, NULL);
#line 11248 "edsf-persona.c"
}


static GeeMultiMap* edsf_persona_real_get_im_addresses (FolksImDetails* base) {
	GeeMultiMap* result;
	EdsfPersona* self;
	GeeHashMultiMap* _tmp0_;
#line 539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_im_addresses;
#line 539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = (GeeMultiMap*) _tmp0_;
#line 539 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11264 "edsf-persona.c"
}


static void edsf_persona_real_set_im_addresses (FolksImDetails* base, GeeMultiMap* value) {
	EdsfPersona* self;
	GeeMultiMap* _tmp0_;
#line 540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 540 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_im_details_change_im_addresses ((FolksImDetails*) self, _tmp0_, NULL, NULL);
#line 11277 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_groups (FolksGroupDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 565 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 567 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_groups (self, TRUE, FALSE);
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_groups_ro;
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 568 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11295 "edsf-persona.c"
}


static void edsf_persona_real_set_groups (FolksGroupDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 570 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 570 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 570 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_group_details_change_groups ((FolksGroupDetails*) self, _tmp0_, NULL, NULL);
#line 11308 "edsf-persona.c"
}


static const gchar* edsf_persona_real_get_calendar_event_id (FolksBirthdayDetails* base) {
	const gchar* result;
	EdsfPersona* self;
#line 630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = NULL;
#line 630 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11321 "edsf-persona.c"
}


static void edsf_persona_real_set_calendar_event_id (FolksBirthdayDetails* base, const gchar* value) {
	EdsfPersona* self;
	const gchar* _tmp0_;
#line 631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 631 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_birthday_details_change_calendar_event_id ((FolksBirthdayDetails*) self, _tmp0_, NULL, NULL);
#line 11334 "edsf-persona.c"
}


static GDateTime* edsf_persona_real_get_birthday (FolksBirthdayDetails* base) {
	GDateTime* result;
	EdsfPersona* self;
	GDateTime* _tmp0_;
#line 647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_birthday;
#line 647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 647 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11350 "edsf-persona.c"
}


static void edsf_persona_real_set_birthday (FolksBirthdayDetails* base, GDateTime* value) {
	EdsfPersona* self;
	GDateTime* _tmp0_;
#line 648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 648 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_birthday_details_change_birthday ((FolksBirthdayDetails*) self, _tmp0_, NULL, NULL);
#line 11363 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_roles (FolksRoleDetails* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 674 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 676 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_roles (self, TRUE, FALSE);
#line 677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_roles_ro;
#line 677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 677 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11381 "edsf-persona.c"
}


static void edsf_persona_real_set_roles (FolksRoleDetails* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 679 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 679 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 679 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_role_details_change_roles ((FolksRoleDetails*) self, _tmp0_, NULL, NULL);
#line 11394 "edsf-persona.c"
}


static gboolean edsf_persona_real_get_is_favourite (FolksFavouriteDetails* base) {
	gboolean result;
	EdsfPersona* self;
	gboolean _tmp0_;
#line 703 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 705 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_groups (self, TRUE, FALSE);
#line 706 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_is_favourite;
#line 706 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 706 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11412 "edsf-persona.c"
}


static void edsf_persona_real_set_is_favourite (FolksFavouriteDetails* base, gboolean value) {
	EdsfPersona* self;
	gboolean _tmp0_;
#line 708 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 708 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 708 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_favourite_details_change_is_favourite ((FolksFavouriteDetails*) self, _tmp0_, NULL, NULL);
#line 11425 "edsf-persona.c"
}


static GeeSet* edsf_persona_real_get_anti_links (FolksAntiLinkable* base) {
	GeeSet* result;
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_anti_links_ro;
#line 738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 738 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11441 "edsf-persona.c"
}


static void edsf_persona_real_set_anti_links (FolksAntiLinkable* base, GeeSet* value) {
	EdsfPersona* self;
	GeeSet* _tmp0_;
#line 739 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = (EdsfPersona*) base;
#line 739 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = value;
#line 739 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	folks_anti_linkable_change_anti_links ((FolksAntiLinkable*) self, _tmp0_, NULL, NULL);
#line 11454 "edsf-persona.c"
}


gboolean edsf_persona_get_in_google_personal_group (EdsfPersona* self) {
	gboolean result;
	gboolean _tmp0_;
#line 764 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 766 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update_groups (self, TRUE, TRUE);
#line 767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = self->priv->_in_google_personal_group;
#line 767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	result = _tmp0_;
#line 767 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return result;
#line 11471 "edsf-persona.c"
}


static GObject * edsf_persona_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	EdsfPersona * self;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GeeHashSet* _tmp2_;
	GeeSet* _tmp3_;
	GeeSet* _tmp4_;
	GeeHashMultiMap* _tmp5_;
	GeeHashSet* _tmp6_;
	GeeHashSet* _tmp7_;
	GeeSet* _tmp8_;
	GeeSet* _tmp9_;
	EContact* _tmp10_;
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	parent_class = G_OBJECT_CLASS (edsf_persona_parent_class);
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDSF_TYPE_PERSONA, EdsfPersona);
#line 839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = folks_persona_get_iid ((FolksPersona*) self);
#line 839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 839 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_debug ("edsf-persona.vala:839: Creating new Edsf.Persona with IID '%s'", _tmp1_);
#line 841 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_gender = FOLKS_GENDER_UNSPECIFIED;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = self->priv->_local_ids;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp2_);
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp4_ = _tmp3_;
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_local_ids_ro);
#line 842 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_local_ids_ro = _tmp4_;
#line 843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp5_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, FOLKS_TYPE_WEB_SERVICE_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_web_service_addresses);
#line 843 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_web_service_addresses = _tmp5_;
#line 848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp6_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_anti_links);
#line 848 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_anti_links = _tmp6_;
#line 849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp7_ = self->priv->_anti_links;
#line 849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp8_ = gee_abstract_set_get_read_only_view ((GeeAbstractSet*) _tmp7_);
#line 849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp9_ = _tmp8_;
#line 849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_anti_links_ro);
#line 849 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_anti_links_ro = _tmp9_;
#line 851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp10_ = self->priv->_contact;
#line 851 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_edsf_persona_update (self, _tmp10_);
#line 837 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return obj;
#line 11542 "edsf-persona.c"
}


static void edsf_persona_url_type_mapping_copy (const EdsfPersonaUrlTypeMapping* self, EdsfPersonaUrlTypeMapping* dest) {
	const gchar* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = (*self).vcard_field_name;
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 ((*dest).vcard_field_name);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	(*dest).vcard_field_name = _tmp1_;
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = (*self).folks_type;
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 ((*dest).folks_type);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	(*dest).folks_type = _tmp3_;
#line 11567 "edsf-persona.c"
}


static void edsf_persona_url_type_mapping_destroy (EdsfPersonaUrlTypeMapping* self) {
#line 100 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 ((*self).vcard_field_name);
#line 101 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 ((*self).folks_type);
#line 11576 "edsf-persona.c"
}


static EdsfPersonaUrlTypeMapping* edsf_persona_url_type_mapping_dup (const EdsfPersonaUrlTypeMapping* self) {
	EdsfPersonaUrlTypeMapping* dup;
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	dup = g_new0 (EdsfPersonaUrlTypeMapping, 1);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_url_type_mapping_copy (self, dup);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	return dup;
#line 11588 "edsf-persona.c"
}


static void edsf_persona_url_type_mapping_free (EdsfPersonaUrlTypeMapping* self) {
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_url_type_mapping_destroy (self);
#line 98 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_free (self);
#line 11597 "edsf-persona.c"
}


static GType edsf_persona_url_type_mapping_get_type (void) {
	static volatile gsize edsf_persona_url_type_mapping_type_id__volatile = 0;
	if (g_once_init_enter (&edsf_persona_url_type_mapping_type_id__volatile)) {
		GType edsf_persona_url_type_mapping_type_id;
		edsf_persona_url_type_mapping_type_id = g_boxed_type_register_static ("EdsfPersonaUrlTypeMapping", (GBoxedCopyFunc) edsf_persona_url_type_mapping_dup, (GBoxedFreeFunc) edsf_persona_url_type_mapping_free);
		g_once_init_leave (&edsf_persona_url_type_mapping_type_id__volatile, edsf_persona_url_type_mapping_type_id);
	}
	return edsf_persona_url_type_mapping_type_id__volatile;
}


static void edsf_persona_class_init (EdsfPersonaClass * klass) {
	GTimeZone* _tmp0_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_parent_class = g_type_class_peek_parent (klass);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_type_class_add_private (klass, sizeof (EdsfPersonaPrivate));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	FOLKS_PERSONA_CLASS (klass)->linkable_property_to_links = edsf_persona_real_linkable_property_to_links;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	FOLKS_PERSONA_CLASS (klass)->get_linkable_properties = edsf_persona_real_get_linkable_properties;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	FOLKS_PERSONA_CLASS (klass)->get_writeable_properties = edsf_persona_real_get_writeable_properties;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_edsf_persona_get_property;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_edsf_persona_set_property;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	G_OBJECT_CLASS (klass)->constructor = edsf_persona_constructor;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	G_OBJECT_CLASS (klass)->finalize = edsf_persona_finalize;
#line 11632 "edsf-persona.c"
	/**
	   * The e-d-s contact represented by this Persona
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_CONTACT, g_param_spec_object ("contact", "contact", "contact", e_contact_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 11638 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_WEB_SERVICE_ADDRESSES, g_param_spec_object ("web-service-addresses", "web-service-addresses", "web-service-addresses", GEE_TYPE_MULTI_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11644 "edsf-persona.c"
	/**
	   * IDs used to link {@link Edsf.Persona}s.
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_LOCAL_IDS, g_param_spec_object ("local-ids", "local-ids", "local-ids", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11650 "edsf-persona.c"
	/**
	   * The postal addresses of the contact.
	   *
	   * A list of postal addresses associated to the contact.
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_POSTAL_ADDRESSES, g_param_spec_object ("postal-addresses", "postal-addresses", "postal-addresses", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11660 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_PHONE_NUMBERS, g_param_spec_object ("phone-numbers", "phone-numbers", "phone-numbers", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11668 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_EMAIL_ADDRESSES, g_param_spec_object ("email-addresses", "email-addresses", "email-addresses", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11676 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_NOTES, g_param_spec_object ("notes", "notes", "notes", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11684 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_LINKABLE_PROPERTIES, g_param_spec_boxed ("linkable-properties", "linkable-properties", "linkable-properties", G_TYPE_STRV, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 11692 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_WRITEABLE_PROPERTIES, g_param_spec_boxed ("writeable-properties", "writeable-properties", "writeable-properties", G_TYPE_STRV, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 11700 "edsf-persona.c"
	/**
	   * An avatar for the Persona.
	   *
	   * See {@link Folks.AvatarDetails.avatar}.
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_AVATAR, g_param_spec_object ("avatar", "avatar", "avatar", g_loadable_icon_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11710 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_STRUCTURED_NAME, g_param_spec_object ("structured-name", "structured-name", "structured-name", FOLKS_TYPE_STRUCTURED_NAME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11718 "edsf-persona.c"
	/**
	   * The e-d-s contact uid
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_CONTACT_ID, g_param_spec_string ("contact-id", "contact-id", "contact-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
#line 11726 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_FULL_NAME, g_param_spec_string ("full-name", "full-name", "full-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11734 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_NICKNAME, g_param_spec_string ("nickname", "nickname", "nickname", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11742 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_GENDER, g_param_spec_enum ("gender", "gender", "gender", FOLKS_TYPE_GENDER, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11750 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_URLS, g_param_spec_object ("urls", "urls", "urls", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11758 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_IM_ADDRESSES, g_param_spec_object ("im-addresses", "im-addresses", "im-addresses", GEE_TYPE_MULTI_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11766 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.0
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_GROUPS, g_param_spec_object ("groups", "groups", "groups", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11774 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * e-d-s has no equivalent field, so this is unsupported.
	   *
	   * @since 0.6.2
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_CALENDAR_EVENT_ID, g_param_spec_string ("calendar-event-id", "calendar-event-id", "calendar-event-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11784 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.2
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_BIRTHDAY, g_param_spec_boxed ("birthday", "birthday", "birthday", G_TYPE_DATE_TIME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11792 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.6.2
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_ROLES, g_param_spec_object ("roles", "roles", "roles", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11800 "edsf-persona.c"
	/**
	   * Whether this contact is a user-defined favourite.
	   *
	   * @since 0.6.5
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_IS_FAVOURITE, g_param_spec_boolean ("is-favourite", "is-favourite", "is-favourite", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11808 "edsf-persona.c"
	/**
	   * {@inheritDoc}
	   *
	   * @since 0.7.3
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_ANTI_LINKS, g_param_spec_object ("anti-links", "anti-links", "anti-links", GEE_TYPE_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11816 "edsf-persona.c"
	/**
	   * Whether this contact is in the “My Contacts” section of the user’s address
	   * book, rather than the “Other” section.
	   *
	   * @since 0.7.3
	   */
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), EDSF_PERSONA_IN_GOOGLE_PERSONAL_GROUP, g_param_spec_boolean ("in-google-personal-group", "in-google-personal-group", "in-google-personal-group", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 152 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_static_rec_mutex_init (&__lock_edsf_persona__im_eds_map);
#line 636 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = g_time_zone_new_local ();
#line 636 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona__local_time_zone = _tmp0_;
#line 11831 "edsf-persona.c"
}


static void edsf_persona_folks_anti_linkable_interface_init (FolksAntiLinkableIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_anti_linkable_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_anti_links = (void (*)(FolksAntiLinkable*, GeeSet*, GError**)) edsf_persona_real_change_anti_links;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_anti_links_finish = edsf_persona_real_change_anti_links_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_anti_links = edsf_persona_real_get_anti_links;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_anti_links = edsf_persona_real_set_anti_links;
#line 11846 "edsf-persona.c"
}


static void edsf_persona_folks_avatar_details_interface_init (FolksAvatarDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_avatar_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_avatar = (void (*)(FolksAvatarDetails*, GLoadableIcon*, GError**)) edsf_persona_real_change_avatar;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_avatar_finish = edsf_persona_real_change_avatar_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_avatar = edsf_persona_real_get_avatar;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_avatar = edsf_persona_real_set_avatar;
#line 11861 "edsf-persona.c"
}


static void edsf_persona_folks_birthday_details_interface_init (FolksBirthdayDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_birthday_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_birthday = (void (*)(FolksBirthdayDetails*, GDateTime*, GError**)) edsf_persona_real_change_birthday;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_birthday_finish = edsf_persona_real_change_birthday_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_calendar_event_id = edsf_persona_real_get_calendar_event_id;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_calendar_event_id = edsf_persona_real_set_calendar_event_id;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_birthday = edsf_persona_real_get_birthday;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_birthday = edsf_persona_real_set_birthday;
#line 11880 "edsf-persona.c"
}


static void edsf_persona_folks_email_details_interface_init (FolksEmailDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_email_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_email_addresses = (void (*)(FolksEmailDetails*, GeeSet*, GError**)) edsf_persona_real_change_email_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_email_addresses_finish = edsf_persona_real_change_email_addresses_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_email_addresses = edsf_persona_real_get_email_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_email_addresses = edsf_persona_real_set_email_addresses;
#line 11895 "edsf-persona.c"
}


static void edsf_persona_folks_favourite_details_interface_init (FolksFavouriteDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_favourite_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_is_favourite = (void (*)(FolksFavouriteDetails*, gboolean, GError**)) edsf_persona_real_change_is_favourite;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_is_favourite_finish = edsf_persona_real_change_is_favourite_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_is_favourite = edsf_persona_real_get_is_favourite;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_is_favourite = edsf_persona_real_set_is_favourite;
#line 11910 "edsf-persona.c"
}


static void edsf_persona_folks_gender_details_interface_init (FolksGenderDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_gender_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_gender = (void (*)(FolksGenderDetails*, FolksGender, GError**)) edsf_persona_real_change_gender;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_gender_finish = edsf_persona_real_change_gender_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_gender = edsf_persona_real_get_gender;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_gender = edsf_persona_real_set_gender;
#line 11925 "edsf-persona.c"
}


static void edsf_persona_folks_group_details_interface_init (FolksGroupDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_group_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_group = (void (*)(FolksGroupDetails*, const gchar*, gboolean, GError**)) edsf_persona_real_change_group;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_group_finish = edsf_persona_real_change_group_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_groups = (void (*)(FolksGroupDetails*, GeeSet*, GError**)) edsf_persona_real_change_groups;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_groups_finish = edsf_persona_real_change_groups_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_groups = edsf_persona_real_get_groups;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_groups = edsf_persona_real_set_groups;
#line 11944 "edsf-persona.c"
}


static void edsf_persona_folks_im_details_interface_init (FolksImDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_im_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_im_addresses = (void (*)(FolksImDetails*, GeeMultiMap*, GError**)) edsf_persona_real_change_im_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_im_addresses_finish = edsf_persona_real_change_im_addresses_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_im_addresses = edsf_persona_real_get_im_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_im_addresses = edsf_persona_real_set_im_addresses;
#line 11959 "edsf-persona.c"
}


static void edsf_persona_folks_local_id_details_interface_init (FolksLocalIdDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_local_id_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_local_ids = (void (*)(FolksLocalIdDetails*, GeeSet*, GError**)) edsf_persona_real_change_local_ids;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_local_ids_finish = edsf_persona_real_change_local_ids_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_local_ids = edsf_persona_real_get_local_ids;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_local_ids = edsf_persona_real_set_local_ids;
#line 11974 "edsf-persona.c"
}


static void edsf_persona_folks_name_details_interface_init (FolksNameDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_name_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_structured_name = (void (*)(FolksNameDetails*, FolksStructuredName*, GError**)) edsf_persona_real_change_structured_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_structured_name_finish = edsf_persona_real_change_structured_name_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_full_name = (void (*)(FolksNameDetails*, const gchar*, GError**)) edsf_persona_real_change_full_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_full_name_finish = edsf_persona_real_change_full_name_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_nickname = (void (*)(FolksNameDetails*, const gchar*, GError**)) edsf_persona_real_change_nickname;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_nickname_finish = edsf_persona_real_change_nickname_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_structured_name = edsf_persona_real_get_structured_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_structured_name = edsf_persona_real_set_structured_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_full_name = edsf_persona_real_get_full_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_full_name = edsf_persona_real_set_full_name;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_nickname = edsf_persona_real_get_nickname;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_nickname = edsf_persona_real_set_nickname;
#line 12005 "edsf-persona.c"
}


static void edsf_persona_folks_note_details_interface_init (FolksNoteDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_note_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_notes = (void (*)(FolksNoteDetails*, GeeSet*, GError**)) edsf_persona_real_change_notes;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_notes_finish = edsf_persona_real_change_notes_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_notes = edsf_persona_real_get_notes;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_notes = edsf_persona_real_set_notes;
#line 12020 "edsf-persona.c"
}


static void edsf_persona_folks_phone_details_interface_init (FolksPhoneDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_phone_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_phone_numbers = (void (*)(FolksPhoneDetails*, GeeSet*, GError**)) edsf_persona_real_change_phone_numbers;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_phone_numbers_finish = edsf_persona_real_change_phone_numbers_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_phone_numbers = edsf_persona_real_get_phone_numbers;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_phone_numbers = edsf_persona_real_set_phone_numbers;
#line 12035 "edsf-persona.c"
}


static void edsf_persona_folks_role_details_interface_init (FolksRoleDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_role_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_roles = (void (*)(FolksRoleDetails*, GeeSet*, GError**)) edsf_persona_real_change_roles;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_roles_finish = edsf_persona_real_change_roles_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_roles = edsf_persona_real_get_roles;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_roles = edsf_persona_real_set_roles;
#line 12050 "edsf-persona.c"
}


static void edsf_persona_folks_url_details_interface_init (FolksUrlDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_url_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_urls = (void (*)(FolksUrlDetails*, GeeSet*, GError**)) edsf_persona_real_change_urls;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_urls_finish = edsf_persona_real_change_urls_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_urls = edsf_persona_real_get_urls;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_urls = edsf_persona_real_set_urls;
#line 12065 "edsf-persona.c"
}


static void edsf_persona_folks_postal_address_details_interface_init (FolksPostalAddressDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_postal_address_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_postal_addresses = (void (*)(FolksPostalAddressDetails*, GeeSet*, GError**)) edsf_persona_real_change_postal_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_postal_addresses_finish = edsf_persona_real_change_postal_addresses_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_postal_addresses = edsf_persona_real_get_postal_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_postal_addresses = edsf_persona_real_set_postal_addresses;
#line 12080 "edsf-persona.c"
}


static void edsf_persona_folks_web_service_details_interface_init (FolksWebServiceDetailsIface * iface) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	edsf_persona_folks_web_service_details_parent_iface = g_type_interface_peek_parent (iface);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_web_service_addresses = (void (*)(FolksWebServiceDetails*, GeeMultiMap*, GError**)) edsf_persona_real_change_web_service_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->change_web_service_addresses_finish = edsf_persona_real_change_web_service_addresses_finish;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->get_web_service_addresses = edsf_persona_real_get_web_service_addresses;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	iface->set_web_service_addresses = edsf_persona_real_set_web_service_addresses;
#line 12095 "edsf-persona.c"
}


static void edsf_persona_instance_init (EdsfPersona * self) {
	GeeHashSet* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	GeeHashMultiMap* _tmp3_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv = EDSF_PERSONA_GET_PRIVATE (self);
#line 195 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
#line 195 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_local_ids = _tmp0_;
#line 226 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_postal_addresses = NULL;
#line 227 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_postal_addresses_ro = NULL;
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_phone_numbers = NULL;
#line 260 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_phone_numbers_ro = NULL;
#line 289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_email_addresses = NULL;
#line 290 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_email_addresses_ro = NULL;
#line 320 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_notes = NULL;
#line 321 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_notes_ro = NULL;
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_avatar = NULL;
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_structured_name = NULL;
#line 427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = g_strdup ("");
#line 427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_full_name = _tmp1_;
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp2_ = g_strdup ("");
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_nickname = _tmp2_;
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_urls = NULL;
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_urls_ro = NULL;
#line 526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp3_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, FOLKS_TYPE_IM_FIELD_DETAILS, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, (GHashFunc) folks_abstract_field_details_hash, (GEqualFunc) folks_abstract_field_details_equal);
#line 526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_im_addresses = _tmp3_;
#line 554 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_groups = NULL;
#line 555 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_groups_ro = NULL;
#line 638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_birthday = NULL;
#line 663 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_roles = NULL;
#line 664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_roles_ro = NULL;
#line 693 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self->priv->_is_favourite = FALSE;
#line 12158 "edsf-persona.c"
}


static void edsf_persona_finalize (GObject* obj) {
	EdsfPersona * self;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDSF_TYPE_PERSONA, EdsfPersona);
#line 903 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp0_ = folks_persona_get_uid ((FolksPersona*) self);
#line 903 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_tmp1_ = _tmp0_;
#line 903 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	g_debug ("edsf-persona.vala:903: Destroying Edsf.Persona '%s': %p", _tmp1_, self);
#line 154 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_contact);
#line 168 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_web_service_addresses);
#line 195 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_local_ids);
#line 196 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_local_ids_ro);
#line 226 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_postal_addresses);
#line 227 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_postal_addresses_ro);
#line 259 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_phone_numbers);
#line 260 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_phone_numbers_ro);
#line 289 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_email_addresses);
#line 290 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_email_addresses_ro);
#line 320 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_notes);
#line 321 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_notes_ro);
#line 370 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_avatar);
#line 395 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_structured_name);
#line 425 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (self->priv->_contact_id);
#line 427 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (self->priv->_full_name);
#line 450 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_free0 (self->priv->_nickname);
#line 496 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_urls);
#line 497 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_urls_ro);
#line 526 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_im_addresses);
#line 554 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_groups);
#line 555 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_groups_ro);
#line 638 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_date_time_unref0 (self->priv->_birthday);
#line 663 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_roles);
#line 664 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_roles_ro);
#line 727 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_anti_links);
#line 728 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	_g_object_unref0 (self->priv->_anti_links_ro);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	G_OBJECT_CLASS (edsf_persona_parent_class)->finalize (obj);
#line 12230 "edsf-persona.c"
}


/**
 * A persona subclass which represents a single EDS contact.
 *
 * Each {@link Edsf.Persona} instance represents a single EDS {@link E.Contact}.
 * When the contact is modified (either by this folks client, or a different
 * client), the {@link Edsf.Persona} remains the same, but is assigned a new
 * {@link E.Contact}. It then updates its properties from this new contact.
 */
GType edsf_persona_get_type (void) {
	static volatile gsize edsf_persona_type_id__volatile = 0;
	if (g_once_init_enter (&edsf_persona_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EdsfPersonaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edsf_persona_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EdsfPersona), 0, (GInstanceInitFunc) edsf_persona_instance_init, NULL };
		static const GInterfaceInfo folks_anti_linkable_info = { (GInterfaceInitFunc) edsf_persona_folks_anti_linkable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_avatar_details_info = { (GInterfaceInitFunc) edsf_persona_folks_avatar_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_birthday_details_info = { (GInterfaceInitFunc) edsf_persona_folks_birthday_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_email_details_info = { (GInterfaceInitFunc) edsf_persona_folks_email_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_favourite_details_info = { (GInterfaceInitFunc) edsf_persona_folks_favourite_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_gender_details_info = { (GInterfaceInitFunc) edsf_persona_folks_gender_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_group_details_info = { (GInterfaceInitFunc) edsf_persona_folks_group_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_im_details_info = { (GInterfaceInitFunc) edsf_persona_folks_im_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_local_id_details_info = { (GInterfaceInitFunc) edsf_persona_folks_local_id_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_name_details_info = { (GInterfaceInitFunc) edsf_persona_folks_name_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_note_details_info = { (GInterfaceInitFunc) edsf_persona_folks_note_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_phone_details_info = { (GInterfaceInitFunc) edsf_persona_folks_phone_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_role_details_info = { (GInterfaceInitFunc) edsf_persona_folks_role_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_url_details_info = { (GInterfaceInitFunc) edsf_persona_folks_url_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_postal_address_details_info = { (GInterfaceInitFunc) edsf_persona_folks_postal_address_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo folks_web_service_details_info = { (GInterfaceInitFunc) edsf_persona_folks_web_service_details_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType edsf_persona_type_id;
		edsf_persona_type_id = g_type_register_static (FOLKS_TYPE_PERSONA, "EdsfPersona", &g_define_type_info, 0);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_ANTI_LINKABLE, &folks_anti_linkable_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_AVATAR_DETAILS, &folks_avatar_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_BIRTHDAY_DETAILS, &folks_birthday_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_EMAIL_DETAILS, &folks_email_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_FAVOURITE_DETAILS, &folks_favourite_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_GENDER_DETAILS, &folks_gender_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_GROUP_DETAILS, &folks_group_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_IM_DETAILS, &folks_im_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_LOCAL_ID_DETAILS, &folks_local_id_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_NAME_DETAILS, &folks_name_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_NOTE_DETAILS, &folks_note_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_PHONE_DETAILS, &folks_phone_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_ROLE_DETAILS, &folks_role_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_URL_DETAILS, &folks_url_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_POSTAL_ADDRESS_DETAILS, &folks_postal_address_details_info);
		g_type_add_interface_static (edsf_persona_type_id, FOLKS_TYPE_WEB_SERVICE_DETAILS, &folks_web_service_details_info);
		g_once_init_leave (&edsf_persona_type_id__volatile, edsf_persona_type_id);
	}
	return edsf_persona_type_id__volatile;
}


static void _vala_edsf_persona_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	EdsfPersona * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, EDSF_TYPE_PERSONA, EdsfPersona);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (property_id) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CONTACT:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, edsf_persona_get_contact (self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_WEB_SERVICE_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_web_service_details_get_web_service_addresses ((FolksWebServiceDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_LOCAL_IDS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_local_id_details_get_local_ids ((FolksLocalIdDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_POSTAL_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_postal_address_details_get_postal_addresses ((FolksPostalAddressDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_PHONE_NUMBERS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_phone_details_get_phone_numbers ((FolksPhoneDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_EMAIL_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_email_details_get_email_addresses ((FolksEmailDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_NOTES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_note_details_get_notes ((FolksNoteDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_LINKABLE_PROPERTIES:
#line 12335 "edsf-persona.c"
		{
			int length;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_value_set_boxed (value, folks_persona_get_linkable_properties ((FolksPersona*) self, &length));
#line 12340 "edsf-persona.c"
		}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_WRITEABLE_PROPERTIES:
#line 12346 "edsf-persona.c"
		{
			int length;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
			g_value_set_boxed (value, folks_persona_get_writeable_properties ((FolksPersona*) self, &length));
#line 12351 "edsf-persona.c"
		}
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_AVATAR:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_avatar_details_get_avatar ((FolksAvatarDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_STRUCTURED_NAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_name_details_get_structured_name ((FolksNameDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CONTACT_ID:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_string (value, edsf_persona_get_contact_id (self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_FULL_NAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_string (value, folks_name_details_get_full_name ((FolksNameDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_NICKNAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_string (value, folks_name_details_get_nickname ((FolksNameDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_GENDER:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_enum (value, folks_gender_details_get_gender ((FolksGenderDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_URLS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_url_details_get_urls ((FolksUrlDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_IM_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_im_details_get_im_addresses ((FolksImDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_GROUPS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_group_details_get_groups ((FolksGroupDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CALENDAR_EVENT_ID:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_string (value, folks_birthday_details_get_calendar_event_id ((FolksBirthdayDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_BIRTHDAY:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_boxed (value, folks_birthday_details_get_birthday ((FolksBirthdayDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_ROLES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_role_details_get_roles ((FolksRoleDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_IS_FAVOURITE:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_boolean (value, folks_favourite_details_get_is_favourite ((FolksFavouriteDetails*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_ANTI_LINKS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_object (value, folks_anti_linkable_get_anti_links ((FolksAntiLinkable*) self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_IN_GOOGLE_PERSONAL_GROUP:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		g_value_set_boolean (value, edsf_persona_get_in_google_personal_group (self));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 12445 "edsf-persona.c"
		default:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 12451 "edsf-persona.c"
	}
}


static void _vala_edsf_persona_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	EdsfPersona * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, EDSF_TYPE_PERSONA, EdsfPersona);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
	switch (property_id) {
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CONTACT:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		edsf_persona_set_contact (self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_WEB_SERVICE_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_web_service_details_set_web_service_addresses ((FolksWebServiceDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_LOCAL_IDS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_local_id_details_set_local_ids ((FolksLocalIdDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_POSTAL_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_postal_address_details_set_postal_addresses ((FolksPostalAddressDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_PHONE_NUMBERS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_phone_details_set_phone_numbers ((FolksPhoneDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_EMAIL_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_email_details_set_email_addresses ((FolksEmailDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_NOTES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_note_details_set_notes ((FolksNoteDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_AVATAR:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_avatar_details_set_avatar ((FolksAvatarDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_STRUCTURED_NAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_name_details_set_structured_name ((FolksNameDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CONTACT_ID:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		edsf_persona_set_contact_id (self, g_value_get_string (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_FULL_NAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_name_details_set_full_name ((FolksNameDetails*) self, g_value_get_string (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_NICKNAME:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_name_details_set_nickname ((FolksNameDetails*) self, g_value_get_string (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_GENDER:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_gender_details_set_gender ((FolksGenderDetails*) self, g_value_get_enum (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_URLS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_url_details_set_urls ((FolksUrlDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_IM_ADDRESSES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_im_details_set_im_addresses ((FolksImDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_GROUPS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_group_details_set_groups ((FolksGroupDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_CALENDAR_EVENT_ID:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_birthday_details_set_calendar_event_id ((FolksBirthdayDetails*) self, g_value_get_string (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_BIRTHDAY:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_birthday_details_set_birthday ((FolksBirthdayDetails*) self, g_value_get_boxed (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_ROLES:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_role_details_set_roles ((FolksRoleDetails*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_IS_FAVOURITE:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_favourite_details_set_is_favourite ((FolksFavouriteDetails*) self, g_value_get_boolean (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		case EDSF_PERSONA_ANTI_LINKS:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		folks_anti_linkable_set_anti_links ((FolksAntiLinkable*) self, g_value_get_object (value));
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 12587 "edsf-persona.c"
		default:
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 37 "/home/jpwhiting/devel/collabora/src/gnome/folks/backends/eds/lib/edsf-persona.vala"
		break;
#line 12593 "edsf-persona.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;
}



